【发布时间】:2011-07-18 04:59:27
【问题描述】:
说,我想从帮助类方法调用 UIActionSheet。我希望助手类(而不是对象)成为此操作表的代表。 所以我将 self 传递给委托人。
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"MyTitle"
delegate:self
cancelButtonTitle:nil
destructiveButtonTitle:@"Delete"
otherButtonTitles:nil];
我的助手类将委托方法实现为类方法,一切正常。 但是,我从编译器收到警告说,不兼容的指针,在需要 id 时发送 Class。我也试过 [self class] 并得到同样的警告。
我怎样才能避免这个警告?
【问题讨论】:
-
在 Objective-C 中,这些被称为“类方法”,而不是“静态方法”。这可能会帮助您将来寻求帮助。 :)
-
谢谢。我用代码切换 Objective-C 和 C#。无法避免错别字。
-
谢谢。我用代码切换 Objective-C 和 C#。无法避免错别字。
-
我只想说“不要这样做”。它会让任何阅读您的代码的人感到困惑。每当我认为将大量代码放入类方法中是个好主意时,我发现自己在一周后改变了主意并创建了一个 Singleton 对象。如果其他人接管了您的项目,他们将在此处发布并询问如何使用类作为委托。
标签: iphone objective-c ios class delegates