2013-08-28 37 views
2

當我有UIViewController用下面的代碼爲viewDidLoad實現:崩潰與「消息發送到釋放實例」感人的UITextField

- (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級別。 我使用的是ARCUITextField都被定義爲strong。 我試圖尋找內存管理問題,但沒有成功。

有什麼想法?

感謝, 西蒙

+0

你是如何啓動你的UIViewController的? –

+0

我有以下代碼: - (ID)initWithNibName:(的NSString *)nibNameOrNil束:(一個NSBundle *)nibBundleOrNil { 自我= [超級initWithNibName:nibNameOrNil束:nibBundleOrNil]; if(self){ //定製初始化 } return self; } – Simon

+0

我的意思是你如何呈現ViewController類?您是使用導航控制器,還是以模態方式呈現? –

回答

3

[self.view addSubview:favorites.view];您使用收藏夾視圖,但允許其控制器脫落的範圍。創建favorites的對象應該使用強引用而不是使其成爲局部變量。

+0

我知道這個答案會在檢查之前解決我的問題。檢查後確認! 謝謝 – Simon

相關問題