ARC を有効にした iOS SDK 4 プロジェクトに取り組んでいます。
私のクラスMyTextView
(プロトコルを使用して UITextView から派生UITextViewDelegate
) は、次の静的メソッドを実装します。
+ (void)showInViewController:(UIViewController*)viewController
{
MyTextView *textEdit = [[MyTextView alloc] init];
textEdit.delegate = textEdit;
[viewController.view addSubview:textEdit];
// Show the keyboard
[textEdit becomeFirstResponder];
}
私のView Controllerの1つで、次のように呼び出します。
[MyTextView showInViewController:self]
warning: Unable to restore previously selected frame.
これはon でクラッシュしbecomeFirstResponder
ます。何らかのサイクルが原因で、スタック関連のクラッシュが発生したようです。私はARCにかなり慣れていません。のデリゲート プロパティUITextView
は次のように定義されますassign
(ARC はそれを ? と解釈すべきではありませweak
ん)。私は、このアプローチがメモリに関してかなり奇妙であることを知っています。しかし、ARCがそのようなことを処理できるかどうかを知りたかった. 明らかにそれはできません。何が問題なのか、それを解決する方法はありますか?