Кажется, вы не ссылаетесь на test
где-либо еще, поэтому он автоматически освобождается в конце метода viewDidLoad
.Убедитесь, что вы реализуете test
как переменную экземпляра, так что по крайней мере на что-то есть ссылка на нее.
Необязательно, чтобы объект был иваром для его сохранения.Взгляните на delegate
определение свойства:
@property(nonatomic,assign) id <UITableViewDelegate> delegate;
Здесь assign
имеет решающее значение, это означает, что это слабая ссылка, и UITableView не будет сохранять этот объект.Обратите внимание, что если бы он сказал (nonatomic, retain)
, ваш код будет работать, но это было дизайнерское решение Apple, чтобы реализовать его таким образом, чтобы избежать сохранения циклов.