【发布时间】:2015-04-13 23:17:28
【问题描述】:
NSArray *mystring = [[NSArray alloc]init];
mystring = _fetchedResultsController.fetchedObjects;
// NSString *string = [NSString stringWithFormat:@"%@",mystring];
_messages = [[NSMutableArray alloc]initWithArray:mystring];
for (Message *msg in _messages) {
[mystring lastObject];
NSString *text = [NSString stringWithFormat:@"%@",msg.text];
self.messages = [[NSMutableArray alloc] initWithObjects:
[[JSQMessage alloc] initWithSenderId:kJSQDemoAvatarIdWoz
senderDisplayName:_user_email
date:[NSDate distantPast]
text:text],
nil];
例如,我的数组现在包含 3 条消息,然后在应用程序上我只能看到数组中的最后一条消息。我知道问题可能是我只是假设:或者我的数组声明有问题,可能是 .first 对象或 .last 对象或 .count 需要以某种方式设置或者很可能我在 [JSQMESSAGE] 对象中遗漏了一些东西,它将所有消息数组返回到应用程序中。无论哪种方式,我都是为此而来的,所以如果有人可以指导我做什么,我肯定不能打电话给[[JSQMESSAGE ALLOC] 一百万次......
我需要一些关于 NSINTEGER 的示例,或者我只需要显示所有消息,我该怎么做?还有我怎样才能看到所有的发件人消息而不仅仅是收到的消息? 总的来说,对这个不清楚的框架的一些帮助也会很棒。
我将核心数据与 fetchedResultsController 一起使用。 还有 JSQMessages 框架。
模拟器屏幕截图:
【问题讨论】:
-
您发布的代码有很多问题。代码和你在文中所说的表明你对iOS编程的了解很差。在使用核心数据等高级概念之前,您需要学习基础知识。
-
不,先生,这很简单,我的知识也不是最好的,但我知道一些员工,所以让我不同意你的看法。话虽如此,我只是认为这很简单,我想我错了,而且比我想象的要复杂。
-
很简单。你有麻烦,因为你不知道你在做什么。您可以从学习如何格式化代码开始。 (当你清楚地理解为什么前两行是假的时,回来问一个新问题。)
-
上述代码中至少有 3 个错误,可能有 4 个。(由于您没有向我们展示声明,因此无法确定。)
-
看来你应该学习一些工作人员然后回来。 NSFetchresultcontroller 只能在没有 NSArray 的情况下工作,因此您不能分配 NSMutable 数组中的消息(它们必须是因为 JSQMessages 框架演示表明它们也必须在 JSQMessages 文档中采用 NSMutableArray 形式)。从那以后,我创建了简单的 NSArray mystring 来保存来自 NSFetchResultController 的“.fetchedobjects”数组,然后将该数组初始化为我的 _messages NSMutableArray。我可能不擅长在这里用语言解释自己,但我确实知道我在做什么先生,所以不要光顾我。
标签: ios arrays core-data nsfetchedresultscontroller