我正在使用TMQuiltView,我的项目已启用ARC,但TMQuilView没有。 在我的控制器中,我通过
将单元格出列// ARC
TMQuiltViewCell* quiltCell = [_quiltView dequeueReusableCellWithReuseIdentifier:reuseIdentifier];
但quiltCell
始终为nil
。在dequeueReusableCellWithReuseIdentifier:
内,它喜欢这个
// No ARC
- (TMQuiltViewCell *)dequeueReusableCellWithReuseIdentifier:(NSString *)identifier {
TMQuiltViewCell *view = [[self reusableViewsWithReuseIdentifier:identifier] anyObject];
if (view) {
[view retain];
view.selected = NO;
[[self reusableViewsWithReuseIdentifier:identifier] removeObject:view];
}
return [view autorelease];
}
视图不是零,并且在autorelease
调用之前总是保留计数为1,但返回值quiltCell
为零。在返回之前,[view autorelease]
是否会释放view
?如何保持对返回对象的引用?
更新:
我通过延迟自动释放调用得出了一个解决方法
[view performSelector:@selector(autorelease) withObject:nil afterDelay:0.01];
它对我有用,但我仍然希望有一个更漂亮的解决方案。