2014-10-28 5 views
-1

이 코드를 실행할 때 NSLog가 항상 null을 표시하는 이유는 무엇입니까?값 전송 문제

ExtratoDeNotasSideMenuViewController *extratoDeNotasSideMenuViewController = [[ExtratoDeNotasSideMenuViewController alloc] init]; 
extratoDeNotasSideMenuViewController.userImageView.image = [UIImage imageNamed:@"Icone_SideBar.png"]; 
NSLog(@"%@", extratoDeNotasSideMenuViewController.userImageView.image); 

2014년 10월 28일 13 : 40 : 50.594 E-proinfo [913 : 51,418 (NULL)

+0

:

는 다음과 같은 고려? 'NSLog()'가 "null"을 표시하면'extratoDeNotasSideMenuViewController.userImageView.image'가'null'이기 때문입니다. 아마도 extratoDeNotasSideMenuViewController.userImageView.image'가'null'을 반환하는 이유는 무엇입니까? " – zaph

+0

아마도 userImageView가 nil이기 때문에 – kabarga

답변

1

잠재적 원인 일 :이 때문에

  • ExtratoDeNotasSideMenuViewController initnil 반환 초기화하는 동안 오류.

    NSLog(@"%@", extratoDeNotasSideMenuViewController); // Does this display '(null)'? 
    
  • 귀하의 userImageView 당신이 ExtratoDeNotasSideMenuViewController init에 초기화하지 않기 때문에 아직 초기화되지 않았습니다. 당신이 Icone_SideBar.png라는 이미지를 가지고 있지 않기 때문에 귀하의 image

    NSLog(@"%@", extratoDeNotasSideMenuViewController.userImageView); // Does this display '(null)'? 
    
  • nil입니다.

당신도 NSLog 문을 추가하거나 중단 점을 추가하고 개체를 검사 할 수 po를 사용해야합니다.

편집는 : 뷰가 생성되기 전에 뷰 컨트롤러에 뭔가를 설정하려면 (또는보기 작품 사이에 영구적 인 것 같은 당신의보기를 파괴하고 어떤 시점에서 그것을 다시보기 컨트롤러를 기대한다면), 속성을 사용해야합니다. "반환"은 "표시"를 의미하여

@interface ExtratoDeNotasSideMenuViewController 
@property (strong) UIImage *myUserImage; 
... 
@end 

@implementation ExtratoDeNotasSideMenuViewController 
... 
- (void)loadView { 
    [super loadView]; 
    ... 
    [self.userImageView setImage:self.myUserImage]; 
    ... 
} 
... 
@end 

... 
    ExtratoDeNotasSideMenuViewController *extratoDeNotasSideMenuViewController = [[ExtratoDeNotasSideMenuViewController alloc] init]; 
    extratoDeNotasSideMenuViewController.myUserImage = [UIImage imageNamed:@"Icone_SideBar.png"]; 
+0

실행 중일 때 NSLog (@ "% @", extratoDeNotasSideMenuViewController); 2014년 10월 28일 14 : 08 : 18.015 E-proinfo [1026 : 194071] ("%의 @"@ extratoDeNotasSideMenuViewController.userImageView) NSLog 실행할 때 표시 하였다 <0x7ff6097cfc70 ExtratoDeNotasSideMenuViewController> ; 2014-10-28 14 : 08 : 18.015 E-proinfo [1026 : 194071] (null) 표시됨 –

+0

그러면 두 번째 글 머리 기호가 적용됩니다 ... 'userImageView'는 초기화하지 않기 때문에'nil'입니다. 보기 컨트롤러의 'init'. 'viewDidLoad' 또는'loadView'에서 초기화하는 중입니다. 어느 쪽도 아직 호출되지 않았습니다. –