搜索数据多维数组

时间:2014-02-05 17:31:41

标签: objective-c multidimensional-array uisearchbar

我有一个名为finalArray的NSMutableArray,我在其中添加了名称和图像。

[finalArray addObject:@[name, image]];

在下面的方法中搜索finalarray,但因为它不期望一个多维数组,它似乎给出了一个错误。我怎么能在这段代码中:

    self.filteredArray = [[finalArray filteredArrayUsingPredicate:predicate] mutableCopy];

从finalArray获取所有名称对象?因为这是代码所期望的:

[[finalArray filteredArrayUsingPredicate:predicate] 

方法:

-(void) searchThroughdata {

    self.filteredArray = nil;
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF contains [c] %@",self.searchBar.text];


    self.filteredArray = [[finalArray filteredArrayUsingPredicate:predicate] mutableCopy];

            [tableViewData reloadData];



}

如何在finalarray中添加属于该名称的图像,并且仍然只搜索现在这样的名称?

[[finalArray filteredArrayUsingPredicate:predicate] mutableCopy];

1 个答案:

答案 0 :(得分:0)

看起来你试图通过使用相同的数组索引或其他东西将名称和图像相互关联起来?我是对的吗?

如果是这样,那么你应该真的使用自定义类来做到这一点......

@interface MyNameImageClass : NSObject

@property NSString *name;
@property UIImage *image;

@end

现在你可以创建对象......

MyNameImageClass *object = [MyNameImageClass new];
object.name = theName;
object.image = theImage;

然后将其添加到数组中......

[finalArray addObject:object];

尽管如此,你需要澄清你在问什么。这个问题非常令人困惑。

如果在对象上更新图像,则不需要将其重新插入阵列。该数组存储对该对象的引用,因此该数组也将具有更新的值。