该类不能自行销毁,并且您不能在不分配它的情况下初始化一个类对象(问题之一是字段在没有一些东西的情况下存储在哪里。
我不确定它为什么需要自行销毁,但通常的方法是在具有 viewDidLoad 方法的类中有一个 MyClass* _class 类型的变量。然后你会做相当于
-(void)viewDidLoad { _class = [[MyClass alloc] initWithDelegate:self]; }
-(void) MyClassRespond :(NSData*)data {
[_class release];
//use data and populate on screen }
你当然也可以做一些你将 MyClass 传回委托方法的事情,比如
-(void)viewDidLoad {MyClass *class = [[MyClass alloc] initWithDelegate:self]; }
-(void) MyClassRespond :(NSData*)data fromClass: (MyClass*)class {
[class release];
//use data and populate on screen }
在这种情况下,您的代表会将 MyClassResponds 称为
[delegate MyClassRespond:data fromClass:self];
尝试使 MyClass 可重用也可能是有意义的,这样您就不需要那么快地处理它,但我知道在某些情况下这不起作用。