2017-10-28 7 views
-1

[이것은 첫 번째 viewcontroller의 코드 for.my2입니다. ][1] 속성을 사용하여 하나의 viewcontroller에서 다른 viewcontroller의 IVAR 값에 액세스하려고했지만 null 값을 얻고 있습니다.객관적인 C에서 한 클래스의 인스턴스 변수를 다른 클래스에 액세스하는 방법?

제 secondviewcontroller에서 가치를 얻는 방법을 알려주세요.

enter image description here

+0

코드를 표시하십시오. – pbasdf

+0

첨부 된 사진보기 –

+0

코드가 기존 인스턴스에 액세스하는 대신 속성 값이 nil 인보기 컨트롤러의 새 인스턴스를 만듭니다. – pbasdf

답변

1

당신은 재산의 가치를 얻을 수있는 올바른 방법을 다하고 있습니다. 그러나 myStringinit 방법의 값이 할당되어 있는지 확인해야합니다. ViewController입니다. ViewController.m에서

시도 : 그것의 옆에

- (instancetype)init { 
    self = [super init]; 

    if (self) { 
     self.myString = @"My String"; 
    } 

    return self; 
} 

는 SecondViewController의 myMetod가 호출되어 있는지 확인합니다. myMetod이 호출되면 "Print value My String"이 인쇄됩니다.

+0

나는 viewcontroller의 viewdidload 메서드 위에 puted (인스턴스) init을 가지고 코드를 넣었지만 viewdidload를 호출 한 후 응용 프로그램을 실행할 때 아무 일도 일어나지 않습니다. 심지어 init 메서드도 호출하지 않습니다 –

+0

init 메서드도 호출해야합니다. 보기가로드 했음 –

+0

'SecondViewController'의'myMetod'가 호출되었는지 확인해야합니다. 'myMetod '라고 부르는 곳이 보이지 않는다 – trungduc