i'm using TMQuiltView, my project has ARC enabled, but TMQuilView does not. In my controller I dequeue the cell by
// ARC
TMQuiltViewCell* quiltCell = [_quiltView dequeueReusableCellWithReuseIdentifier:reuseIdentifier];
but quiltCell
is always nil
. Inside dequeueReusableCellWithReuseIdentifier:
it likes this
// 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];
}
The view is NOT nil, and alway has retain count is 1 before the autorelease
call, but the returned value quiltCell
is nil. Is that [view autorelease]
releases view
before returning? How do i keep reference to the returned object?
UPDATED:
I came up with a workaround by delay autorelease call a bit
[view performSelector:@selector(autorelease) withObject:nil afterDelay:0.01];
It works for me, but I still want to have a prettier solution.