gpt4 book ai didi

ios - Swift 2.0,闭包=函数()

转载 作者:搜寻专家 更新时间:2023-11-01 06:43:59 25 4
gpt4 key购买 nike

嘿,我有一个问题,我似乎无法让它工作

我有闭包类型

public typealias VoidCompletionHandler = ()->Void

然后我创建一个可选变量

var favouritePropertyStateHandler:VoidCompletionHandler?

那我就叫它

self.favouriteCellStateHandler?()

一切正常

self.propertyModel?.favouritePropertyStateHandler = { self.favouriteStateChanged() }

与函数类型完美搭配

func favouriteStateChanged()->Void

但为什么我不能

self.propertyModel?.favouritePropertyStateHandler = self.favouriteStateChanged()

类型匹配 - 都是 ?

()->Void  

我得到的错误是

Cannot assign a value of type 'Void' ('aka '()') to a value of type 'VoidCopletionHanlder?'

已解决

self.propertyModel?.favouritePropertyStateHandler = self.favouriteStateChanged

然而,这会产生另一个问题,我如何才能不导致永久保留循环?如果我想让自己变弱?

最佳答案

您分配的是 self.favouriteStateChanged() 的结果,而不是函数本身。尝试

self.propertyModel?.favouritePropertyStateHandler = self.favouriteStateChanged

相反。

关于ios - Swift 2.0,闭包=函数(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32462064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com