我有一個基類SLBaseViewController
是的UIViewController的一個子類,並希望其所有子類,以符合協議:如何使所有的子類符合協議?
@protocol SLLocalizable <NSObject>
- (void)localize;
@end
的問題是,我不需要SLBaseViewController
符合協議本身,但我需要編譯器來警告我,如果一個子類不符合。
我曾嘗試:
定義的基類是這樣的:
@interface SLBaseViewController : UIViewController <SLLocalizable>
在這種情況下,編譯器告訴我,
SLBaseViewController
沒有實現localize
方法。製作
localize
可選。編譯器保持沉默。但那不是我需要的。
- 使每個子類符合協議本身。這似乎是一個正確的方法,但我有超過50個子類,這是一個很長的路。
有沒有簡單的方法來達到我的目標?
搜索子類來編輯它們。讓超類拋出一個異常,如果它被調用,所以你知道什麼時候你錯過了某些東西。 – Wain
@很好主意,謝謝。你會把它作爲答案嗎? – Stas