2

我有UIViewController以下代码的实现viewDidLoad

- (void)viewDidLoad
{
    [super viewDidLoad];

    // Do any additional setup after loading the view from its nib.
    for (int i=0; i<10; i++)
    {
        NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];

        NSString *speedDial = [prefs stringForKey:[NSString stringWithFormat:@"%s%i", "fav",i]];
        if ([speedDial length] > 0)
            [self getTextField:i].text = speedDial;

        [self getTextField:i].returnKeyType = UIReturnKeyDone;
        [self getTextField:i].delegate = self;
    } 
}

当我触摸UITextField屏幕上的 应用程序崩溃并且我得到输出:“消息发送到解除分配的实例”。在该视图上按下按钮时我遇到了同样的错误,所以我猜错误是在UIViewController级别上。我正在使用ARC并且UITextField都定义为strong. 我曾尝试寻找内存管理问题,但没有成功。

任何想法?

谢谢,西蒙

4

1 回答 1

3

[self.view addSubview:favorites.view];您使用收藏夹视图但允许其控制器超出范围时。创建的对象favorites应该使用强引用保留它,而不是使其成为局部变量。

于 2013-08-28T13:14:06.867 回答