NSBundleResourceRequestが正常に完了した後、NSURLはnilになります

olynoise

私はビデオにアクセスするためにオンデマンドリソースを使用しています。

conditionallyBeginAccessingResourcesWithCompletionHandler返されるので、リソースを正常に取得していますresourcesAvailable == YES

その後、リソースのURLにアクセスできます。ただし、メインスレッドのURLはビデオであり、UIViewに表示する必要があるため、アクセスする必要があります。メインスレッドに切り替えてURLにアクセスしようとすると、nilになります。

また、完了ハンドラスレッドからメインスレッドにnil以外のURLを渡そうとしましたが、それでもビデオにアクセスできませんでした。

コード例は次のとおりです。

NSBundleResourceRequest * request = [self resourceRequest];

[request conditionallyBeginAccessingResourcesWithCompletionHandler:^(BOOL resourcesAvailable) {
    if (resourcesAvailable) {

        NSURL * url = [[NSBundle mainBundle] URLForResource:@"video" withExtension:@"mov"];
        /// url is non-nil here. 

        [[NSOperationQueue mainQueue] addOperationWithBlock:^{                       
            NSURL * urlOnMainThread = [[NSBundle mainBundle] URLForResource:@"video" withExtension:@"mov"];
            //urlOnMainThread is nil!                
        }];
} else {
    NSLog(@"resources unavailable, initiating download");
    [self requestVideo];
    }
}];
夢の風

メインスレッドのデータに実際にアクセスする前に、リクエストオブジェクトの割り当てが解除されているようです。あたりとして、ドキュメント

endAccessingResources()の呼び出し後、またはリソース要求オブジェクトの割り当てが解除された後、管理は終了します。

したがって、リクエストへの参照を保持するか、リソースに同期的にアクセスする必要があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Kubernetesポッドは正常に完了した後に期限切れになりますか?

分類Dev

テストが正常に完了した後、Jestが終了しない

分類Dev

AddPrinterDriverは失敗しましたが、正常に完了しました

分類Dev

最初のトランザクションが完了した後、2番目のトランザクションは待機したままになります

分類Dev

forEachが完了した後に応答を送信する必要があります

分類Dev

ajax呼び出しが完了した後に別の関数を呼び出す方法はありますか?

分類Dev

認証が完了した後、残り火で別のhbsに移動します

分類Dev

NSStringをNSURLに設定している間、NSURLはnil値を返します

分類Dev

ループを抜けた後、ポインタはnilになりました

分類Dev

AWSLambda関数が正常に完了した後にタイムアウトする

分類Dev

真空が「完了」した後、完全に待機するのはなぜですか?

分類Dev

phpにデータを正常に送信した後、angularjsajaxの結果は解析エラーになります

分類Dev

UITableViewControllerをSwiftUIに変換した後、UITableViewCell内のビューはnilになります

分類Dev

Rails has_secure_passwordは正常に保存されますが、パスワードがnilになります-検証に失敗します

分類Dev

テストが正常に完了した後、プロセスがハングする

分類Dev

ログイン後にnoMethodErrorが発生した後、current_userはnilと見なされます

分類Dev

完了ブロックを返す前にローカルオブジェクトがnilになりました-ObjectiveC

分類Dev

正常に完了すると、rsyncの出力はどのようになりますか?

分類Dev

JPanelの背景が2倍になりましたが、Panelは正常に機能しています

分類Dev

NSDataの割り当ては、割り当てられた直後に消えます(nilになります)

分類Dev

Swift –移行後にself.navigationControllerがnilになります

分類Dev

ユニットテストの要素は、完了後に保留のままになりました

分類Dev

viewDidLoadで設定された変数は後でnilになります

分類Dev

let定数文字列urlで作成した後、URLオブジェクトはnilになります

分類Dev

シングルトンクラスで初期化した後、配列はnilになります

分類Dev

画像を追加した後、オプションのUIImage配列はnilになります

分類Dev

DoWork()が完了した後、変数をRunWorkerCompleted()に渡します

分類Dev

完了ハンドラーの外部で変数がnilになります

分類Dev

マクロが正常に完了したら画像を非表示にします

Related 関連記事

  1. 1

    Kubernetesポッドは正常に完了した後に期限切れになりますか?

  2. 2

    テストが正常に完了した後、Jestが終了しない

  3. 3

    AddPrinterDriverは失敗しましたが、正常に完了しました

  4. 4

    最初のトランザクションが完了した後、2番目のトランザクションは待機したままになります

  5. 5

    forEachが完了した後に応答を送信する必要があります

  6. 6

    ajax呼び出しが完了した後に別の関数を呼び出す方法はありますか?

  7. 7

    認証が完了した後、残り火で別のhbsに移動します

  8. 8

    NSStringをNSURLに設定している間、NSURLはnil値を返します

  9. 9

    ループを抜けた後、ポインタはnilになりました

  10. 10

    AWSLambda関数が正常に完了した後にタイムアウトする

  11. 11

    真空が「完了」した後、完全に待機するのはなぜですか?

  12. 12

    phpにデータを正常に送信した後、angularjsajaxの結果は解析エラーになります

  13. 13

    UITableViewControllerをSwiftUIに変換した後、UITableViewCell内のビューはnilになります

  14. 14

    Rails has_secure_passwordは正常に保存されますが、パスワードがnilになります-検証に失敗します

  15. 15

    テストが正常に完了した後、プロセスがハングする

  16. 16

    ログイン後にnoMethodErrorが発生した後、current_userはnilと見なされます

  17. 17

    完了ブロックを返す前にローカルオブジェクトがnilになりました-ObjectiveC

  18. 18

    正常に完了すると、rsyncの出力はどのようになりますか?

  19. 19

    JPanelの背景が2倍になりましたが、Panelは正常に機能しています

  20. 20

    NSDataの割り当ては、割り当てられた直後に消えます(nilになります)

  21. 21

    Swift –移行後にself.navigationControllerがnilになります

  22. 22

    ユニットテストの要素は、完了後に保留のままになりました

  23. 23

    viewDidLoadで設定された変数は後でnilになります

  24. 24

    let定数文字列urlで作成した後、URLオブジェクトはnilになります

  25. 25

    シングルトンクラスで初期化した後、配列はnilになります

  26. 26

    画像を追加した後、オプションのUIImage配列はnilになります

  27. 27

    DoWork()が完了した後、変数をRunWorkerCompleted()に渡します

  28. 28

    完了ハンドラーの外部で変数がnilになります

  29. 29

    マクロが正常に完了したら画像を非表示にします

ホットタグ

アーカイブ