从NSDictionary中提取NSStrings

时间:2015-02-17 15:25:03

标签: ios objective-c uitableview nsmutablearray nsdictionary

我有一个看起来像这样的NSDictionary:

<PFUser:ObjectID38383:(null)> {
    StartDate = "Jan 09, 2015";
    additional = "FirstName LastName";
    email = "email@yahoo.com";
    fastStats = 1;
    fbId = facebookID;
    prayStats = 12;
    studyStats = 13;
    username = USERNAME;
}

我想从中提取各种各样的内容以填充UITableView,主要是&#39;附加&#39;并且&#39; fbId&#39;。我该如何正确地做到这一点?我有:

for(NSDictionary *jobsInfo in jobs) {
                NSLog(@"%@", jobsInfo);

                FriendArray *jobby = [[FriendArray alloc] init];
                jobby.name = jobsInfo[@"additional"];
                jobby.facebookid = jobsInfo[@"fbId"];


                [self.jobsTemp addObject:jobby];

            }

但是这会返回空值。

2 个答案:

答案 0 :(得分:1)

你是否初始化了self.jobsTemp数组?

你可以写。

if(!self.jobsTemp){
    self.jobsTemp = [[NSMutableArray alloc]init];
}

for(NSDictionary *jobsInfo in jobs) {
    NSLog(@"%@", jobsInfo);
    FriendArray *jobby = [[FriendArray alloc] init];
    jobby.name = jobsInfo[@"additional"];
    jobby.facebookid = jobsInfo[@"fbId"];
    [self.jobsTemp addObject:jobby];
}

还有一件事就是不需要为jobsTemp数组创建属性。你可以使用简单的对象来做到这一点。

答案 1 :(得分:0)

如果您尚未初始化阵列,则可以使用初始化程序

进行初始化
NSMutableArray arrayWithArray:

您可以使用allValues属性

检索字典的所有对象

您应该使用NSDictionary方法valueForKey:key

如果密钥不以“@”开头,则调用objectForKey:。如果key以“@”开头,则删除“@”并使用其余键调用[super valueForKey:]

Here is the reference for Apple Developer Library Documentation.