Tag: nsmutabledictionary

NSXMLParser如何将NSMutableDictionary传递给NSMutableArray

我想通过我创buildnsdictionary到nsmutablearray,但我不知道什么时候或如何在nsxmlparser委托做到这一点。 这是我迄今为止所做的 #pragma mark – Parsing lifecycle – (void)startTheParsingProcess:(NSData *)parserData { NSXMLParser *parser = [[NSXMLParser alloc] initWithData:parserData]; //parserData passed to NSXMLParser delegate which starts the parsing process [parser setDelegate:self]; [parser parse]; // starts the event-driven parsing operation. } – (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict { if ([elementName isEqualToString:@"item"]) { valueDictionary […]

参数types“AnyObject”不符合期望的typesNSCopying

我想在Swift使用NSDictionary ,我正面临着上述问题。 我有一个以下格式的字典: let xyz: NSMutableDictionary = ["1":[1,2,3,4,"1","n","1","2"],"2":[1,2,3,4,"+","o","6","2"]] 我想迭代字典中的键并提取数组的第六个元素。 我尝试了以下; 但没有遇到任何运气: for keys in dictKeyMutableDict { let xCentVal = xyz[keys as! [NSCopying]][6] } 我不断收到一个下标错误,如果我删除as! [NSCopying] as! [NSCopying] ,我收到上面的错误。 有谁知道如何处理这种情况?

NSDictionary:find一个特定的对象,并将其删除

我有NSMutableDictionary看起来像这样: category = ( { description = ( { id = 1; name = Apple; }, { id = 5; name = Pear; }, { id = 12; name = Orange; } ); id = 2; name = Fruits; }, { description = ( { id = 4; name = Milk; }, { id = […]

在IOS中parsing嵌套的JSON代码

我试图parsingiOS中的以下JSON代码。 JSON代码由一组编号为0到x的游戏组成。 我一直在四处search,但似乎无法find任何具有这种格式的JSON的例子。 { "command":"show_my_games", "0":{"gameid":"7","foruserid":"16","againstuserid":"0","casefor":"","caseagainst":"","status":"0","argumentid":"7","againstusername":null,"forusername":"Gem","argument":"argument 1"}, "1":{"gameid":"8","foruserid":"15","againstuserid":"16","casefor":"","caseagainst":"","status":"0","argumentid":"23","againstusername":"Gem","forusername":"Nick","argument":"argument 2"}, "2":{"gameid":"9","foruserid":"18","againstuserid":"16","casefor":"","caseagainst":"","status":"0","argumentid":"26","againstusername":"Gem","forusername":"Nick","argument":"argument 3"} } 我创build了一个游戏对象,对于JSON数组中的每个项目,我想创build一个新的游戏对象,并将其添加到游戏数组中。 我无法parsingJSON,我很感激任何帮助或build议。 我正在尝试使用的代码是 NSMutableDictionary *json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&err]; for (NSMutableDictionary * gameItem in json) { Game *obj = [Game new]; obj.GameID=[gameItem objectForKey:@"gameid"]; obj.Argument=[gameItem objectForKey:@"argument"]; obj.CaseFor=[gameItem objectForKey:@"casefor"]; obj.CaseAgainst=[gameItem objectForKey:@"caseagainst"]; obj.CaseForOwner=[gameItem objectForKey:@"forusername"]; obj.CaseAgainstOwner=[gameItem objectForKey:@"againstusername"]; obj.CaseForOwnerID=[gameItem objectForKey:@"foruserid"]; obj.CaseAgainstOwnerID=[gameItem objectForKey:@"againstuserid"]; //add to the players game […]

与NSMutableArray比较

在我的Array 1 ,我从NSDocumentDirectory加载图像,我加载他们,并添加一个NSMutableDictionary : self.images = [NSMutableArray array]; for(int i = 0; i <= 8; i++) { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDir = [paths objectAtIndex:0]; NSString *savedImagePath = [documentsDir stringByAppendingPathComponent:[NSString stringWithFormat:@"Images%d.png", i]]; if([[NSFileManager defaultManager] fileExistsAtPath:savedImagePath]){ NSMutableDictionary *container = [[NSMutableDictionary alloc] init]; [container setObject:[UIImage imageWithContentsOfFile:savedImagePath] forKey:@"image"]; [container setObject:[NSNumber numberWithInt:i] forKey:@"index"]; [images addObject:container]; } […]

如何使用{array | dictionary} WithCapacity?

当我使用NSMutableArray或NSMutableDictionary ,如果我知道要放入的元素的数量或元素的最大数量,我通常使用arrayWithCapacity或dictionaryWithCapacity创build它们,但我想知道是否真的有助于指定(初始)容量数组/字典? 我不知道它是如何在内部实现的,但是我相信当集合中的元素数量达到容量甚至接近容量时,集合可能会扩展它的容量,所以如果我创build了一个可变数组,容量32,只要我把第32个对象放在里面,它会扩展到另一个容量? 或者即使我把第30个对象放进去,它的容量也会扩大,因为它会有更多的对象? 所以如果这些方法真的有帮助,我应该使用像这样的东西: *withCapacity:maxNumberOfElements * 1.5 代替 *withCapacity:maxNumberOfElements 所以对于我的物体来说,它的容量已经足够多了,而且当我把所有的物体放进去的时候,它们不会扩大。

目标c时使用NSDictionary而不是NSArray

就我应该使用的两个人而言,我处于一个两难的境地。 我将通过一个restful API(返回json)来检索一组数据,我不知道应该如何在我的UI View Table上显示它们之前将它们存储起来。 例如。 {"Events":[{"Id":5,"Name":"Event 1 2013"},{"Id":6,"Name":"Event 2 2013"}]} 我一直在阅读教程和一些会使用NSMutableArrays,而一些会使用NSMutableDictionary。 我应该怎么做呢? 顺便说一句:我显示的数据在用户界面视图表,将redirect用户到另一个页面,当他们决定返回将不得不显示前一个视图没有重新加载(使用UinavigationController) 谢谢! 编辑: 此外,只是给你一个想法,我想要做什么。 我试图按照这个教程分裂我得到部分头的数据。 在本教程中,它使用NSDictionary。 http://www.icodeblog.com/2010/12/10/implementing-uitableview-sections-from-an-nsarray-of-nsdictionary-objects/ 如果我使用NSArray,会影响性能?

需要生成的JSON文档与在iOS中的NSMutableDictionary中插入的对象的顺序相同

我从一个NSMutableDictionary生成一个JSON文档,这个NSMutableDictionary是由指向NSString的键组成,还有两个键又指向其他NSMutableDictionary的键。 我的问题是,当我输出JSON文档时,我注意到JSON文档具有我以不同顺序插入到NSMutableDictionary中的对象。 例如,我目前的输出如下所示: JSON Output: { "devicetype" : "iPhone Simulator", "os" : "6.0", "test_results" : [ { "date" : "2012-12-25T20:38:09", "name" : "Test 1", "result" : "Fail" }, { "date" : "2012-12-25T20:38:11", "name" : "Test 2", "result" : "Pass" }, { "date" : "2012-12-25T20:38:13", "name" : "Test 3", "result" : "Pass" }, { "date" : […]

Swift 3:不能将数据写入plist文件

我正在尝试使用名为Data.plist的文件来存储一些简单的非结构化数据,并将该文件放在我的应用程序的根文件夹中。 为了简化对这个文件的读写,我创build了下面的DataManager结构体。 它可以读取没有问题的Data.plist文件,但不能将数据写入文件。 我不确定问题出在哪里,有谁能find可能出错的地方? struct DataManager { static var shared = DataManager() var dataFilePath: String? { return Bundle.main.path(forResource: "Data", ofType: "plist") } var dict: NSMutableDictionary? { guard let filePath = self.dataFilePath else { return nil } return NSMutableDictionary(contentsOfFile: filePath) } let fileManager = FileManager.default fileprivate init() { guard let path = dataFilePath else { return […]

如何sorting在iOS中的NSMutableArray中的时间

我有一套NSMutableArray中的字典。 现在我想按时间升序sorting这里是我的数组值。 ( { StartTime = "09:00 AM"; TravelsName = "ABC Travels"; }, { StartTime = "07:30 AM"; TravelsName = "XYZ Travels "; }, { StartTime = "06:45 PM"; TravelsName = "GSP Travels"; }, { StartTime = "05:00 PM"; TravelsName = "Madura Travels"; }, { StartTime = "12:45 AM"; TravelsName = "MJT Travels"; }, { […]