【发布时间】:2012-01-16 17:03:41
【问题描述】:
在一个类方法方法中我声明如下:
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Hello"
message:@"World"
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"Done", nil];
现在即使包含方法是类方法,编译器也不会抱怨delegate:self。现在要成为代表,我必须在UIAlertViewDelegate 协议中实现该方法。
现在是否重要,如果该方法是类方法,以便在用户与我的 AlertView 交互时被调用?
我在问这个问题,因为我的类没有任何实例变量,所以我希望它只包含类方法。
【问题讨论】:
-
你可以尝试使用类名而不是self,它指的是实例。
-
另见stackoverflow.com/questions/1781046/… 的回复。我认为这很重要。
-
在类方法中,self 指的是类,而不是类的对象。这段代码能运行吗?
-
我编辑了
static method并将其更改为class method感谢您的评论。我想这就是困扰我的 Java 背景 :-)
标签: objective-c ios cocoa-touch