2011-04-23 30 views
0

這個問題可能聽起來很天真,但這真的讓我感到困擾。 我想通過從另一個視圖控制器調用ViewController的實例方法方法來設置實例變量。基本上,這裏的步驟實例的範圍目標C中的變量C

  1. 我在ViewController1
  2. 初始化ViewController2
  3. 的對象稱爲實例變量的一些值設定爲ViewController2
  4. 的實例變量
  5. 後來終於叫presentModalViewController加載視圖控制器
  6. 在viewWillAppear方法中使用變量,但該應用程序崩潰並在調試它顯示BAD_EXEC

我已經嘗試在實例方法中打印相同的內容,並在那裏打印,但嘗試在方法外部使用某處時會崩潰。

我也定義了屬性,並且還定義了變量。

我能弄清楚的唯一問題是我在methos中初始化變量......是否會限制變量的範圍。

任何形式的幫助將不勝感激。

在此先感謝!

+1

顯示您的代碼。 – 2011-04-23 18:38:19

回答

1

如果你正在創建的爲實例變量和合成getter和setter屬性,你應該能夠使用圓點符號來設置實例變量:

viewController2.variable = foo; 

或通過使用setter方法:

[viewController2 setVariable:foo]; 

您不應該試圖直接訪問實例變量。默認情況下,範圍設置爲受保護,這意味着您只能通過類中的方法,子類和類別擴展來訪問它。