2012-11-01 132 views
0

我會因爲這個簡單的問題很短:的NSTextField標籤不更新

(這是一個基於文檔的應用程序,我會只提供的代碼我有問題含)

.H:

#import <Cocoa/Cocoa.h> 

@interface Document : NSDocument { 
    IBOutlet NSTextField *someText; 
} 

.M:

- (id)init 
{ 
    self = [super init]; 
    if (self) { 

     //Some initialization.. 

     [someText setStringValue:@"Downloading data..."]; //This is not updating ! 

     //Some others.. 

    } 
    return self; 
} 

這個標籤沒有更新,但爲什麼?這似乎是一個非常愚蠢的問題,但我無法弄清楚我做錯了什麼。

回答

0

當init方法運行時,Outlet還沒有連接。您需要將取決於存在的筆尖對象的代碼移動到awakeFromNib

+0

'viewDidLoad'是另一個很好的位置。 – rmaddy

+0

@rmaddy:AppKit現在有viewDidLoad嗎?我以爲那只是Cocoa Touch。 – Chuck

+0

自從2.0在2008年問世以來,UIViewController的viewDidLoad已經在iOS中。 – rmaddy