我怎么能导出消息为文本file.Only选择的用户

问题描述:

这是我得到的所有信息的代码,但我只想要选择的消息放入文本文件..我怎么能导出消息为文本file.Only选择的用户

-(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]]; 
} 

这是很难回答你的问题不知道您的CoreData体系结构,但通常:您正在请求所有消息。 您应该创建一个仅返回您想要打印的消息的NSFetchRequest。

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];