草庐IT

swift - 当为具有符合自定义类的成员的对象设置值时,类不符合键的键值编码

我正在尝试在一个对象上使用setValuesForKeys,该对象的成员符合自定义类,这就是为什么我相信我会收到以下错误,我该如何解决这个问题?如果简单的话,我更喜欢以native方式执行此操作,或者我可以使用任何库/框架来解决此问题。thisclassisnotkeyvaluecoding-compliantforthekeyavailabilityTimesDictfuncconvertJSONDataToSwiftObject(){letregistrationDataDict=["firstName":"JoeBloggs","alternateNames":["Joe","B

json - 使用 Codable 协议(protocol)解析包含日期作为键的 Stock API

我正在尝试解析来自AlphaVantage的股票api。这是一个响应的样子:APIResponseDemo我设置了四个类用于解码和编码:股票元数据时间序列高开低收我认为问题出在时间序列类中,因为我想获取一个数组日期作为键,每个日期都包含开盘价、收盘价、高价、低值。这三个类都符合Codable协议(protocol)。我更改了枚举中​​键的值,以便它可以匹配正确的JSONResponse。varstocks=[Stocks]()overridefuncviewDidLoad(){super.viewDidLoad()view.backgroundColor=.redloadURL()}f

json - 如何使用 ObjectMapper 转换带有动态键的 JSON?

我目前正在使用ObjectMapperforSwift将JSON对象从API映射到模型对象我的api返回一个像这样的JSON:{"tracks":{"1322":{"id":1322,"gain":80},"1323":{"id":1323,"gain":80},"1324":{"id":1324,"gain":80},"1325":{"id":1325,"gain":80}}} 最佳答案 我遇到了类似的问题。不幸的是,我还没有找到一种不使用索引或硬编码key来选择内容的方法。但对于您的情况,您可以这样做:funcmapping(m

Swift 为什么退格键的 strcmp 返回 -92?

我试图检测UITextfieldDelegate内部的退格键。并找到了这个答案。https://stackoverflow.com/a/49294870/911528它工作正常。但我不知道这个函数内部发生了什么。letchar=string.cString(using:String.Encoding.utf8)!letisBackSpace=strcmp(char,"\\b")ifisBackSpace==-92{print("Backspacewaspressed")returnfalse}我不知道为什么退格的cString结果是0。我可以在XCode上进行调试。请检查屏幕截图。我不

swift - 创建 Comparable 和 Hashable 键的字典?

这似乎是一个非常基本的问题,但一直无法找到答案。这是我试过的varitems=[Comparable:[NSObject]]()varitems=[Comparable,Hashable:[NSObject]]()varitems=[protocol:[NSObject]]()typealeasKey=TwhereT:Hashable,T:Comparablevaritems=[Key:[NSObject]]() 最佳答案 Comparable和Hashable都不能自己作为类型使用,因为它们的定义中包含了Self,只能作为通用约束

swift - 具有单个值的多个键的字典 - Swift

我正在尝试创建一个应用程序,根据预先确定的映射将英文字母映射到各种RNA密码子(A、C、U或G的序列,每组3个)。要将英语转换为RNA,字典如下所示:varenglishTomRNA:[Character:[String]]=["A":["UUU","UAC"],"Q":["UUA"],"S":["UCU","UCC","UCA"]]等等如您所见,任何给定的英文字符都有多个值(代表多基因基因型的生物学特征),我可以毫无问题地转换成这些值。然而,我在实现时确实遇到了一个问题,那就是用另一种方式隐藏的字典。我最初使用switch:case语句是这样的:forcodoninpreEnglis

swift - 如何在没有字典键的情况下获取值?

vardictionary:Dictionary=["title":"Berlin","description":"Berlinsquare","createdBy":"Mathias","coordinates":["fddfhsg":["latitude":56.34,"longitude":53.44]]]字典["坐标"]我需要获取纬度和经度值,但我没有字典的键值("fddfhsg")。此key由Firebase数据库生成。感谢您的帮助。 最佳答案 您可以在不知道此键的情况下获取这些值:将“坐标”转换为正确的字典类型,然后使用

ios - 使用 Codable 解码具有相似键的嵌套 JSON

我正在尝试解码嵌套的JSON。问题是顶级和嵌套键的名称相似。喜欢:{success:boolmessage:Stringerror:{message:String}}我会从后端收到成功消息或失败消息。如果成功为真,则不会返回错误key,如果为假,则将错误与消息一起发送。如果成功了:{success:truemessage:"Successmessage"}如果失败:{success:falseerror:{message:"Failedmessage"}}以上就是返回的json。这是我的解码结构:structloginResponse:Codable{varsuccess:Boolva

dictionary - 从 Swift 字典中一次提取多个键的值

我正在研究一些可能的方法来一次从Swift字典中提取多个值。目标是做这样的事情:vardict=[1:"one",2:"two",3:"three"]dict.multiSubscript(2...4)//Shouldyield["two","three",nil]或者这个:dict.multiSubscript([1,2])//Shouldyield["one","two"]换句话说,似乎应该可以为任何符合SequenceType的下标类型通用地实现multiSubscript()。但是,Swift似乎不喜欢下面的实现,错误信息也不是很清楚:extensionDictionary{f

swift - 如何扩展允许使用带有动态键的下标的字典?

extensionDictionarywhereKey:ExpressibleByStringLiteral,Value:Any{funcdate(forKeykey:String)->Date?{returnself[key]as?Date}}letdictionary:[String:Any]=["mydate":Date(),"otherkey":"Rofl"]dictionary.date(forKey:"mydate")//shouldreturnaDate?object//我收到对成员“下标”的错误引用不明确我怎样才能让我的扩展允许我给出一个键并使用下标而不是文字,而是字符