我無法分配一個類的實例以下UITableViewController
子類屬性:麻煩與Objective-C的
@interface MyTableViewController : UITableViewController </*usual protocols*/>
@property (nonatomic, retain) MyClass *myClass;
@end
我目前分配MyClass的一個非空實例的實例MyTableViewController這樣的:
MyTableViewController *myTableViewController = [[MyTableViewController alloc] init];
MyClass *nonNullInstanceOfMyClass = [[MyClass alloc] init];
myTableViewController.myClass = nonNullInstanceOfMyClass;
[self.navigationController pushViewController:myTableViewController animated:YES];
[nonNullInstanceOfMyClass release];
[myTableViewController release];
的問題是,MyClass的是MyTableViewController的viewDidLoad
null
。 這是怎麼發生的?
編輯#1:我通過NSLogging檢查nonNullInstanceOfMyClass是否爲空。
編輯#2:提供了更多的代碼。另外viewDidLoad
似乎被調用之前,我推視圖控制器(這可能會導致問題......雖然它似乎很奇怪)。
編輯#3:通過從移動init
和self.tableView.delegate = nil;
到self.tableView.dataSource = nil;
固定viewDidLoad
。
所以你是說你把它設置爲一個非空實例,然後viewDidLoad中被調用,當您檢查MyClass的在那個函數中它是空的? – sashang
描述你如何知道nonNullInstanceOfMyClass不爲null。 – thomashw
@sashang是的,這是正確的。 – SundayMonday