如何在像Java一样的objective-c中实现嵌套类?
问题描述:
我需要实现嵌套类。我如何在Objective-C中编写它?
例如,我有这样的代码:如何在像Java一样的objective-c中实现嵌套类?
public class A {
private int a;
private B b;
class B {
private int z;
public void f() {
a = 1;
}
}
public void fA() {
b.f();
}
}
我如何能实现在Objective-C的代码?
答
从我的理解,Objective-C中没有内部类..尝试这些链接在那里这个问题已经被问:
How to access a variable from inner class
Private classes in Objective C
http://lists.apple.com/archives/objc-language/2004/Dec/msg00041.html
答
你不能,因为Objective-C中没有嵌套的类。您的A
类可以动态构建B
类,然后将其注册到运行时,但似乎没有多大意义,因为这不是Objective-C语言的自然习惯用法。只需创建一个不在班级外使用的普通班级。