6
我注意到在斯坦福CS193p課程的計算器演示中,IBOutlet連接被從標籤拖到頭文件。但是,IBAction連接直接在.m文件中創建。我嘗試閱讀文檔並在Google上搜索,但無法找到背後的原因。IOS CS193p - 爲什麼IBAction連接拖到.m文件而不是.h?
我會爭辯說IBAction digitPressed方法也應該在頭文件中聲明(它不應該是接口的一部分嗎?)。我很明顯相當新的目標C(主要在Java中工作),所以我相信我失去了一些基本的東西。
任何人都可以解釋一下嗎?
能夠在.m文件中聲明IBOutlets並將它們鏈接到IB中是相當新的。演示和教程並沒有全部趕上。這絕對是更好的解決方案,並且避免了修改另一個對象的IBOutlets(你永遠不應該這樣做)的非常糟糕的做法。 – 2012-04-04 02:58:42
@danh,你能解釋爲什麼網點和行爲不必公開嗎?如果這些視圖未公開,View如何在控制器中訪問這些視圖? – Rahul 2012-04-09 02:08:52
如果你已經在MVC中受過教育,ViewController可能是一個令人困惑的名字。並非如你所想,這個首字母縮寫詞是兩個同伴的搭檔。最好把它看作是控制視圖的東西。從這個意義上講,讓自己的觀點保密是更有意義的。這不是一個規則,或者當然,只是一種常見的做法。視圖是視圖控制器的一個屬性,您創建的子類通常具有其控制的其他子視圖。這種控制通常是相當絕對的,因爲他們不與其他人分享這種控制。請讓我參考一下google,並將其發佈到此處。 – danh 2012-04-09 02:35:09