0

无论出于何种原因,我的 xcode 决定它不喜欢我...我收到此行标题中所述的错误

- (void)tableViewSelectionDidChange:(NSNotification *)notification
{
    NSInteger row = [_tableView selectedRow];
    if (row == –1) //<---- this line
    {
        return;
    }
    NSString *selectedVoice = [_voices objectAtIndex:row];
    [_speechSynth setVoice:selectedVoice];
    NSLog(@"new voice = %@", selectedVoice);
}

我确实认为这与 _tableView 被弄糊涂有关,因为当我试图让 IDE 帮助我输入时(你知道它何时通过对可用函数进行 API 查找来猜测你可能会用什么来完成你的单词)它没有显示 selectedRow 的可能性:(

如果需要的话,我已将 .m 和 .h 放入pastebin以节省屏幕上的一些空间...仅供参考,我正在关注 Coca Programming for Mac OSX 第四版第 6.10 章

4

2 回答 2

4

在你的行

if (row == –1)

减号不是真正的减号,而是“EN DASH”(Unicode U+2013)。也许您在键入该代码时不小心按下了选项键和减号键。

用减号替换该字符可以解决问题。

于 2013-02-15T07:07:18.987 回答
0

UITableView 没有名为 selectedRow 的方法。

也许你应该使用:

- (NSIndexPath *)indexPathForSelectedRow
于 2013-02-15T05:20:05.617 回答