当我尝试从一个不同的类调用一个NSMutableArray时,它为什么是空的?
CLASS A
.h
@interface Dashboard : UIViewController {
NSMutableArray *tablearrayCREDITS;
}
@property(nonatomic,retain)NSMutableArray *tablearrayCREDITS;
.m
@synthesize tablearrayCREDITS;
我用JSON数组中的数据填充它。这一切都可以正常工作..
CLASS B
.h
#import "Dashboard.h"
@interface CreditsAndDebits : UIViewController {
//nothing needed here..
}
.m
@implementation CreditsAndDebits
@synthesize selectedIndexPath;
NSMutableArray *thearray;
- (void)viewDidLoad {
Dashboard *db = [[Dashboard alloc]init];
thearray = db.tablearrayCREDITS;
}
//当我调试它并在我分配仪表板的位置设置断点时... tablearrayCREDITS说对象0 ??,我不明白?当我打电话给它时为什么会变空?
答案 0 :(得分:0)
- (void)viewDidLoad {
Dashboard *db = [[Dashboard alloc]initWithNibName:@"Dashboard" bundle:nil...........];
db.tablearrayCREDITS=[[NSMutableArray alloc]init];
[db.tablearrayCREDITS addObject:@"madhu"];
thearray = db.tablearrayCREDITS;
//here nslog them
}
//you have to create Dashboard object not mutable array
答案 1 :(得分:0)
您调用的数组为空,因为它可能尚未初始化。您需要在调用之前初始化该视图。您可以使用该视图的init
方法执行此操作。
或者您可以在启动应用程序时初始化该数组。您可以在AppDelegate中的application didFinishLaunchingWithOptions
中执行此操作。