【发布时间】:2016-09-07 10:29:59
【问题描述】:
我有两个自定义对象数组([InboundMessages],[OutboundMessages])
struct InboundMessage {
let senderName: String!
let senderText: String!
let senderProfileImageName: String!
let timeAndDateMessageReceived: NSDate!
let hasBeenRead: Bool!
let messageUUID = NSUUID().UUIDString
let conversationUUID: NSUUID = NSUUID()
}
struct OutboundMessage {
var replyText: String!
var messageUUID = NSUUID().UUIDString
var timeAndDateMessageSent: NSDate!
var conversationUUID: NSUUID = NSUUID()
}
与另一个自定义对象“对话”一起保存
class Conversation {
var uUID: NSUUID!
var inboundMessages: [InboundMessage] = []
var outboundMessages:[OutboundMessage] = []
}
我想在表格视图中显示按日期排序的对话,就像正常对话一样,但经过多次尝试后,我无法弄清楚如何去做。我觉得最好将它们全部推入一个排序数组,然后让 tableview 处理它,但我仍然不确定如何对它们进行排序,然后如何将两个不同的自定义对象放入同一个数组中?
您可能已经猜到我对 swift 和 iOS 非常陌生,因此我们将不胜感激。
谢谢
【问题讨论】:
-
你想的没错,只要把它们放在同一个数组中,按日期排序,但是为每个对象添加另一个属性来检查它是入站还是出站,那么你可以轻松正确地放置它们
-
如何将两个不同的自定义对象放到同一个数组中,可以像这样[AnyObject]使用AnyObject数组
-
@ArslanAsim 虽然这肯定会起作用,但它不是最佳解决方案。您最好使用自定义协议并让每个结构实现它,然后使组合数组包含该协议的成员。
-
感谢您的快速回复!如何使用两个自定义对象按日期对数组进行排序?即如何访问对象中的每个日期。然后正如@Tj3n 所说,我如何向它们添加另一个属性以检查它们是否是入站/出站等?我试过分别谷歌搜索这两个问题,但找不到答案。谢谢