将JSQMessages框架与Core-data一起使用

时间:2015-04-22 16:53:40

标签: ios objective-c core-data message jsqmessagesviewcontroller

这只是消息的核心数据对象:

#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>

@class Account;

@interface Message : NSManagedObject

@property (nonatomic, retain) NSNumber * read;
@property (nonatomic, retain) NSDate * sentDate;
@property (nonatomic, retain) NSString * text;
@property (nonatomic, retain) NSString * receiver;
@property (nonatomic, retain) NSString * sender;
@property (nonatomic, retain) Account *account;

@end

然后这是Messages ViewController,加载消息代码:

- (void)loadMessages


messages = [[NSMutableArray alloc]initWithArray:_fetchedResultsController.fetchedObjects];



//------------------------------------------------------------------------------------------------------------------------------------------------- Demo message just demo an incoming message.

static NSString *senderId = @"2";
static NSString *senderDisplayName = @"a";


JSQMessage *message = [[JSQMessage alloc] initWithSenderId:senderId
                                         senderDisplayName:senderDisplayName
                                                      date:[NSDate distantPast]
                                                      text:@"helloloo"];

messages = [[NSMutableArray alloc]initWithObjects:message, nil];

//------------------------------------------------------------------------------------------------------------------------------------------------- Demo message just demo an incoming message.

现在我是这个框架的新手https://github.com/jessesquires/JSQMessagesViewController,我遍历了框架文档并且没有找到我的问题的答案:

我可以在此框架中使用(NSFetchedResultsController)吗? 如果是这样,我如何以正确的方式使用(NSFetchedResultsController)中的JSQMessages CollectionView DataSource并从我的核心数据中返回所有消息?我知道如何使用(NSFetchedResultsController)但不确定如何使用CollectionView和此框架。 似乎CollectionView数据源/委托方法仅适用于NSmutableArray,当我使用(NSFetchedResultsController)工作时,应用程序崩溃。

例如:

return [_fetchedResultsController.fetchedObjects objectAtIndex:indexPath.item];

VS

return messages[indexPath.item]; 

当我使用_fetchedResultsController.fetchedObjects我的应用崩溃时。

所以在想到该做什么之后我说好了如果我将我的.fetchedObjects (NSarray)转换为我的(NSmutablearray)消息然后我得到了堆栈我我不知道如何以正确的方式做到这一点我需要帮助。 我只需要一种方法将我的所有邮件从SQlite数据库返回到我的应用程序。

我也看过Parse示例https://github.com/relatedcode/RealtimeChat,但是我想要自己的代码而不必向Parse.com支付费用并且能够使用Core-Data。

当我这样称呼时:JSQMessage我需要一些如何告诉它在我的获取结果控制器*.fetechedobjects*中返回所有对象。

0 个答案:

没有答案