从 NSDictionary 中提取 NSString

Pull NSStrings from 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,主要是 'additional' 和 'fbId'。我将如何正确地做到这一点?我有:

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

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


                [self.jobsTemp addObject:jobby];

            }

但是这个 returns 空值。

你初始化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 数组创建 属性。您可以使用简单的对象来做到这一点。

如果你还没有初始化你的数组,你可以用初始化器来完成

NSMutableArray arrayWithArray:

您可以使用 allValues 检索字典的所有对象 属性

您应该使用 NSDictionary 方法 valueForKey:key

如果键不是以“@”开头,调用objectForKey:。如果密钥确实以“@”开头,则去除“@”并使用密钥的其余部分调用 [super valueForKey:]

Here is the reference for Apple Developer Library Documentation.