0

私のコードはデバイスで機能していません。誰か助けてください。

- (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);。誰かが私を助けることができますか..?

4

1 に答える 1

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];
    }
}

そして、これは正常に機能しています。何がエラーだったのかわかりません。

于 2012-04-23T13:00:37.847 に答える