Iphone 从另一个类访问NSArray
可能重复:Iphone 从另一个类访问NSArray,iphone,objective-c,xcode,macos,Iphone,Objective C,Xcode,Macos,可能重复: 如何将NSArray对象传递给另一个类?我不想使用extern访问它,那么还有其他方法可以实现这一点吗 另外请注意,我是一个初学者在本例中,tableDataSource是一个可以作为类的属性访问的NSArray 在您的界面声明(iPadTableWithDetailsViewController.h)中: 然后,在您的实现中定义(iPadTableWithDetailsViewController.m): 然后您可以从另一个类访问它,如下所示: - (void)doSomethi
如何将
NSArray
对象传递给另一个类?我不想使用extern
访问它,那么还有其他方法可以实现这一点吗
另外请注意,我是一个初学者在本例中,
tableDataSource
是一个可以作为类的属性访问的NSArray
在您的界面
声明(iPadTableWithDetailsViewController.h
)中:
然后,在您的实现中定义(iPadTableWithDetailsViewController.m
):
然后您可以从另一个类访问它,如下所示:
- (void)doSomething {
iPadTableWithDetailsViewController *myViewController = [[iPadTableWithDetailsViewController alloc] initWithNibName:@"iPadTableWithDetailsViewController" bundle:nil];
myViewController.tableDataSource = [NSArray arrayWithObjects:@"object1", @"object2", nil];
NSLog(@"myViewController.tableDataSource: %@", [myViewController.tableDataSource description];
}
更多好信息和示例:
此方法的作用是什么-(id)initWithNibName:(NSString*)nibNameOrNil bundle:(NSBundle*)nibBundleOrNil
?它初始化UIViewController的自定义子类。我建议您在Xcode中创建一个模板项目,并通读注释和示例,那里有很多很好的信息。
#import "iPadTableWithDetailsViewController.h"
@implementation iPadTableWithDetailsViewController
@synthesize tableDataSource;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) {
self.tableDataSource = nil;
}
return self;
}
- (void)viewDidLoad {
if (!tableDataSource) {
self.tableDataSource = [NSArray array];
}
}
.....
@end
- (void)doSomething {
iPadTableWithDetailsViewController *myViewController = [[iPadTableWithDetailsViewController alloc] initWithNibName:@"iPadTableWithDetailsViewController" bundle:nil];
myViewController.tableDataSource = [NSArray arrayWithObjects:@"object1", @"object2", nil];
NSLog(@"myViewController.tableDataSource: %@", [myViewController.tableDataSource description];
}