0
如何傳遞一個NSArray
對象到另一個類?我不想用extern
來訪問它,那麼有沒有其他辦法可以實現這一目標?
還要注意,我是初學者
如何傳遞一個NSArray
對象到另一個類?我不想用extern
來訪問它,那麼有沒有其他辦法可以實現這一目標?
還要注意,我是初學者
在這個例子中tableDataSource
是可以作爲一個類的屬性來訪問的NSArray
。
在你interface
聲明(iPadTableWithDetailsViewController.h
):
@interface iPadTableWithDetailsViewController : UIViewController {
NSArray *tableDataSource;
}
@property (nonatomic, retain) NSArray *tableDataSource;
然後,在你implementation
定義(iPadTableWithDetailsViewController.m
):
#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];
}
更多g洪水信息和示例:
Properties in Objective-C
Tutorial: Using Properties in Objective-C
cocoadevcentral learn objective-c
這是什麼方法做' - (ID)initWithNibName:(的NSString *)nibNameOrNil包(一個NSBundle *)nibBundleOrNil'? – Dexter
它初始化一個'UIViewController'的自定義子類。我建議你在Xcode中創建一個模板項目並閱讀註釋和示例,這裏有很多很好的信息。 – chown