这只是消息的核心数据对象:
#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*
中返回所有对象。