CoreDataエンティティの構造をとる:Coredata:関連オブジェクトを設定すると、長すぎる
Invoice <---->> Invoiceline <<-----> Product
NSManagedオブジェクトクラスの実装
// intended to be overridden by the subclass
class var entityName { /* return the entity name */ }
// generic class function to create new entity
class func create() -> NSManagedObject
{
let context = // the main context
let record = NSEntityDescription.insertNewObjectForEntityForName(self.entityName, inManagedObjectContext: context)
return record
}
サンプルトランザクション:
let product = // a product object
let invoice = Invoice.create() as! Invoice
let invoiceLine = InvoiceLine.create() as! InvoiceLine
invoiceLine.product = product
invoiceLine.invoice = invoice
// complete the transaction
invoice.checktout()
数コリドータに挿入されているインボイスの数が200に達するKは、invoiceLine's
product
プロパティは時間がかかりすぎる設定:
invoiceLine.product = product
だから、私は、メモリの割り当てをチェックするためにXCodeの機器を使用し、私は毎回私invoiceLine.product = product
は、coredataが私の中で、product
ためinvoiceLines
すべての関連をロードしている、ということが分かりましたケース6KがinvoiceLines
であるため、別のproduct
をinvoiceLine
に関連付けると、その特定のproduct
のすべての関連するinvoiceLine
がロードされ、最終的にはメモリの割り当てが大きくなります。
質問:invoiceLine.product = product
を:それは私が行うときproduct
ためinvoiceLine
を関連するすべてのロードからcoredataを防ぐことは可能ですか?