2016-07-22 25 views
0

Hier exportieren kann, ist der Code, den ich All Nachricht bekam Aber ich will nur Nachricht in Textdatei setzen Ausgewählte ..Wie i-Nachricht in Text file.Only Ausgewählte Benutzer

-(void)testMessageArchiving 
{ 
    XMPPMessageArchivingCoreDataStorage *storage = [XMPPMessageArchivingCoreDataStorage sharedInstance]; 
    NSManagedObjectContext *moc = [storage mainThreadManagedObjectContext]; 
    NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"XMPPMessageArchiving_Message_CoreDataObject" 
                 inManagedObjectContext:moc]; 
    NSFetchRequest *request = [[NSFetchRequest alloc]init]; 
    [request setEntity:entityDescription]; 
    NSError *error; 
    NSArray *messages = [moc executeFetchRequest:request error:&error]; 

    [self print:[[NSMutableArray alloc]initWithArray:messages]]; 
} 

Antwort

0

Es ist schwer, Ihre Frage zu beantworten, ohne zu wissen Ihre CoreData-Architektur, aber generell: Sie fordern alle Nachrichten an. Sie sollten einen NSFetchRequest ausführen, der nur die Nachricht zurückgibt, die Sie drucken möchten.

0
XMPPMessageArchivingCoreDataStorage *storage = [XMPPMessageArchivingCoreDataStorage sharedInstance]; 
    NSManagedObjectContext *moc = [storage mainThreadManagedObjectContext]; 
    NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"XMPPMessageArchiving_Message_CoreDataObject" 
                 inManagedObjectContext:moc]; 
    NSFetchRequest *request = [[NSFetchRequest alloc]init]; 
    [request setEntity:entityDescription]; 
    NSError* error; 
    NSString *predicateFrmt = @"bareJidStr == %@"; 
    NSPredicate *predicate = [NSPredicate predicateWithFormat:predicateFrmt,[ _user valueForKey:@"jabberId"]]; 
request.predicate = predicate; 


    NSArray *data = [moc executeFetchRequest:request error:&error];