1

私が書いている iOS 7 アプリケーションがあり、横向きに回転するとアプリが最初に起動したときに、縦向きに戻ってアプリがフリーズ/応答しなくなります。エラーメッセージやログは表示されません。ただし、回転する前に新しいビューを開いて表示すると、ルート ビューに戻って回転して問題を再現しようとしても問題はありません。ルート ビューは、ストーリーボードで作成されたナビゲーション コントローラーにあります。回転イベントをリッスンまたは処理するメソッドの実装はありません。アプリを開いたときに発生するのは、REST API 要求が送信され、テーブルビューが更新されることだけです。この非同期呼び出しによって、メインの UI スレッドが中断される可能性はありますか? (必要に応じて、ルート ビューのコードを投稿できます。) API に使用されているコードは、StackMob.com の SDK からのものです。

編集: iOS 6.1で再作成できました

4

1 に答える 1

1

条件付きチェックでラップすることで、リフレッシュ コントロールの問題を修正できました。エッジケースに当たったようです。

[self.managedObjectContext executeFetchRequest:purchaseFetch onSuccess:^(NSArray *results) {

    self.purchases = [NSMutableArray arrayWithArray:results];
    [self.tableView reloadData];
    [self.HUD hide:YES];
    if([self.refreshControl isRefreshing]){ //this check solved the freezing problems
        [self.refreshControl endRefreshing];
    }
} onFailure:^(NSError *error) {
    [self.HUD hide:YES];
    // Log details of the failure
    NSLog(@"Error: %@", error);
}];
于 2013-08-21T16:05:21.350 に答える