我是这里和 IOS 编程的新手,所以请暂时忍受我的新手问题:]
这是我提出问题之前的申请情况:
我有一个视图,其中添加了 3 个不同的子视图。(1 个类别、2 个单词和 3 个规则)在类别子视图中,我有一个类别表。(从类别 plist 和数组中读取和写入)
根据所选类别,我正在更改单词子视图中单词表的表成分。此表保留用户为选定类别输入的单词。(从 nsmutabledictionary 读取和写入,其键是类别表中的类别名称,其值是我预先输入到 plist 的字符串数组)
现在举个例子来说明问题:我的类别数组有:Size,Color 我的 Size 类别的单词数组中有 3 个字符串,如下所示:“tiny”、“big”、“huge” 我的 Color 类别的单词数组有 2 个字符串像这样:“红色”,“蓝色”
首先,当我选择“尺寸”类别时,我会去获取该类别中的单词,当我从类别子视图移动到单词子视图时,我会在我的 uitableview 中正确地看到“尺寸”类别中的所有内容。(它打印“小”、“大”和“巨大”)
但是,当我这次返回类别子视图并选择“颜色”并返回单词子视图时,我遇到了崩溃。
好像它调用 tableView:cellForRowAtIndexPath: 方法,我得到一个 NSRangeException 如下:
[NSMutableArray objectAtIndex:]: index 2 beyond bounds
长话短说,我想知道为什么 cellForRowAtIndexPath 方法正在调用一个不存在的索引。这是我的 cellForRowAtIndexPath 方法内部的样子:
[self reinitializeWordsDictionary];
[self reinitializeWordsInSelectedCategoryArray];
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc]
initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier] autorelease];
}
cell.textLabel.text = [wordsInSelectedCategoryArray objectAtIndex:indexPath.row];
return cell;
提前感谢您的答案,
时间