-1
如何將接口的對象分配給協議的對象? 我有一個protocolA和protocolB。這兩個協議的所有方法都在MyClass中實現。如何將訪問權限限制爲只有protocolA的methid和protocolB的方法?編碼是在Objective-C for iPhone應用程序中完成的。如何在Objective-C中將一個類的對象分配給其他類?
如何將接口的對象分配給協議的對象? 我有一個protocolA和protocolB。這兩個協議的所有方法都在MyClass中實現。如何將訪問權限限制爲只有protocolA的methid和protocolB的方法?編碼是在Objective-C for iPhone應用程序中完成的。如何在Objective-C中將一個類的對象分配給其他類?
在創建對象,你可以只是這樣做:
id <protocolA> protocolAObject = [[MyClass alloc] init];
現在,除非您使用顯式類型轉換,不能使用protocolB方法。
您也可以施放MyClass類的對象要麼protocolA或protocolB這樣的:
MyClass *myClassObject = [[MyClass alloc] init];
id <protocolB> protocolBObject = (id <protocolB>) myClassObject;
哎...一個寫MyClass中的代碼,並將其分配給OBJ protocolB的。但使用協議B的對象[protocolBobject],我可以訪問其他協議的方法也:(但這不應該是這樣的權利? – suse 2010-02-11 09:35:48
沒有辦法完全阻止方法,但如果你試圖調用protocolA方法,在protocolB的對象上,你應該得到編譯器警告 – 2010-02-11 09:42:44
好的...但我能夠訪問:(...給我一些很好的鏈接來閱讀它的語法,或者鏈接到例子程序 – suse 2010-02-11 10:02:12