编译器无法在合理的时间对该表达式进行类型检查;尝试将表达式分解为不同的子表达式 [英] The compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
本文介绍了编译器无法在合理的时间对该表达式进行类型检查;尝试将表达式分解为不同的子表达式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我是Ios编程的新手,以下表示出了错误:
I am new in Ios programming and the below expressing is giving an error:
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])}
请帮助我解决这个问题.预先感谢
please help me to solve this. thanks in advance
推荐答案
当单个表达式执行大量操作时,通常会发生此错误.因此,编译器告诉您将其分解为子表达式.
This error generally occurs when a single expression is doing a lot of things. So compiler tells you to break it to sub-expressions.
假设您想要类型为 Array< Any>
的输出 combine
,则可以这样操作:
Assuming you want the output combine
of type Array<Any>
, You can do it like this:
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)
}
这篇关于编译器无法在合理的时间对该表达式进行类型检查;尝试将表达式分解为不同的子表达式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文