非常需要建议,
我正在开发一个我希望在本地暂时存储数据的应用程序
目前我已经创建了自己的类来填充类并将数据放入NSMutableArray。
示例:
ExampleClass *_exampleClass = [[ExampleClass alloc]init];
[_exampleClass setID: 1];
[_exampleClass setPara1: @"AAA"];
[_exampleClass setPara2: @"BBB"];
[_exampleClass setPara3: @"CCC"];
[List addObject: _exampleClass];
*List being a NSMutableArray
在app中的其他位置,然后显示此列表。
ExampleClass *_exampleClass = [List objectAtIndex:0];
_exampleClass.Para1.....
在很多情况下,我只需要过滤显示的内容,例如显示列表,例如Para1!= @“AAA”。这是一个NSMutableArray使它真的很乱,我只是想知道是否有一个更简洁的方式?
由于
答案 0 :(得分:0)
您是否考虑过将Core Data与内存存储一起使用?它的外观,你的查询很复杂,值得花费开支。
答案 1 :(得分:0)
听起来你可以使用NSPredicate
过滤你的数组。您可以使用-[NSArray filteredArrayUsingPredicate:]
从现有数组创建一个新数组,并按谓词进行过滤。您可以使用-[NSMutableArray filterUsingPredicate:]
过滤可变数组,删除与谓词不匹配的对象。
如果您使用阵列控制器来帮助管理您的UI,您可以直接分配到filterPredicate
属性,让他们过滤显示的内容。您还可以将该属性绑定到另一个控制器的属性。
代表你的例子的谓词(Para1!= @“AAA”)非常简单:
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"Para1 != 'AAA'"];
您还应该熟悉...PassingTest:
的各种NSArray
方法,例如-indexesOfObjectsPassingTest:
。它没有比那更容易或更强大。