1

我正在为 iOS 创建我的第一个 Master-Detail 应用程序。

我想存储以下内容

  1. 姓名
  2. 网址

在我的 UITableView 中,我计划只显示名称(已排序),但是当点击名称时,另一个视图将加载一个按钮,该按钮将使用 WebURL 启动 Safari

我尝试使用 MSMutableArray 但发现它不可排序。NSDictionary 也是如此。

任何想法(或样本或样本链接)将不胜感激

我正在尝试使用 iOS 7.0 中未弃用的方法并计划支持 iOS 6

早期版本是 + 但我可以在不支持 3、4、5 的情况下生活。

4

2 回答 2

1

每个项目都有一个 NSDictionary 的 NSMutableArray 非常好。你可以排序。

NSMutableArray *rows = @[].mutableCopy;
[rows addObject:@{@"name": @"Bob", @"url": [NSURL URLWithString:@"http://bob.com"]}];
[rows addObject:@{@"name": @"Alice", @"url": [NSURL URLWithString:@"http://alice.net"]}];
NSLog(@"%@", rows);

[rows sortUsingComparator:^NSComparisonResult(id obj1, id obj2) {
  return [[obj1 valueForKey:@"name"] compare:[obj2 valueForKey:@"name"] options:NSNumericSearch];
}];
NSLog(@"%@", rows);

输出:

2013-07-20 00:33:31.682 MyApp[28496:303] (
        {
        name = Bob;
        url = "http://bob.com";
    },
        {
        name = Alice;
        url = "http://alice.net";
    }
)
2013-07-20 00:33:31.682 MyApp[28496:303] (
        {
        name = Alice;
        url = "http://alice.net";
    },
        {
        name = Bob;
        url = "http://bob.com";
    }
)
于 2013-07-19T14:34:20.687 回答
0

您可以对 NSArray 进行排序,您只需自己编写比较函数,因为 NSArray 存储对象,以及如何对可能包含数千个值的对象进行排序。这里有一篇关于它的好帖子。这应该有望完成工作。

如何对包含自定义对象的 NSMutableArray 进行排序?

于 2013-07-19T14:31:23.893 回答