1妒貌,
- (id)dequeueReusableCellWithIdentifier:(NSString *)identifier;? // Used by the delegate to acquire an already allocated cell, in lieu of allocating a new one.
2璃哟,
- (id)dequeueReusableCellWithIdentifier:(NSString *)identifier forIndexPath:(NSIndexPath *)indexPath NS_AVAILABLE_IOS(6_0); // newer dequeue method guarantees a cell is returned and resized properly, assuming identifier is registered
注釋中可以看出的端倪蚊逢,第一個(gè)是老的接口检盼,第二個(gè)新一點(diǎn)阵具,在使用結(jié)構(gòu)上:
第一個(gè)方法在
- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
要這么寫(xiě)
cell = [tableView dequeueReusableHeaderFooterViewWithIdentifier:kTableviewIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewStylePlain reuseIdentifier:kTableviewIdentifier];
}
第二個(gè)方法要這么處理
在定義UITableView位置:
[self.myTableView registerClass:[UITableViewCell class] forCellReuseIdentifier:kTableviewIdentifier];
然后在
- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
就省掉了判斷為空拇泣,可以直接使用
cell = [tableView dequeueReusableCellWithIdentifier:kTableviewIdentifier forIndexPath:indexPath];