試圖瞭解協議及其使用......困難時期。我讀得越多,我甚至就能夠制定關於它們的問題。我已經讀過一百次聲明「一個協議是合同」,但它只是不點擊。誰在objective-c中使用協議做什麼?
我「只」想開發真正簡單的應用程序,所以假設我不會爲我的任何類創建一個協議。
例如,我想使用Apple的Scenekit框架,並瞭解我需要實現一些方法來完成此操作 - 例如SCNSceneRendererDelegate。具體
@interface AAPLGameViewController : UIViewController <SCNSceneRendererDelegate>
尖括號之間的位:編譯器強制執行這一點,它知道這樣做,因爲在我的頭文件我已經插入。
對於我要實現的功能的原型,我去看看在SCNSceneRendererDelegate頭文件
@protocol
...
@end
部分。
但是現在我遇到了一些@properties部分(例如在UIApplication頭文件中)的@protocol部分!我認爲@protocol只是爲了實現某些方法,那裏有什麼屬性?
我還遇到了其中一個答案,在創建對象實例時指定協議名稱允許我使用我一無所知的對象。我將非常感謝能夠得到幾個有用的簡單實例。
最後,在Java中,(Obj-C)@protocols的對應部分被稱爲接口。 Java中的對象(Obj-C)@interface是否存在?
非常感謝,歡呼聲。
Java中Obj-C接口的近似副本是公共類聲明,沒有任何方法實現。接口說明了其他類(包括子類和單元測試)可以調用的方法以及它們可以訪問哪些變量。 – 2014-11-03 05:48:29