XCode错误,无法看到差异

时间:2010-10-04 04:48:12

标签: objective-c cocoa xcode

好吧,我正在阅读关于可可编程的Aaron Hillegass一书,在拖放章节中。我正在跟随其中一个课程,我通常更改变量名称,因为我发现它让我更加投入,让我更好地理解。不过我开始收到此错误:

2010-10-04 00:38:06.699 TypingTutor[421:a0f] -[BigLetterView dragImage:at:offset:event:pasteboard:source:slideback:]: unrecognized selector sent to instance 0x100424390

现在,我认为这是因为我搞砸了一些变量名,所以我回去直接从书中复制了变量,但仍然得到了错误。 XCode说以下功能可能无法得到响应。好吧,无论我怎么也想不起我的生活,所以我废弃了这个功能并重新编写它。令我发疯的是它第二次工作,但我确实注意到XCode突出了有效功能的语法,但没有用的功能。我看不出任何身体上的差异,并且难以理解为什么一个人与另一个人不同。两者都是在Mac键盘上键入的,所以我不能看到它是由于编码而隐藏的角色,但是,我只是希望我错过一些非常明显的东西,因为它是凌晨1点......有没有人跑过进入这之前?

直接从.m文件中复制的方法...

这个有效

 [self dragImage:anImage
     at:p
    offset:NSMakeSize(0,0)
     event:mouseDownEvent
   pasteboard:pb
    source:self
slideBack:YES];

这个不是

 [self dragImage:anImage
     at:p
    offset:NSMakeSize(0,0)
     event:mouseDownEvent
   pasteboard:pb
    source:self
    slideback:YES];

1 个答案:

答案 0 :(得分:6)

Objective-C区分大小写,因此在其字母中具有不同情况的方法名称被视为不同的方法。工作的那个,“回滚”用{B}写成slideBack,这可能就是你所说的。没有小写'b'且写成slideback的那个。在Objective-C中,这些是不同的方法。该定义显然是用大写的'B'写的,这就是为什么一个有效,另一个没有。