3

それが可能であることを願っています。

アプリの起動後に非常に大きなファイル(辞書)をロードするコードがあります:

- (void)applicationDidFinishLaunching:(UIApplication *)application {
    NSString *filePath = [NSString stringWithContentsOfFile:[[NSBundle mainBundle]
        pathForResource:@"en_US" ofType:@"txt"]
        encoding:NSUTF8StringEncoding error:nil];
    dictionary = [NSSet setWithArray:[NSArray arrayWithArray:
        [filePath componentsSeparatedByCharactersInSet:
        [NSCharacterSet whitespaceAndNewlineCharacterSet]]]];
}

また、私は適切なコードを持っていますviewDidLoad:

- (void)viewDidLoad {
    [super viewDidLoad];
    self.progressView.progress = 0.0;
    [self performSelectorOnMainThread:
        @selector(applicationDidFinishLaunching:)
        withObject:nil
        waitUntilDone:NO];
}

しかし、 からUIProgressViewの作成の進行状況を強制的に表示する方法がわかりません。iOS シミュレーターでは数秒かかるため、デバイスでは数十秒以上かかる場合があります。私は本当に進捗状況を表示する必要があり、Activity Indicator View よりもこの方法を好みます。NSSet dictionaryNSArray

現時点でインポートされたアイテムの数を取得する方法に興味があります(すべてのアイテムの数はわかっています)。

何か案が?:)

4

3 に答える 3

0

NSURLRequest/NSURLConnection を使用して非同期リクエストを開始し、辞書データを取得する必要があります。NSURLConnection のデリゲートは、メイン スレッドへの非同期ディスパッチを実行して進行状況ビューの値を更新できる、読み取られたバイト数と残りのバイト数を提供します。

于 2013-07-29T23:19:00.370 に答える