के बजाय एनएसएआरआरएआर लौट रहा है किसी कारण से सभी एनएसएसटींग टाइप किए गए गुण मेरे आलेख ऑब्जेक्ट में एनएसएआरआरएएस के रूप में वापस लौटाए जा रहे हैं। उन्हें पुनर्प्राप्त करने के लिए मेरा कार्य यहां दिया गया है: कोर डेटा NSStrings
- (NSArray *)getSavedArticles
{
NSFetchRequest *fetchRequest = [[[NSFetchRequest alloc] init] autorelease];
NSError *error = nil;
NSEntityDescription *entity = [NSEntityDescription
entityForName:@"Article" inManagedObjectContext:[self managedObjectContext]];
[fetchRequest setEntity:entity];
NSSortDescriptor *dateSort = [NSSortDescriptor sortDescriptorWithKey:@"last_opened" ascending:NO];
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:dateSort]];
NSArray *fetchedObjects = [[self managedObjectContext] executeFetchRequest:fetchRequest error:&error];
return fetchedObjects;
}
मैंने इनके लिए एनएसएमएनेज्ड ऑब्जेक्ट मॉडल नहीं बनाया है, और इसके बजाय मैं केवल केवीओ का उपयोग करके उन्हें एक्सेस कर रहा हूं।
//self.data has the array returned from getSavedArticles
NSManagedObject *object = [self.data objectAtIndex:indexPath.row];
NSString *path = [object valueForKey:@"path"];
NSString* id = [object valueForKey:@"id"];
जब मैं चर फलक में इसे देखो, path
और id
पर मैं (__NSArrayI *) ... Variable is not a CFString.
इनमें से किसी का वर्णन मुद्रण देख भी जब सरणियों मुद्रण इस्तेमाल किया कोष्ठक बाहर प्रिंट करता है।
मैं बस सोच रहा हूं कि यह सॉर्ट डिस्क्रिप्टर के कारण हो सकता है? मैंने दो बार जांच की है कि इन ऑब्जेक्ट्स में जा रहे डेटा को सही टाइप किया गया है, और SQLite डेटाबेस जो मैं बैकअप ले रहा हूं सब कुछ स्ट्रिंग प्रदर्शित कर रहा है।
मैंने सिम्युलेटर में ऐप को दोबारा स्थापित करने और इसे रीसेट करने का प्रयास किया है। मुझे अभी भी एनएसएसटींग के बजाय एनएसएआरएआरई मिलती है।
मुझे सच में नहीं पता कि यहां क्या हो रहा है। किसी भी सहायता की सराहना की जाएगी।
संपादित करें: मुझे बस कुछ और दिलचस्प मिला। मैं यह देखने के लिए एक और जांच करता हूं कि कोई आलेख सहेजा गया है या नहीं, और इस बार मुझे लेख पथ के लिए एनएसएआरएआर नहीं मिला:
- (NSString *)hasArticleSaved:(NSString *)id
{
NSString *path = nil;
NSFetchRequest *fetchRequest = [[[NSFetchRequest alloc] init] autorelease];
[fetchRequest setPredicate:[NSPredicate predicateWithFormat:@"%K == %@", @"id", id]];
NSEntityDescription *entity = [NSEntityDescription
entityForName:@"Article" inManagedObjectContext:[self managedObjectContext]];
[fetchRequest setEntity:entity];
NSError *error = nil;
NSArray *fetchedObjects = [[self managedObjectContext] executeFetchRequest:fetchRequest error:&error];
if (fetchedObjects.count > 0) {
NSManagedObject *savedArticle = [fetchedObjects objectAtIndex:0];
path = [savedArticle valueForKey:@"path"];
}
return path;
}
अब मैं वास्तव में उलझन में हूं। कोई लेने वाला?
व्हाउप्स करने की आवश्यकता है! यह सवाल में एक टाइपो है। मैं objectAtIndex का उपयोग कर रहा हूँ। अभी फिक्सिंग – MishieMoo
हाँ, मैं सोच रहा था कि यह भी संकलित कैसे हुआ। – TechZen