【发布时间】:2010-09-22 14:39:04
【问题描述】:
我想在 Objective-C 的类方法中设置对象的委托。伪代码:
+ (ClassWithDelegate*) myStaticMethod {
if (myObject == nil) {
myObject = [[ClassWithDelegate alloc] init];
// myObject.delegate = ?
}
return myObject;
}
在 Java 中,我将简单地创建一个实现委托协议的匿名类。如何在 Objective-C 中做类似的事情?
基本上我想避免创建一个单独的类(和文件)来实现一个简单的委托协议。
【问题讨论】:
-
@Dave DeLong 澄清标题以区别于该问题。在这种情况下,上下文是一个静态方法。
-
上下文无关紧要。您必须提供一个对象 (
id) 作为委托,而另一个问题很清楚地回答了 Objective-C 中没有匿名类之类的东西(还没有),所以您将不得不使用普通对象。 -
Objective-C 中没有静态方法。有实例消息和类消息。
-
@Dave DeLong 我的问题很可能措辞不佳,但我不认为它们是同一个问题。是的,Obj-C 中没有匿名类。但我的问题是:在 Obj-C 类消息中,匿名类允许我在 Java 静态方法中做什么的最佳方式是什么?
标签: java objective-c delegates anonymous-types