Swift 返回后执行代码,难以置信

San*_*ago 0 swift

我创建了一个 tableview 并且在单元格中有一个切换,我单击切换将在单元格的协议中有一个函数,并且在该函数的实现中我有一个这样的逻辑: 在此处输入图片说明

执行返回后的打印功能!不敢相信有人知道为什么吗?或者这是苹果的bug?

小智 6

屏幕截图中的警告准确地告诉您发生了什么:

“return”后面的表达式被视为“return”的参数。

当 return 被调用时,它有时需要一个表达式,在这种情况下是一个函数。

如果您不希望 print 语句成为 return 的一部分,则可以在 return;末尾添加 a

  • 在 Swift 中,Void 函数中的 return 语句只能返回一个特定值 Void()。(Void的一个实例,相当于空元组()。)而print的返回类型是Void,这意味着它返回Void()。因此,调用 print("what?") 的结果可以是 Void 函数的返回值,如您所见。感谢这里的回答:https://developer.apple.com/forums/thread/671904#671904021 (2认同)