Я работаю над проектом iOS SDK 4 с включенным ARC.«self.delegate = self» не работает на iOS, используя ARC
Мой класс MyTextView
(полученный из UITextView с UITextViewDelegate
протоколом) реализует следующий статический метод:
+ (void)showInViewController:(UIViewController*)viewController
{
MyTextView *textEdit = [[MyTextView alloc] init];
textEdit.delegate = textEdit;
[viewController.view addSubview:textEdit];
// Show the keyboard
[textEdit becomeFirstResponder];
}
В одном из моих контроллеров зрения я называю следующее:
[MyTextView showInViewController:self]
Это падает с warning: Unable to restore previously selected frame.
на becomeFirstResponder
. Похоже, какой-то столкновение связано с кадром из-за некоторого цикла. Я довольно новичок в ARC. Свойство делегирования UITextView
определяется как assign
(не следует ли интерпретировать ARC как weak
?). Я знаю, что этот подход довольно странный по памяти. Тем не менее, я хотел знать, сможет ли ARC справиться с такими вещами. Очевидно, это невозможно. Любая идея, что может быть проблемой и как ее решить?
Сохранил циклы обычно не вызывают сбои - они просто предотвратить объекты из когда-либо перераспределена. – Caleb
Спасибо, Калеб. Я соответствующим образом изменил название. –
Даже не уверен, чтобы ответить на этот вопрос, но, возможно, [super setDelegate: self]; решает его. – Aberrant