0

我想在 TableViewController 中创建一个 TableView 并用 dic 对其进行初始化。dic中的项目数应该决定我的TableView的行数。在 Initializer 中,我显示它的计数并得到:“创建了 8 个条目的资源表”。但是当建立表并调用方法“numberOfRowsInSection”时,它返回“现在:0 个条目”。

我尝试将字典设为静态但没有成功,还尝试了“@property(strong,nonatomic,retain)”。我怎样才能让实例不要忘记它的内容?

编辑:移至此处:调用 numberOfRowsInSection 时忘记了 TableView 初始化程序中设置的变量 编辑 2:在已链接的线程中解决了问题,这个也是。

相关代码片段:

//  somewhere in ViewController.m:
...
resourceTableViewController = [[ResourcesTableViewController alloc] initWithDictionary:dictionary];


//  ResourcesTableViewController.h:

@interface ResourcesTableViewController : UITableViewController
@property(nonatomic,retain)NSDictionary *resourcesAsDictionary;
- (id)initWithDictionary:(NSDictionary*)dic;

//  ResourcesTableViewController.m:

- (id)initWithDictionary:(NSDictionary*)dic {
    if (self = [super init])
        [self setResourcesAsDictionary:dic];
    NSLog(@"resource table created with %i entries.",[_resourcesAsDictionary count]);
    return self;
}

...

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    // Return the number of rows in the section.
    NSLog(@"Now: %i entries.",[_resourcesAsDictionary count]);
    return [_resourcesAsDictionary count];
}
4

0 回答 0