0
のフェッチ、私は、デバイスから非空のスマートアルバムのコレクションを取得しようとしています:Swift4/ios11を使用して、空でないスマートアルバム
let smartAlbumOptions = PHFetchOptions()
smartAlbumOptions.predicate = NSPredicate(format: "estimatedAssetCount > 0")
smartAlbums = PHAssetCollection.fetchAssetCollections(with: .smartAlbum, subtype: .albumRegular, options: smartAlbumOptions)
これは私が多くの例で使用さ見てきましたパラダイムでありますただし、.smartAlbumを指定することは決してありません。
<PHFetchResult: 0x1c40fce00> count=0
述語が「estimatedAssetCount> = 0」の場合は、フェッチのに対しリターンすべてのスマートアルバムを空にし、そうでない場合:問題はestimatedAssetCount> 0述語は常にゼロ結果を返すということです。何かが欠けているのは、スマートアルバムとの関係ですか?
確かに、estimatedAssetCountは不正確ですが、常にゼロを返すことは、あまりにもひどいものであると思われます。返された場合、NSNotFoundは非ゼロ値として評価されます。多くの人がこのテクニックを使っていますが、スマートなアルバムでは壊れているようです。もちろんコレクションも不変なので、ポストフェッチフィルタはどちらでも動作するとは思えませんが、私はそれを試してみて、素早い返信に感謝します! – BlueskyMed
あなたはNSNotFoundがゼロでないと評価されることは間違いありませんが、> 0とは評価されません。常にゼロを返すことは奇妙に見えると思いますが、スマートなアルバムが方法。 – creeperspeak
プロセスにヘッドバンギングが含まれていないとアップルにはなりません – BlueskyMed