CoreDataの使用についてかなり新しいです。 Iは、関心のポイントに関する情報を座標基本格納クラスを持って、このクラスのコードは:私のデータモデルは目的に適していますか?
import Foundation
class StopAttributes: NSObject, NSCoding{
var latitude: Double!
var longitude: Double!
var state: String!
func encodeWithCoder(aCoder: NSCoder) {
aCoder.encodeDouble(latitude, forKey: "latitude")
aCoder.encodeDouble(longitude, forKey: "longitude")
aCoder.encodeObject(state, forKey: "state")
}
required init?(coder aDecoder: NSCoder) {
latitude = aDecoder.decodeDoubleForKey("latitude")
longitude = aDecoder.decodeDoubleForKey("longitude")
state = aDecoder.decodeObjectForKey("state") as! String
}
override init() {
super.init()
}
}
私は同様に、上述のクラスの配列を有する:また
var unsortedStopsData: [StopAttributes] = [StopAttributes]()
を、Iこの配列に約3000個のエントリを設定します。私はCoreDataを使用してこの配列を保存したいと思います。私は私の管理オブジェクトクラスのサブクラスを作り、このクラス内StopAttributes
の私の配列を保存できるように[StopAttributes]
としてunsortedStopsData
をキャスト、
最後に:私はそうのように私のデータモデルを定義しています。 私の質問は、私はデータモデルを正しく設計していますか?もしあなたが私にいくつかアドバイスをお願いしますか?
説明を理解してから、3000値の配列全体を取得せずにStopAttributesの特定のインスタンスを検索できるように、緯度、経度、州の属性を追加する必要があります。それは正しい?その場合、関係やフェッチされたプロパティで何かを定義する必要がありますか?私の推測では、取得したプロパティをいくつか追加しています。 –
3つすべてをデータのフィルタリングに使用する必要がある場合(必ずしもすべてを同時に必要とするわけではありません)、はい、すべて3つが必要です。何らかの形でこれに関連する別のエンティティがない限り、関係は必要ありません。フェッチされたプロパティは、おそらく、これまでの要件の記述に基づいて、おそらく必要ありません。 –