使用Xcode。
在这段代码中(func在接口中声明),告诉subj错误,站在带有'self'的字符串上。
+ (void) run: (Action) action after: (int) seconds
{
[self run:action after:seconds repeat:NO];
}
什么......?
答案 0 :(得分:7)
self
是一个实例变量,用于引用当前对象的实例。
您正试图在类级别方法+(void)...
中使用它,其中self
没有任何意义。尝试使用共享实例,或将有问题的类的实例传递给方法。
+ (void) run:(Action)action on:(MyClass*) instance after:(int) seconds
{
[instance run:action after:seconds repeat:NO];
}
修改强>
我的评论者指出self
确实在班级语境中有意义,但它指的是班级本身。这意味着你试图调用一个看起来像这样的方法:
[MyClass run:action after:seconds repeat:NO];
你的目标应该是:
[myClassInstance run:action after:seconds repeat:NO];