2013-02-26 33 views
-4

這是我的函數:創建的對象,但其在Objective-C仍然無效,iOS的

- (void) function{ 
    if (_app.error == nil) { 
     for (Window *window in _app.windows) { 
      NSLog(@"test."); 
     } 

    } 
    else { 
     NSLog(@"%@",[_app.error localizedDescription]); 
    } 
} 

而是進入for循環,並打印出「測試」,它給我「的(空) 「從其他聲明中。我究竟做錯了什麼?

+ (App *)loadApp { 

NSString *filePath = [self dataFilePath:FALSE]; 
NSData *xmlData = [[NSMutableData alloc] initWithContentsOfFile:filePath]; 
NSError *error; 
GDataXMLDocument *doc = [[GDataXMLDocument alloc] initWithData:xmlData options:0 error:&error]; 

App *app = [[App alloc] init]; 

if (doc == nil) app.error = error; 

...etc 
+2

證明初始化'_app.error'的代碼。 – trojanfoe 2013-02-26 16:25:42

回答

1

你只是簡單地把你的邏輯從前到後;要繼續,如果有沒有錯誤(_app.error == nil):

- (void) function{ 
    if (_app.error == nil) {  // NOT != 
     for (Window *window in _app.windows) { 
      NSLog(@"test."); 
     } 

    } 
    else { 
     NSLog(@"%@",[_app.error localizedDescription]); 
    } 
} 
+0

是的,很抱歉,那是我的代碼。但它永遠不會進入for循環。 – user1345821 2013-02-26 16:45:01

+0

@ user1345821對不起,我不明白。你的代碼是什麼? – trojanfoe 2013-02-26 16:45:27

+0

我現在編輯了我的代碼,我的代碼就像你說的,但NSLog帶有「測試」。不打印出來。所以它永遠不會進入for循環 – user1345821 2013-02-26 16:47:10

相關問題