如何从数组中返回所有消息
Posted
技术标签:
【中文标题】如何从数组中返回所有消息【英文标题】:How to return all messages from array 【发布时间】: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 框架。
模拟器屏幕截图:
http://postimg.org/image/gkjpssbbd/
【问题讨论】:
您发布的代码有很多问题。代码和你在文中所说的表明你对ios编程的了解很差。在使用核心数据等高级概念之前,您需要学习基础知识。 不,先生,这很简单,我的知识也不是最好的,但我知道一些员工,所以让我不同意你的看法。话虽如此,我只是认为这很简单,我想我错了,而且比我想象的要复杂。 很简单。你有麻烦,因为你不知道你在做什么。您可以从学习如何格式化代码开始。 (当你清楚地理解为什么前两行是假的时,回来问一个新问题。) 上述代码中至少有 3 个错误,可能有 4 个。(由于您没有向我们展示声明,因此无法确定。) 看来你应该学习一些工作人员然后回来。 NSFetchresultcontroller 只能在没有 NSArray 的情况下工作,因此您不能分配 NSMutable 数组中的消息(它们必须是因为 JSQMessages 框架演示表明它们也必须在 JSQMessages 文档中采用 NSMutableArray 形式)。从那以后,我创建了简单的 NSArray mystring 来保存来自 NSFetchResultController 的“.fetchedobjects”数组,然后将该数组初始化为我的 _messages NSMutableArray。我可能不擅长在这里用语言解释自己,但我确实知道我在做什么先生,所以不要光顾我。 【参考方案1】:如果我没看错的话,看起来您正在使用似乎是另一个数组的对象重新初始化您的数组。这只会将 JSQMessages 数组作为对象添加到您的 self.messages 数组中,该对象实际上包含消息。我对 JSQMessage 一无所知,但它返回给您的似乎已经是一组消息。初始化 self.messages 后,只需将 self.messages 数组设置为 JSQMessages 数组即可。
如果不是这种情况,请实际阅读该框架的文档。
【讨论】:
试了你说的还是只返回一条消息以上是关于如何从数组中返回所有消息的主要内容,如果未能解决你的问题,请参考以下文章
未找到结果时如何从 Mongoose Find 查询返回自定义消息而不是空数组