Преследование retainCount объекта - это не то, что вы хотите делать, когда с ним взаимодействуют частные API.Все, что вы хотите сделать, - это отслеживать свои собственные значения сохранения, а затем убедиться, что вы увеличиваете их и уменьшаете по мере необходимости.Предполагая, что у вас есть что-то вроде следующего:
@property (nonatomic, retain) UISwitch *mySwitch;
@synthesize mySwitch;
Вы должны изменить свой код, который у вас есть выше, чтобы быть таким:
self.mySwitch = [[[UISwitch alloc] initWithFrame:CGRectZero] autorelease];
cell.accessoryView = mySwitch;
mySwitch.on = YES;
В коде, который у вас есть выше, вы не являетесь владельцемmySwitch больше, как вы сказали, чтобы autorelease.Однако, используя self.mySwitch
, вы сохраните свойство при его создании.Затем вы можете использовать его по своему усмотрению на протяжении всей программы.Просто убедитесь, что он безопасно выпущен в dealloc.