내가 만든 PhotoView 객체에 포함 된 사진의 이름을 (nslog) 인쇄하려고합니다. 나는 2 개의 viewcontrollers 클래스와 PhotoView 클래스를 만들어 UIButton 클래스를 확장하여 이전의 viewcontrollers 중 하나에서 그리드를 채 웁니다. PhotoView.h에서 viewcontroller에 문자열 값을 전달하고 있지만 EXC_BAD_ACCESS를 얻는 중
는 내가 같은 파일에 태그 photoName의 값을 인쇄 한 후self.tag = [[data objectForKey:@"PhotoID"] intValue];
self.photoName = [data objectForKey:@"PhotoName"];
이 PhotoView.m에
@interface PhotoView : UIButton
@property (assign, nonatomic) NSString *photoName;
...
이 모든 것이 좋아 보인다. 내가, 내가 얻을에서 PhotoView을 클릭 한 후에서 PhotoView에
-(void)didSelectPhoto:(PhotoView*)sender
{
NSLog(@"%@", [NSString stringWithFormat:@"%@", sender.photoName]);
}
을 클릭 한 후 다른 클래스에서 photoName의 값을 인쇄 할 EXC_BAD_ACCESS 오류를하려고 할 때
문제는 시작합니다.
그러나, 나는
NSLog(@"%@",[NSNumber numberWithInt:sender.tag]])
을 할 경우이 오류가 발생하지 않습니다.
무엇이 잘못되었을 수 있습니까?
미리 감사드립니다.
"할당", a.k.a "약한"이라고 진술합니다. 실제로'약한'과'할당 된'은 중요한 차이가 있습니다. 그들은 동일하다는 것을 암시해서는 안됩니다. 또한 첫 번째 발언을 적절한 코드로 업데이트하는 것이 좋습니다. 그것이 틀렸고 왜 그런지 설명하는 것이 하나 있지만, 적절한 사용법을 보여주는 것이 더 도움이 될 것입니다. – rmaddy
@rmaddy 공정한 의견, 조언 해 주셔서 감사합니다. 차이점을 찾아 냈습니다. 고정 코드. –
제 문제에 대한 해결책을 주셔서 감사합니다. 나는 결코 이러한 속성에주의를 기울이지 않았고, 맹목적으로 자습서를 따랐다. 이제 속성이 가질 수있는 가능한 모든 속성에 대해 읽도록하겠습니다. 다시 한번 감사드립니다. – locorecto