До сих пор, я делал что-то вроде этого:Как загрузить пользовательскую ячейку из xib, но сохранить выходы внутри ячейки вместо ViewController?
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
// Initialization code
NSArray *nibsArray = [[NSBundle mainBundle] loadNibNamed:@"BOAFormCell" owner:self options:nil];
self = nibsArray[0];
self.selectionStyle = UITableViewCellSelectionStyleNone;
self.valueTextLabel.numberOfLines = 2;
}
return self;
}
Это, очевидно, приводит к утечке памяти.
Если я поместил код загрузки внутри cellForRowAtIndexPath, то он сделает ViewController владельцем xib.and, он будет искать выходные в VC.
Я уже использовал ячейку во многих мониторах ViewControllers.
Я хочу избежать этой утечки, но я не хочу, чтобы все эти VC стали отдельными владельцами xib и реализовали там IBActions и имели свойства для Outlets внутри них.
Должен ли я сделать статический метод, который просто загрузит ячейку из xib и вернет ее мне? , но тогда как я сделаю объект владельцем xib?
в вашем коде, когда вы говорите, «хозяин: я», вы измените права собственности на объект выполнения кода , Нет никакого способа, это ответ на мой вопрос. –
Я не уверен, что понимаю, что вы хотите сделать. У вас есть ячейка, и вы используете ее в нескольких ViewControllers? Итак, вы хотите, чтобы его методы и действия были свойством вашей ячейки и выполнялись вашей ячейкой, а не VC, отображающей ячейку? – zbMax
Да. в точку. но не будет [[NSBundle mainBundle] loadNibNamed: @ Пользователь «CustomCell»: self options: nil]; изменить владельца ячейки на класс, в который я пишу код? –