解析问题:预期表达(目标C)

时间:2013-02-15 05:13:09

标签: objective-c macos tableview

出于什么原因我的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中以节省屏幕上的空间......仅供参考我正在关注Mac OSX第四版Coca编程第6.10节

2 个答案:

答案 0 :(得分:4)

在你的行

if (row == –1)

减号不是真正的减号,而是&#34; EN DASH&#34; (Unicode U + 2013)。也许您在键入该代码时意外地将选项键与减号键一起按下。

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

答案 1 :(得分:0)

UITableView没有名为selectedRow的方法。

也许你应该使用:

- (NSIndexPath *)indexPathForSelectedRow