您可以使用应用程序的应用委托类来访问 NSMutableArray。
在应用程序委托类中,为存在 NSMutableArray 的类创建属性,例如假设类名是 TestController。
//then in .h file of Appdelegate
#import TestController.h
//in the interface
TestController *objTest;
//declare the property
@property (nonatomic, strong) TestController *objTest;
//then in the .m file of app delegate synthesize the object
@synthesize objTest;
现在以类似的方式在 TestController 中声明 NSMutableArray 的属性
创建要访问 NSMutable 数组对象(例如 arr1)的应用程序委托类的共享实例,如下所示
AppDelegate *objAppDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
您可以将该数组作为“objAppDelegate.objTest.arr1”访问
或者
您可以在视图控制器类中创建共享实例
//in the .h of view controller
+ (id)sharedInstance;
//in the .m of view controller
+ (id)sharedInstance
{
// structure used to test whether the block has completed or not
static dispatch_once_t p = 0;
// initialize sharedObject as nil (first call only)
__strong static id _sharedObject = nil;
// executes a block object once and only once for the lifetime of an application
dispatch_once(&p, ^{
_sharedObject = [[self alloc] init];
});
// returns the same object each time
return _sharedObject;
}
然后在填充数组使用的应用程序中,
TestViewController *objTest=[TestViewController sharedInstance];
objTest.arr1=[[NSMutableArray alloc]initWithObjects:@"1",@"1",@"1",@"1", nil];
在表格视图控制器中,您可以按如下方式访问它
TestViewController *objTest=[TestViewController sharedInstance];
objTest.arr1 将是结果数组。