我不确定是什么导致了这个问题,但我的理论是Xcode处理数组的时间太长而且tableview在它甚至设法处理所有字符串之前调用数组。因为,当我删除一半的字符串时,它将工作,我将不会收到任何错误消息。有什么方法可以解决这个问题吗?
Datarray2 = [[NSArray alloc]initWithObjects:@"United States Dollar",@"Euro",@"Japanese yen",@"Bulgarian lev",@"Czech koruna",@"Danish krone",@"British pound",@"Hungarian forint"@"Lithuanian litas",@"Polish złoty",@"Romanian leu",@"Swedish krona",@"Swiss franc",@"Norwegian krone",@"Croatian kuna",@"Russian ruble",@"Turkish lira",@"Australian dollar",@"Brazilian real",@"Canadian dollar","Chinese yuan",@"Hong Kong dollar",@"Indonesian rupiah",@"Israeli new shekel",@"Indian rupee",@"South Korean won",@"Mexican peso",@"Malaysian ringgit",@"New Zealand dollar",@"Philippine peso",@"Singapore dollar",@"Thai baht",@"South African rand", nil];
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *simpleTableIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
}
cell.textLabel.text = [Datarray2 objectAtIndex:indexPath.row];
return cell;
}
答案 0 :(得分:6)
您错过了其中一个字符串中的@
符号。
Datarray2 = [[NSArray alloc]initWithObjects:@"United States Dollar",@"Euro",@"Japanese yen",@"Bulgarian lev",@"Czech koruna",@"Danish krone",@"British pound",@"Hungarian forint"@"Lithuanian litas",@"Polish złoty",@"Romanian leu",@"Swedish krona",@"Swiss franc",@"Norwegian krone",@"Croatian kuna",@"Russian ruble",@"Turkish lira",@"Australian dollar",@"Brazilian real",@"Canadian dollar",@"Chinese yuan",@"Hong Kong dollar",@"Indonesian rupiah",@"Israeli new shekel",@"Indian rupee",@"South Korean won",@"Mexican peso",@"Malaysian ringgit",@"New Zealand dollar",@"Philippine peso",@"Singapore dollar",@"Thai baht",@"South African rand", nil];
修改强>
请注意!尝试使用新的ObjC文字。如果你这样做,它将给你一个编译时错误:
id array = @["Chinese"];
答案 1 :(得分:3)