다음 코드를 실행할 때 코드에서 두 번째 코드 줄을 실행할 때 런타임 오류가 발생합니다. 디버거에 나타나는 오류는 다음과 같이 말합니다 : [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
alloc의 추가로 인해 문제가 해결되었습니다 (NSButton에 대한 오류 메시지가 NSButton을 언급 한 것이 이상하다고 생각합니다).그리고 나의 단 하나의 등호는 확실히 Doh! 나를위한 순간. 나는 그것이 그 진술에 폭격을 가했을 것이라고 확신한다. 그래서 두 가지를 지적 해 주셔서 감사합니다! – Adam
또한 (과 pedantic),'Nil'은 클래스를위한 것이고,'nil'은 다른 객체를위한 것입니다 (여러분은 거기에'nil'을 사용해야합니다). – Wevah