Tag: 字典

ios用字典sorting数组

我有一个NSMutablearray,由[从JSON请求]字典填充 我需要根据字典中的键组织数组 词典 IdReward = 198; Name = "Online R d"; RewardImageUrl = "/FileStorimage=1206"; WinRewardPoints = 250; 所以数组由不同的字典组成,具有上述forms,我需要最大限度地组织WinRewardPoints 我已经看到了这个答案 ,但不明白如何采取它为我的情况下, 非常感谢!

EXC_BAD_ACCESS在使用它来评估NSExpression之后更新Swift字典时

我正在使用字典来评估一个expression式,当expression式有variables,而字典实际上是由NSExpression使用的时候,发生了一些事情,当我试图更新字典的时候,我得到了EXC_BAD_ACCESS,这只发生在debuggingiPhone6时,而不是模拟器,而不是在iPhone 4S。 let strExpression = "a+b+20" let exp = NSExpression(format:strExpression) self.dictionary = ["a":10.0, "b":15.0, "c":25.0] let value:AnyObject = exp.expressionValueWithObject(self.dictionary, context: nil) let doubleValue = value as Double self.dictionary.updateValue(doubleValue, forKey: "c") 奇怪的是,如果我在创build字典之后添加这行,那么它很好: let newDic = self.dictionary 我,使用iOS 8.1。 提前致谢!

在Swift中对NSDictionary对象的NSArray进行sorting

我已经从API中获取了一些JSON数据,现在有一个NSArray充满了NSDictionary对象。 每个NSDictionary都有一个“name”的键/值对,我想通过该键/值对对NSArray进行sorting。 我已经做了相当多的search,但没有我遇到的解决scheme似乎在新的Swift语言工作,我不知道是否可能是一个错误或不… 我试过了: var descriptor: NSSortDescriptor = NSSortDescriptor(key: "name", ascending: true) var sortedResults: NSArray = results.sortedArrayUsingDescriptors(NSSortDescriptor(key: "name", ascending: true)) 但是,这不会编译指出“NSSortDescriptor不能转换为[AnyObject]”。 有什么build议?

sortinganyobject Swift 3的数组

我想sortinganyobject的数组,但无法做到这一点。我从Parse数据库以AnyObject格式获取一些数据。 根据以下数据,我想按“名称”sorting此AnyObject数组。 以下是我的代码 – let sortedArray = (myArray as! [AnyObject]).sorted(by: { (dictOne, dictTwo) -> Bool in let d1 = dictOne["NAME"]! as AnyObject; // this line gives error "Ambiguous use of subscript" let d2 = dictTwo["NAME"]! as AnyObject; // this line gives error "Ambiguous use of subscript" return d1 < d2 }) myArray看起来像这样 – { LINK […]

用于返回组合字典的字典扩展

我试图以下列方式扩展Swift的词典类: extension Dictionary { func merge<K, V>(dict: [K:V]) -> Dictionary<K, V> { var combinedDict: [K:V] = [:] for (k, v) in self { combinedDict[k] = v } for (k, v) in dict { combinedDict[k] = v } return combinedDict } } 第一个for循环给我的错误:“不能下标types'[K:V]'的值types'Key'的索引”,但第二个循环是好的。 我甚至评论了第一个检查,第二个仍然有效。 任何人都知道问题是什么? 谢谢!

Swift:'(NSObject,AnyObject)'没有一个名为'subscript'的成员

我试图从远程通知的userInfo字典中提取徽章值。 我读了很多post,发现了我的问题的解决scheme,但我很不满意! 所以这里是我的数据结构(我删除了无用的行): { aps = { badge = 7 } } 为了从我的userInfo提取这个数字'7',我想要做到以下几点: self.updateAppIcon(userInfo["aps"]["badge"] as? Int) 但是,我当然得到以下错误: Swift:'(NSObject,AnyObject)'没有一个名为'subscript'的成员 如果我没有错,那是因为[]返回一个不能被解释为另一个字典的AnyObject。 一个工作解决scheme将是做到以下几点: func handleRemoteNotifiation(userInfo: [NSObject : AnyObject]) { if let aps: AnyObject = userInfo["aps"] { if let apsDict = aps as? [String : AnyObject]{ if let badge: AnyObject = apsDict["badge"] { self.updateAppIconBadgeNumber(badge as? Int) } } } […]

是否有可能创build从plist读入的对象的可变版本

我正在阅读我的应用程序plist,在顶层是一个数组。 确保数组开始为可变是很简单的 self.plistData = [[NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"myDataSource" ofType:@"plist"]] mutableCopy]; 数组中的每个元素都是另一个数组,每个数组都包含一个字典。 基于表格单元格select,我正在改变选定索引处字典的属性: [self.cellDescriptors[indexPath.section][indexOfTappedRow] setValue:@"YES" forKey: @"isSelected"]; 我收到错误'-[__NSCFDictionary removeObjectForKey:]: mutating method sent to immutable object'当我尝试更改字典值时, '-[__NSCFDictionary removeObjectForKey:]: mutating method sent to immutable object' 。 如果由plist读入的NSDictionary是不可变的,那么错误是有意义的。 有没有办法从plist中读取内容,并确保任何数组或字典被读作可变版本?

在数组上映射一个void(非返回函数)

标题是不言而喻的,是否有任何映射的方式,例如,通过UIGestureRecognizers数组addGestureRecognizer 。 我一直在摆弄各种各样的 recognizers.map(MyWebOutlet.addGestureRecognizer) 但由于内置映射必须返回另一个数组需要返回某种值的函数。 我应该在另一个返回函数中包装addGestureRecognizer还是另一个更聪明的方法?

用字典数据迭代Dictionary并将其添加到数组中

我有一个包含多个字典数据的字典: { 1455201094707 = { }; 1455201116404 = { }: 1455201287530 = { }; } 我必须快速地将所有这些字典添加到数组中。 如何迭代字典为: for let tempDict in dataDictionary { self.tempArray.addObject(tempDict) } 错误“让模式不能出现嵌套在已经不可变的上下文中” for tempDict in dataDictionary as! NSMutableDictionary { self.tempArray.addObject(tempDict) } 错误:参数types元素(aka(key:AnyObject,value:AnyObject))参数types不符合预期typesanyobject for tempDict in dataDictionary as! NSMutableDictionary { self.tempArray.addObject(tempDict as! AnyObject) } 错误:无法将types'(Swift.AnyObject,Swift.AnyObject)'(0x1209dee18)的值转换为'Swift.AnyObject'(0x11d57d018)。 for tempDict in dataDictionary { self.tempArray.addObject(tempDict) } […]

在Swift 2中对字典数组进行sorting

我读过很多关于SO的文章,我仍然难倒了! 我有一个字典arrays,见下面: var myArray = [[String:AnyObject]]() myArray.append([ "caseNumber" : "12349", "formType" : "Advanced", "caseStatus" : "Approved", "caseDetails" : "blah blah", "caseLUD" : NSDate(), "friendlyName" : "name1" ]) myArray.append([ "caseNumber" : "12345", "formType" : "Standard", "caseStatus" : "On-Hold", "caseDetails" : "blah blah", "caseLUD" : NSDate(), "friendlyName" : "name2" ]) myArray.append([ "caseNumber" : "12342", "formType" : "Normal", […]