【发布时间】:2011-12-27 21:11:07
【问题描述】:
我是 iOS5 和故事板的新手。
我注意到,如果我在我的 viewcontroller .h 文件中声明一个实例变量并在我的 viewcontroller 的 .m 文件的 init 中设置值,当显示 viewcontroller 的视图时,我的实例变量在 viewDidLoad 中显示为 null。为了让我获得我的变量,我需要在 viewDidLoad 中执行 [self init]。我的问题是:
@interface tableViewController : UITableViewController
{
NSMutableArray *myvariable;
}
@end
@implementation tableViewController
-(id)init
{
myvariable = [[NSMutableArray alloc]initWithObjects:@"Hi2",@"Yo2",@"whatsup2", nil];
}
- (void)viewDidLoad
{
NSLog(@"%@",myvariable); // DISPLAYS NULL
[super viewDidLoad];
}
- 当我在 .h 和 .m 文件中声明和实现时,为什么我的变量在 viewdidLoad 中不可用?
- 如果是这种情况,viewDidLoad 或 viewWillAppear 是为 viewcontroller 加载数据的常用位置吗?
- 看起来即使您实例化了一个视图控制器并调用了 init 函数,viewDidLoad 也不一定有要显示的变量。
- 为我的视图控制器加载模型(数据)的正确位置/方法在哪里?
提前致谢
【问题讨论】:
标签: iphone xcode ios5 storyboard