0

2つのNSManagedObjectがあります。

  1. DataEntered
  2. プロヴァンス

それらの間には関係があります。DataEnteredには1つのProvenceが必要であり、Provenceには1つまたは複数のDataEnteredが含まれる場合があります。

すべてが正常に機能していますが、Instruments and Allocationsを使用している場合、ProvenceをDataEnteredに設定するたびに、新しい_CDSnapshot_Provence_が#Livingに表示されます。

Provence * provence = [[self fetchedResultsController] objectAtIndexPath:indexPath];
[self.dataEntered setAddress_provence:provence];

DataEnteredのProvenceのセッターは、CoreDataによって管理され、カスタマイズはありません。

DataEnteredを保存​​すると、正しく保存されます。複数の生きている_CDSnapshot_Provence_の作成を引き起こす可能性があるものは何ですか?

ありがとう!

@class Provence;

@interface DataEntered : NSManagedObject

@property (nonatomic, retain) NSString * name;
@property (nonatomic, strong) Provence *address_provence;

@end


@class Provence;

@interface DataEntered : NSManagedObject

@property (nonatomic, retain) NSString * name;
@property (nonatomic, strong) Provence *address_provence;

@end



@class DataEntered;

@interface Provence : NSManagedObject

@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSSet *dataEnteredAddress_Provence;

@end


@interface Provence (CoreDataGeneratedAccessors)

- (void)addDataEnteredAddress_ProvenceObject:(DataEntered *)value;
- (void)removeDataEnteredAddress_ProvenceObject:(DataEntered *)value;
- (void)addDataEnteredAddress_Provence:(NSSet *)values;
- (void)removeDataEnteredAddress_Provence:(NSSet *)values;

@end


#import "Provence.h"
#import "DataEntered.h"


@implementation Provence

@dynamic name;
@dynamic dataEnteredAddress_Provence;

@end 
4

1 に答える 1

2

私はまったく同じものを見ましたが、これは当然のことだと思います。

https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CoreData/Articles/cdChangeManagement.htmlにある Apple ドキュメントの 「競合検出と楽観的ロック」セクションを参照してください。

「Core Data が永続ストアからオブジェクトを取得すると、その状態のスナップショットが作成されます。スナップショットは、オブジェクトの永続プロパティのディクショナリです。通常は、オブジェクトのすべての属性と、対 1 を持つオブジェクトのグローバル ID です。関係。"

同じリンクには、読むのに役立つセクションもあります-スナップショット管理

私が遭遇した問題は、管理対象のすべてのオブジェクトに障害が発生した後、またはコンテキストのリセットを行った後に、Core Data がそのメモリ割り当てを解放することでした。

これと関連トピックに関するブログ投稿を公開しました: メモリ割り当てに関するコア データの問題- http://finalize.com/2013/01/04/core-data-issues-with-memory-allocation/

お役に立てれば。

スコット

于 2013-01-04T21:50:17.210 に答える