我正在开发一个启用了 ARC 的 iOS SDK 4 项目。
我的类MyTextView
(从带有UITextViewDelegate
协议的 UITextView 派生)实现了以下静态方法:
+ (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.
这与on崩溃becomeFirstResponder
。由于某些循环,看起来像一些与堆栈相关的崩溃。我对ARC相当陌生。的委托属性UITextView
定义为assign
(ARC 不应该将其解释为weak
?)。我知道这种方法在记忆方面相当奇怪。但是,我想知道 ARC 是否可以处理这样的事情。显然不能。知道可能是什么问题以及如何解决它吗?