在Objective C中我没有继承的类的实例

时间:2013-10-13 11:12:50

标签: iphone ios objective-c inheritance override

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

我有一个名为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 
}

1 个答案:

答案 0 :(得分: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;
}