1. 在这里,您只是创建 A 的新实例,而不是访问 A 的现有实例来获取 B 实例中的数组。所以只有它显示空值。
2.第二个问题见此代码....
类A.h
@interface ClassA:UIViewController
@property (nonatomic, retain) NSMutableArray *arrayOfPaths;
@end
类A.m
@implementation ClassA
@synthesize arrayOfPaths = _arrayOfPaths;
-(id)init
{
self = [super init];
if(self)
{
self.arrayOfPaths = [[NSMutableArray alloc] initWithObjects:@"1",@"2", nil];
//Delegation process
ClassB *bInstance = [[ClassB alloc] init];
[bInstance setAReference:self];
//Do your stuff of presenting ClassB instance here.....
}
}
@end
B类.h
#import "ClassA.h"
@interface ClassB:UITableViewController
@property (nonatomic, copy) ClassA *aReference;
@end
B类.m
@implementation ClassB
@synthesize aReference = _aReference;
-(void)viewDidLoad
{
NSLog(@"Array from class ClassA %@", self.aReference.arrayOfPaths);
}
@end
ClassB ViewController 应该只在这里由 ClassA 实例化。
3.您需要使用代表概念来实现您的要求。见上面的示例代码
4.objective -c 不支持多重继承。