java内部类的oc实现

 

在java中会有很多内部类的存在,这个在oc中我个人认为最好的实现方法就是采用delegate方法。
例如在java中有这样两个类
class A {
//class content;
class B{
}
}
像这样的内部类在oc中可以采用delegate方法来实现,具体代码如下:
A.h
@class B
@interface A: NSObject{
B* b;
}
@property (nonatomic,retain)  B* b;
@end
A.m
@implementation
@synthesize b;
-(id)init{
if(self = [super self]){
self.b = [[B alloc] initWithDelegate:self];
}
}
@end

B.h
@interface B:  NSObject{
A* a;
}
@property ( nonatomic , assignA a;//这里一定要是assign,要是写成retain的话可能会有错误
@end
B.m
@implementation
@ synthesize a;
-(id)initWithDelegate:(id)_delegate{
self.a = _delegate;
}
//通过a就可以调用A中属性和方法了
@end

你可能感兴趣的:(java内部类的oc实现)