NSManagedObject
सबक्लास के लिए मैं एक कस्टम init
कैसे कोड कर सकता हूं? उदाहरण के लिए मुझे initItemWithName:Volume:
जैसे कुछ चाहिए। जहां Item
दो गुणों, name
और volume
के साथ NSManagedObject
सबक्लास है।एनएसएमएनेज्ड ऑब्जेक्ट सबक्लास के लिए कस्टम इनिट
उत्तर
कार्लोस,
के रूप में नेनाद मिहालोविक सुझाव आप इस के लिए एक वर्ग बना सकते हैं।
तो, उदाहरण के लिए, यदि आपके पास Item
वर्ग है, तो आप Item+Management
नामक एक श्रेणी बना सकते हैं और वहां सृजन कोड डाल सकते हैं। यहां आप एक साधारण उदाहरण पा सकते हैं।
// .h
@interface Item (Management)
+ (Item*)itemWithName:(NSString *)theName volume:(NSNumber*)theVolume inManagedObjectContext:(NSManagedObjectContext *)context;
@end
// .m
+ (Item*)itemWithName:(NSString *)theName volume:(NSNumber*)theVolume inManagedObjectContext:(NSManagedObjectContext *)context
{
Item* item = (Item*)[NSEntityDescription insertNewObjectForEntityForName:@"Item" inManagedObjectContext:context];
theItem.name = theName;
theItem.volume = theVolume;
return item;
}
आप एक नया आइटम बनाने के लिए चाहते हैं, जैसे
#import "Item+Management.h"
एक आयात करते हैं और इस
Item* item = [Item itemWithName:@"test" volume:[NSNumber numberWithInt:10] inManagedObjectContext:yourContext];
// do what you want with item...
यह दृष्टिकोण बहुत लचीला है और बहुत आसान के दौरान बनाए रखने के लिए है की तरह का उपयोग ऐप विकासशील
आप Stanford Course Lecture 14 कोड नमूना पर और जानकारी प्राप्त कर सकते हैं। इसके अलावा, स्टैनफोर्ड द्वारा आईट्यून्स पर मुफ्त वीडियो भी देखें (यदि आपके पास ऐप्पल आईडी है)।
उम्मीद है कि मदद करता है।
पीएस सादगी के लिए, मुझे लगता है कि name
एक NSString
है और volume
एक NSNumber
है। volume
के लिए NSDecimalNumber
प्रकार का उपयोग करना बेहतर हो सकता है।
बहुत बहुत धन्यवाद Flex_Addicted !! लेकिन, एक सवाल: हम इन तरीकों को एक श्रेणी में क्यों बना सकते हैं, न कि 'NSManagedObject' subclass में? मेरे पास कई कक्षाएं हैं और मुझे कम से कम 7 श्रेणियों की आवश्यकता होगी। – Carlos
आप http://stackoverflow.com/questions/9297101/nsmanagedobjects-with-categories पर और http://blog.chrismiles.info/2011/06/organising-core-data-for-ios.html पर जानकारी पा सकते हैं (मुझे बाद में बहुत अधिक टिप्स पसंद है)। यदि आप अपने प्रबंधित ऑब्जेक्ट के लिए कस्टम क्लास उत्पन्न करने के लिए एक्सकोड का उपयोग करते हैं तो एक साधारण स्पष्टीकरण: यदि आप अपनी इकाई में कुछ संशोधित करते हैं, और फिर उन परिवर्तनों को समायोजित करने के लिए कक्षा उत्पन्न करते हैं, तो एक्सकोड आपके द्वारा मूल उपclass में लिखे गए कोड को ओवरराइट करेगा। –
समझ गया !! बहुत धन्यवाद!! – Carlos
- 1. आईओएस सबक्लास UICollectionViewCell कस्टम इनिट विधि
- 2. मैं अपने एनएसएमएनेज्ड ऑब्जेक्ट सबक्लास में ओवरराइड क्यों नहीं कर पा रहा हूं?
- 3. कस्टम दृश्य/यूवीव सबक्लास
- 4. ColorFilter का कस्टम सबक्लास बनाना?
- 5. कस्टम प्रॉपर्टी चेंज पर कस्टम कैलियर सबक्लास को रीड्रॉइंग करना
- 6. आईफोन: सबक्लास
- 7. ऑब्जेक्ट को तत्काल करने के बाद गिस कॉल इनिट विधि
- 8. कैलियर सबक्लास
- 9. उदाहरण के लिए कस्टम ऑब्जेक्ट सरणी सहेजें
- 10. सबक्लास
- 11. रूबी में आईओ के कस्टम सबक्लास कैसे बनाते हैं?
- 12. सबक्लास
- 13. UITableViewCell सबक्लास
- 14. एक सबक्लास
- 15. पाइथन इनिट
- 16. कस्टम ऑब्जेक्ट की सूची के लिए हटाने के लिए समस्या
- 17. bash --login -i के लिए एक कस्टम इनिट स्क्रिप्ट निष्पादित करने के लिए उदाहरण के लिए शॉर्टकट
- 18. एक सबक्लास
- 19. कोरडाटा - एनएसएमएनेज्ड ऑब्जेक्ट (जनरेशन गैप पैटर्न) के उप-वर्ग का उप-वर्ग कैसे बनाएं
- 20. जावास्क्रिप्ट में इनिट ऑब्जेक्ट का उपयोग करके || ऑपरेटर
- 21. ट्विटर बूटस्ट्रैप - सबक्लास
- 22. रेल - सबक्लास
- 23. मैप्डसुपरक्लास - सबक्लास
- 24. जीएसओएन: कस्टम ऑब्जेक्ट deserialization
- 25. एक सबक्लास
- 26. सबक्लास - सुपरक्लास
- 27. कस्टम ऑब्जेक्ट एंड्रॉइड
- 28. कस्टम ऑब्जेक्ट इंस्पेक्टर घटक?
- 29. जावास्क्रिप्ट कस्टम ऑब्जेक्ट जेनेरिक
- 30. आईओएस - क्या यूआईएलएबल सबक्लास ऑब्जेक्ट को पहला उत्तरदाता बनने के लिए मजबूर करना संभव है?
निम्नलिखित प्रश्न देखें http://stackoverflow.com/questions/10489578/custom-initializer-for-an-nsmanagedobject। मैं शायद आपकी मदद करूंगा। –
@NenadMihajlovic +1। अच्छी टिप्पणी! –