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 に答える