【发布时间】:2011-09-23 23:14:31
【问题描述】:
我正在尝试将 UISearchBar 添加到我的 UITableView。
这是他们用来搜索的方法:
- (void) searchTableView {
NSString *searchText = searchBar.text;
NSMutableArray *searchArray = [[NSMutableArray alloc] init];
for (NSDictionary *dictionary in listOfItems)
{
NSArray *array = [dictionary objectForKey:@"Countries"];
[searchArray addObjectsFromArray:array];
}
for (NSString *sTemp in searchArray)
{
NSRange titleResultsRange = [sTemp rangeOfString:searchText options:NSCaseInsensitiveSearch];
if (titleResultsRange.length > 0)
[copyListOfItems addObject:sTemp];
}
[searchArray release];
searchArray = nil;
}
但我没有字典,我只想在我的数组“exerciseArray”中搜索,它是这样初始化的:
NSString *path = [[NSBundle mainBundle]pathForResource:@"data" ofType:@"plist"];
NSMutableArray *rootLevel = [[NSMutableArray alloc]initWithContentsOfFile:path];
self.exerciseArray = rootLevel;
[rootLevel release];
当我 NSLog 时,我得到:
exerciseArray: (
{
exerciseName = "Balance Board";
},
{
exerciseName = "Barbell Seated Calf Raise";
},
{
exerciseName = "Calf Press On The Leg Press Machine";
},
{
exerciseName = "Calf Raises- With Bands";
},
那么任何人都可以帮我修改搜索方法以适应我拥有的数组吗?里面好像有钥匙。
我试过了,但没用,在NSRange titleResultsRange = [sTemp rangeOfString:searchText options:NSCaseInsensitiveSearch]; 行崩溃了
出现错误*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFDictionary rangeOfString:options:]: unrecognized selector sent to instance 0x2d6450
- (void) searchTableView {
NSString *searchText = searchBar.text;
NSLog(@"exerciseArray: %@", exerciseArray);
for (NSString *sTemp in listOfItems)
{
if (sTemp) {
NSRange titleResultsRange = [sTemp rangeOfString:searchText options:NSCaseInsensitiveSearch];
if (titleResultsRange.length > 0)
[copyListOfItems addObject:sTemp];
}
}
}
【问题讨论】:
-
NSDates 已经采用 UTC(又名“GMT”)。
-
你能把你的
UIViewController派生类的接口贴出来吗? -
请不要过度编辑您的问题,以免它们不再与原始内容相似。搜索引擎已经在此处获取了您的原始内容:google.no/… - 现在链接转到另一个问题。不要这样做。而是发布新问题!
标签: iphone objective-c uitableview uiviewcontroller uisearchbar