2012-04-23 130 views
0

我的代码不能在设备上工作,任何人都可以请帮忙..?在Appcelerator模块中,ENSURE_UI_THREAD在设备上崩溃

- (id) TweetPost : (id) args { 
    NSArray *arr = args; 
    _post = [args objectAtIndex: 0]; 
    NSLog(_post, nil); 
    [_post retain]; 
    ENSURE_UI_THREAD(Tweet, args); 
} 

- (id) Tweet : (id) args { 
     NSLog(@"Routine Twitter Module", nil) 
     if (![_engine isAuthorized]) { 
      UIViewController *controller = [SA_OAuthTwitterController controllerToEnterCredentialsWithTwitterEngine:_engine delegate:self]; 
      if (controller) { 
       [[TiApp app] showModalController:controller animated: YES]; 
      } 
     } else { 
      [_engine sendUpdate: _post]; 
     } 
} 

在执行这段代码,模拟器上,它工作正常,但在设备上NSLog(_post, nil);后的应用程序崩溃,立即在TweetPost方法。我认为这是由于ENSURE_UI_THREAD(Tweet, args);。谁能帮我吗..?

回答

0

我已经替换为上述两个功能:

- (void) TweetPost : (id) args { 
    NSArray *arr = args; 
    _post = [arr objectAtIndex: 0]; 
    [_post retain]; 
    NSLog(_post, nil); 

    [self Tweet: args]; 
} 

- (void) Tweet : (id) args { 
    NSLog(@"Routine Twitter Module", nil); 
    ENSURE_UI_THREAD(Tweet, args); 
    if (![_engine isAuthorized]) { 
     UIViewController *controller = [SA_OAuthTwitterController controllerToEnterCredentialsWithTwitterEngine:_engine delegate:self]; 
     if (controller) { 
      [[TiApp app] showModalController:controller animated: YES]; 
     } 
    } else { 
     [_engine sendUpdate: _post]; 
    } 
} 

,这是工作的罚款。我不知道错误是什么。

相关问题