0

如何创建一个我不继承的类的实例并覆盖它的函数?

我有一个名为 GetData 的类和一个名为 SocialViewController 的 viewController。

@interface GetData : NSObject<NSURLConnectionDelegate> and

@interface SocialViewController:  UITableViewController<UITableViewDataSource>

每次我尝试在我的 SocialViewController 实现中创建 GetData 的实例并覆盖它不起作用的函数时,而是执行 GetData 中的函数。

当 SocialViewController 继承自 UITableViewControler 而不是 GetData 时,如何在 SocialViewController 中创建 GetData 的实例?

@implementation SocialViewController

GetData myGetData;

- (void)viewDidLoad {
    [super viewDidLoad];
    myGetData = [GetData alloc];

    NSString someString = @"my init string"

    [myGetData initWithValue:someString];
}

- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
    //The method that I'm trying to override 
}
4

1 回答 1

0

您需要创建一个作为子类的类GetData才能覆盖方法。所以更像:

@interface MyGetData : GetData @end
@implementation MyGetData

- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
    //The method that I'm trying to override 
}

@end


@implementation SocialViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    NSString someString = @"my init string";

    myGetData = [[MyGetData alloc] initWithValue:someString;
}
于 2013-10-13T11:43:13.630 回答