धन्यवाद,: जब आप एक विभाग को हटाते हैं, उन को खोजने का एक अच्छा तरीका है इस तरह कुछ करने के लिए किया जाएगा। मैं शायद ऐसा करूँगा। इस बीच में मैं ऐसा करने का एक अलग रास्ता मिल गया था:
1.) परिवर्तन पर सूचनाओं के लिए रजिस्टर:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(managedObjectContextDidChange:)
name:NSManagedObjectContextObjectsDidChangeNotification
object:managedObjectContext];
2.) जब परिवर्तन होते हैं और एक कर्मचारी को अद्यतन हो जाता है। मैं जाँच करता है, तो उस वस्तु विभागों को 0 संबंधों की है और इसे हटा:
- (void)managedObjectContextDidChange:(NSNotification *)notification {
NSSet *updatedObjects = [[notification userInfo] objectForKey:NSUpdatedObjectsKey];
for(NSManagedObject *obj in updatedObjects){
// walk through updated objects -> check for employees
// check if they still contain departments and if not delete them
if([obj.entity.name isEqualToString:@"Employee"]){
NSLog(@"Employee changed!");
if([[(Employee*)obj Departments] count]==0){
NSLog(@"No more relations -> Delete Employee");
[managedObjectContext deleteObject:obj];
}
}
}}
कि अच्छी तरह से भी काम करता है, लेकिन अगर आप जिसके लिए इस तरह का व्यवहार निरीक्षण करने के लिए कई अलग अलग संस्थाओं है और अधिक जटिल हो सकती है।
यदि आप कोको टच या हिम तेंदुए पर काम कर रहे हैं, तो आप इस तर्क को विभाग की '-prepareForDeletion' विधि में डाल सकते हैं। –
मुझे लगता है कि यह एक बेहतर समाधान है, धन्यवाद! – Nick
जब आप विभाग कहते हैं, तो क्या आपका मतलब एनएसएमएनेज्ड ऑब्जेक्ट कॉल विभाग है? – Ricardo