2013-10-26 41 views
0

讓我先解釋一下上下文。我正在開發使用Xcode 4.6的iOS 6.1應用程序。我創建了一個表視圖控制器,我已經連接了4個視圖。第一種觀點是main視圖,我正在研究這個視圖。ViewController調用外部對象方法

現在我在main視圖上有兩個按鈕。 A yesno按鈕。我創建了一個viewcontroller_main子類,並通過在身份檢查器中更改其類,將其連接到我的main視圖。

我已經創建了我自己的類myclass,它有一個函數叫做go。在我的viewcontroller_main.h中,我添加了一個-(IBAction)button_no和另一個是的。然後,我通過點擊main視圖並通過連接檢查器將功能連接到按鈕來鏈接它們。

現在,這裏是我的問題所在。我yes按鈕目前剛剛通過的NSLog即

//viewcontroller_main.m 

- (IBAction)button_yes { 
    NSLog(@"Yes was pressed"); 
} 

但是,我no按鈕創建一個對象myclass* myname記錄「是」到控制檯,然後它myname.go。我有另一個NSLog函數在myclass.m文件的go方法實現中顯示「no」。

//viewcontroller_main.m 

- (IBAction)button_no { 
    myclass* myname; 
    myname.go; 
} 

//myclass.m 

- (void)go { 
    NSLog(@"no was pressed") 
} 

你如何解釋這種行爲?爲什麼在撥打myname.go時不會看到控制檯日誌?

回答

1

首先,類應該總是大寫。所以你應該使用ViewController_mainMyclass

其次,當你做myclass* myname;你沒有創建一個對象。如果你打印出mynameNSLog(@"%@", myname)),你會發現它是零。這就是說,嘗試像這樣:

myclass* myname = [[myclass alloc] init]; 
+0

annnnnnnnnnnnnnnnnnnnnnnnnnnd我是一個noob。 –

+0

哈哈,我們都在那裏一次!希望你喜歡iOS開發! @MikeH。 – Firo