0

我正在尝试使用NSArrays 和NSDictionarys 来存储用户的 facebook 好友信息。稍后将在表格视图中使用这些数据。

理想情况下,如果可能的话,我希望信息也按字母顺序存储。

我已成功连接到 Facebook 并检索到如下结果:

(
        {
        "first_name" = Bob;
        id = 999999999;
        "last_name" = Geldof;
        name = "Bob Geldof";
        username = "bob.geldof";
    },
        {
        "first_name" = Someone;
        id = 111111111;
        "last_name" = Else;
        name = "Someone Else";
        username = "someone.else.2";
    },

我认为这是一个为每个用户提供字典的 NSArray。

我想要实现的是保存相同格式的数据。我想保存用户的 id 和全名(名称)对象,但不确定这样做的正确方法是什么?我是否需要为每个用户创建一个字典并添加该信息?

NSArray *data = [result objectForKey:@"data"];
NSLog(@"%@",data);
NSMutableArray *facebookIds = [[NSMutableArray alloc] initWithCapacity:data.count];
     for (NSDictionary *friendData in data) {
         NSDictionary *individualFriendInfo = [[NSMutableDictionary alloc] initWithObjects:[[NSArray alloc] initWithObjects:[friendData objectForKey:@"id"],[friendData objectForKey:@"name"], nil ] forKeys: [[NSArray alloc] initWithObjects:@"id", @"name", nil ]];
        [facebookIds addObject:individualFriendInfo];
     }

例如上面,保存以下内容:

[{"id":"999999999","name":"Bob Geldof"},{"id":"111111111","name":"Someone Else"}, .... 

我现在如何在单元格中访问这些单独的字典?另外,我需要在上面添加什么以便字典的顺序按字母顺序保存到整个数组中?

4

1 回答 1

1

您必须NSUserDefaults用于存储 NSMutableArray。稍后使用它,您可以将数组存储在 NSUserDefaults喜欢的位置:-

[[NSUserDefaults standardUserDefaults]setObject:yourArray forKey:@"MyFBInfo"];

你可以得到这个数组: -

NSMutableArray *facebookIds = [[NSMutableArray alloc]init];

facebookIds=[[NSUserDefaults standardUserDefaults]objectForKey:@"MyFBInfo"];

在您可以CellforRowAtIndex:使用以下字典之后:-

NSMutableDictionary *d = (NSMutableDictionary *) [facebookIds.ArrInfoListAlldata objectAtIndex:indexPath.row];

cell.textLabel.text=[d valueForKey:@"name"];

用于按字母顺序排序 A 到 Z 数组检查波纹管示例:-

https://github.com/elc/ICB_SectionedTableViewDemo

于 2013-05-20T09:28:21.957 回答