Ios 编译器无法在合理时间内对此表达式进行类型检查;尝试将表达式拆分为不同的子表达式
我是Ios编程新手,下面的表达式给出了一个错误:Ios 编译器无法在合理时间内对此表达式进行类型检查;尝试将表达式拆分为不同的子表达式,ios,Ios,我是Ios编程新手,下面的表达式给出了一个错误: let combine = date.enumerated().map {index, date in return (date,self.arrFriendId[index],self.arrFriendName[index],self.arrFriendImage[index],self.arrMsgType[index],self.arrMessage[index], self.arrLastMsgTime[index], self.ar
let combine = date.enumerated().map {index, date in
return (date,self.arrFriendId[index],self.arrFriendName[index],self.arrFriendImage[index],self.arrMsgType[index],self.arrMessage[index], self.arrLastMsgTime[index], self.arrNotifyStatus[index])}
请帮我解决这个问题。
提前感谢当单个表达式执行很多操作时,通常会发生此错误。所以编译器告诉你们把它分解成子表达式 假设您想要
数组类型的输出组合
,您可以这样做:
let combine = date.enumerated().map { index, date -> Any in
let id = self.arrFriendId[index]
let name = self.arrFriendName[index]
let image = self.arrFriendImage[index]
let messageType = self.arrMsgType[index]
let message = self.arrMessage[index]
let messageTime = self.arrLastMsgTime[index]
let status = self.arrNotifyStatus[index]
return (date, id, name, image, messageType, message, messageTime, status)
}
当单个表达式执行很多操作时,通常会发生此错误。所以编译器告诉你们把它分解成子表达式
假设您想要数组类型的输出组合
,您可以这样做:
let combine = date.enumerated().map { index, date -> Any in
let id = self.arrFriendId[index]
let name = self.arrFriendName[index]
let image = self.arrFriendImage[index]
let messageType = self.arrMsgType[index]
let message = self.arrMessage[index]
let messageTime = self.arrLastMsgTime[index]
let status = self.arrNotifyStatus[index]
return (date, id, name, image, messageType, message, messageTime, status)
}
什么是日期?是日期数组吗?另外,您希望的预期输出是什么?date是一个数组,预期输出也将是数组。这种大元组在Swift中非常罕见。看起来您已经为每个属性(id、name、image)创建了一组单独的数组,而您真正想要的是一个具有id/name/image属性的Friend
struct。然后你将有一个单一的朋友数组
,这些问题大部分都会消失。什么是日期
?是日期数组吗?另外,您希望的预期输出是什么?date是一个数组,预期输出也将是数组。这种大元组在Swift中非常罕见。看起来您已经为每个属性(id、name、image)创建了一组单独的数组,而您真正想要的是一个具有id/name/image属性的Friend
struct。然后,您将拥有一组朋友
,这些问题中的大多数都将消失。