當執行下面的代碼時,當代碼執行第二行代碼時,我收到運行時錯誤。該錯誤(顯示在調試器中)說:[NSButton initWithContentsOfURL:]:無法識別的選擇器發送到實例0x100418e10。我不明白這個消息,因爲它看起來像(根據我的源代碼)像initWithContentsOfURL消息發送到myImage實例(的CIImage類)...不是NSButton。任何想法是怎麼回事?來自CIImage的奇怪運行時錯誤消息initWithContentsOfURL
如果重要...此代碼位於Xcode項目的應用程序控制器類模塊(Cocoa應用程序)中 - 在單擊應用程序窗口上的按鈕時調用的方法中。只有在窗口上的一個按鈕...
// Step1: Load the JPG file into CIImage
NSURL *myURL = [NSURL fileURLWithPath:@"/Users/Adam/Documents/Images/image7.jpg"];
CIImage *myImage = [myImage initWithContentsOfURL: myURL];
if (myImage = Nil) {
NSLog(@"Creating myImage failed");
return;
}
else {
NSLog(@"Created myImage successfully");
}
當你說「不要在你的方法的參數之前放一個空格」,你是指initWithContentsOfURL:和myURL之間的空格嗎?這只是格式化口味的問題。除此之外,你的回答是正確的。 – JWWalker 2010-06-05 22:16:38
增加的分區爲我解決了這個問題(儘管我仍然覺得很奇怪,提到的錯誤消息提到了NSButton)。而我的等號就是一個Doh!我的時刻。我相信它也會在這個聲明上被轟炸......如果它真的那麼做的話。所以謝謝你指出這兩件事! – Adam 2010-06-06 00:26:14
另外(這是迂腐),'Nil'用於類,'nil'用於其他對象(你應該在那裏使用'nil')。 – Wevah 2010-06-06 17:54:09