我正在一个名为 ResourcesTableViewController 的类中创建一个 TableViewController。我正在创建课程:
视图控制器.h:
@interface ViewController : UIViewController {
ResourcesTableViewController *resourceTableViewController;
视图控制器.m:
resourceTableViewController = [[ResourcesTableViewController alloc] initWithStyle:UITableViewStylePlain];
[resourceTableViewController setTableViewObject:localObject];
现在我可以使用它,我可以打电话
NSLog(@"%@ %@",resourceTableViewController,[resourceTableViewController tableViewObject]);
在我的 ViewController.m 的几个部分(如预期的那样)具有相同的输出
<ResourcesTableViewController: 0x749f1c0> tableViewObjectContent
. 为了打开新的 TableView,我在情节提要中创建了一个带有弹出框到新视图的按钮(作为触发的 segue)。但是一旦按下按钮并出现视图,它就会创建一个新实例。奇怪的是,我放入了我的类 ResourcesTableViewController 的 viewDidLoad:
NSLog(@"viewDidLoad: %@: %@", self, self.tableViewObject);
它正在返回
<ResourcesTableViewController: 0x74bbcd0>: (null)
. 另一个内存地址,另一个实例。不是我之前使用的实例,也绝对不是我给该 tableViewOject 的实例。如何从属于我创建和使用的 resourceTableViewController 的实例调用视图?我仍然可以通过与对象 resourceTableViewController 通信来访问那个“旧”实例,但是创建的视图是另一种类型的视图,它肯定不会从我给第一个对象的对象中使用。