请参考以下代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier];
[cell setSelectionStyle:UITableViewCellSelectionStyleNone];
}
//... some other code
if (imageLoadingQueue == nil) {
imageLoadingQueue = [[NSOperationQueue alloc] init];
[imageLoadingQueue setName:@"Image Loading Queue"];
}
//... some other code
return cell;
}
现在我们知道- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
每次滚动时都会调用该方法,但要引用条件:if (cell == nil)
& if (imageLoadingQueue == nil)
。这种情况会被反复检查。
所以我想知道如果条件成本有多少性能开销?
编辑:我们如何衡量?任何工具?