2013-02-26 70 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

相关问题