【发布时间】:2016-10-15 20:02:05
【问题描述】:
所以我在我的自定义表格视图中添加了一个搜索栏,其中包含自定义单元格,但它给出了一个错误。
-[Game rangeOfString:options:]: 无法识别的选择器发送到实例 0x170244e60 2016-10-15 15:41:49.557956 CustomCellApp[25930:7889617]
*** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[Game rangeOfString:options:]: unrecognized selector sent to instance 0x170244e60
我正在通过一个包含 NSObjects 的数组填充我的 tableview,其中包含字符串 (gamesArray) 和那些我从 JSON 数组 (jsonArray) 中获取的字符串,所有这些都来自连接到 MYSQL 服务器的 php 文件,该文件具有所有字符串。
这是搜索栏的代码:
-(void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {
if (searchText.length == 0) {
isFiltered = NO;
} else {
isFiltered = YES;
filteredGamesArray = [[NSMutableArray alloc] init];
// ----- Problem Method ----- //
for (NSString *str in gamesArray) {
// ----- Crashes Here ----- //
NSRange stringRange = [str rangeOfString:searchText options:NSCaseInsensitiveSearch];
if (stringRange.location != NSNotFound) {
[filteredGamesArray addObject:str];
}
}
// ------------------------------------ //
}
[myTableView reloadData];
}
这是 tableView 的代码:
// Configuring the cell
Game * gameObject;
// Showing either Normal List or Filtered List
if (!isFiltered) {
gameObject = [gamesArray objectAtIndex:indexPath.row];
}
else {
gameObject = [filteredGamesArray objectAtIndex:indexPath.row];
}
这是来自服务器的代码 它将来自服务器的字符串添加到 jsonarray,然后将其添加到 NSObject 到名为 gamesArray 的数组中
NSString * gID = [[jsonArray objectAtIndex:i] objectForKey:@"id"];
NSString * gName = [[jsonArray objectAtIndex:i] objectForKey:@"gameName"];
NSString * gLabel1 = [[jsonArray objectAtIndex:i] objectForKey:@"gameLabel1"];
NSString * gLabel2 = [[jsonArray objectAtIndex:i] objectForKey:@"gameLabel2"];
NSString * gLabel3 = [[jsonArray objectAtIndex:i] objectForKey:@"gameLabel3"];
任何帮助将不胜感激! 我怎样才能解决这个问题?有任何想法吗?谢谢
我认为问题在于,在搜索时,程序看到它有一个要搜索的数组,gamesArray,但是当进入它时,它有 5 个 NSObject,每个都包含字符串,所以它不工作,因为它不知道怎么办。
作为一种解决方案,我怎样才能使搜索栏搜索 gamesArray,直接在 1 NSObject,gameName,读取名为 gName
的 NSObject 中的所有字符串例如,这段代码针对 gamesArray 中的特定 NSObject
[[gamesArray objectAtIndex:indexPath.row] valueForKey:@"gameName"];
【问题讨论】:
标签: xcode uitableview nsobject searchbar nsrange