本文介绍了如何将自定义NSObject复制到NSMutableArray的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
NSDictionary* json = [NSJSONSerialization
JSONObjectWithData:responseData
options:kNilOptions
error:&error];
NSArray* users = [json objectForKey:@"Users"];
NSEnumerator* enumerator = [users objectEnumerator];
id element;
NSMutableArray *results;
Result *fetchedResults;
while(element = [enumerator nextObject]) {
// fetchedResults = [[Result alloc] init]; // i have tried commenting/uncommenting
fetchedResults.name = (NSString *)[[element objectForKey:@"User"] objectForKey:@"name"];
fetchedResults.email = (NSString *)[[element objectForKey:@"User"] objectForKey:@"name"];
NSLog(@"%@", fetchedResults.name);
[results addObject:fetchedResults];
NSLog(@"%@", (NSString *)[[element objectForKey:@"User"] objectForKey:@"name"]); // this returns valid dump
}
NSLog(@"%d", [results count]); // returns 0
我不明白这里错了.我搜索了许多教程,并且资源似乎在这里没错.
I don't understand wht's wrong here. I have searched through numerous tutorials and resources don't seem to get what's wrong here.
NSLog(@"%@", fetchedResults.name); // dumps null推荐答案
您忘记分配结果数组NSMutableArray *results = [[NSMutableArray alloc] init],这应该会有所帮助.
You forgot to allocate your results array NSMutableArray *results = [[NSMutableArray alloc] init] this should help.
NSDictionary* json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error]; NSArray* users = [json objectForKey:@"Users"]; NSMutableArray *results = [[NSMutableArray alloc] init]; for (id object in users) { Result *fetchedResults = [[Result alloc] init]; fetchedResults.name = (NSString *)[[element objectForKey:@"User"] objectForKey:@"name"]; fetchedResults.email = (NSString *)[[element objectForKey:@"User"] objectForKey:@"name"]; NSLog(@"%@", fetchedResults.name); [results addObject:fetchedResults]; } NSLog(@"%@", (NSString *)[[element objectForKey:@"User"] objectForKey:@"name"]); } NSLog(@"%d", [results count]); // returns 0更多推荐
如何将自定义NSObject复制到NSMutableArray
发布评论