web-dev-qa-db-ja.com

Xcodeがコアデータエンティティと属性のインデックスオプションを表示しないのはなぜですか?

Xcode 9(ベータ6)では、データモデルインスペクターにインデックスオプションがありません(.xcdatamodeldファイル):

enter image description hereenter image description here

それらはXcode 8で見ることができます:

enter image description hereenter image description here

この決定の背後にある理由を知っていますか?

20
Trzy Gracje

シンプルなインデックス作成はiOS 11で廃止され、Xcode 9 UIはそれを反映しています。これはNSPropertyDesciptionのドキュメントからです:

isIndexed deprecated

WWDC 2017で コアデータの新機能 セッションは、新しいインデックスAPIについて説明しました。そのセッションを見てみましょう。

9
Tom Harrington

@tomharringtonが言ったように、解決策はWWDC 2017ビデオにあります:インデックス作成は10:32に始まり、デモは16:40に始まります。

Xcode9を使用して作成およびインデックスを作成することは引き続き可能です。

  • まず、エンティティを選択し、+(エンティティの追加)を長押しして、[フェッチインデックスの追加]を選択します。

first step

  • 次に、インデックスに適切な名前を付け、インデックスを作成するプロパティを選択します(データの編成方法に応じて昇順または降順を選択します) second step

  • 最後に、ビデオで説明したように、これは移行をトリガーせず、アプリを更新するユーザーはインデックスを取得しません。モデルを強制的に移行する場合は、エンティティを選択し、右パネル> 3番目のタブ>バージョン管理>ハッシュ修飾子を設定して、ハッシュ修飾子を追加します。 optionally, third step

59
Martin