假設我有一個具有以下結構的類,並且我希望覆蓋它的一個委託方法(或更多,通常是它的一個公共方法),但現在它基於一些私人方法。有沒有辦法擴展它,或者我應該簡單地斷定它的設計沒有可擴展性?如何擴展基於私有方法的類方法
MyBaseClass.h:
@interface MyBaseClass : UIView <UITableViewDataSource, UITableViewDelegate>
{
}
// some public methods
@end
MyBaseClass.m:
@interface MyBaseClass (Private)
- (void)_privateMethod1;
- (void)_privateMethod2;
@end
#pragma mark - UITableViewDataSource
// ------ I'D LIKE TO CHANGE THE BEHAVIOR OF THIS METHOD EXTENDING MyBaseClass
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)rowIndexPath {
[self _privateMethod1];
[self _privateMethod2];
}
@end
我還需要參考的私有方法,如果我實際上將延伸類的貫徹,但顯然我不想要訪問任何私有方法。 如果問題聽起來有點瑣碎,我很抱歉。
感謝
是的,它現在可以工作,謝謝! – ggould75