属性作为类中的函数类型

罗德里格斯(GW。Rodriguez)

给定以下内容:

enum Output {
    case typeA, typeB
}    

class SomeClass {
    var outputFunc: (Int) -> () = methodA // error here

    var output: Output = .typeA {
        didSet {
            if output == .typeA {
                outputFunc = methodA
            }
            else {
                outputFunc = methodB
            }
        }
    }

    func methodA(val: Int) {/* do something */} 
    func methodB(val: Int) {/* do something */} 
}

didSet编译中的所有内容都很好,但是在声明outputFunc的地方出现错误:

无法将类型'((SomeClass)->(Int)->()'的值转换为指定的类型'(Int)->()'

我不确定如何初始化此属性。我尝试将其更改为,self.methodA但显然self尚不存在。如果我将的类型更改为outputFunc(SomeClass) -> (Int) -> ()则该属性会编译,但是didSet会给我相反的错误。

牧羊人大卫

该错误消息可能更具描述性,因为真正的错误确实是您self在准备就绪之前就尝试访问它,因为它outputFunc是一个实例属性,methodA而是一个实例方法。

要解决此问题,您可以简单地使outputFunc lazy

lazy var outputFunc: (Int) -> () = methodA

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

类类型作为vb.net中的函数参数

来自分类Dev

C ++类模板作为函数返回类型

来自分类Dev

使用类外部的模板类中的typedef成员作为成员函数的返回类型

来自分类Dev

如何从构造函数作为参数的函数中访问私有类的属性?

来自分类Dev

类中构造函数的类型

来自分类Dev

通用函数中的属性类型

来自分类Dev

如何优雅地将类的所有属性作为函数中的参数传递?

来自分类Dev

类型类中的类型与值构造函数

来自分类Dev

调用主类作为JsonSubTypes中的类型

来自分类Dev

作为Haskell中扩展类的原始类型?

来自分类Dev

如何将类中每个属性的类型设置为打字稿中的函数签名?

来自分类Dev

数组作为java类中的属性?

来自分类Dev

函数对象作为Julia中的类型字段

来自分类Dev

枚举类型作为构造函数中的参数

来自分类Dev

函数对象作为Julia中的类型字段

来自分类Dev

类名作为公共函数中的参数

来自分类Dev

将函数作为类中的参数传递

来自分类Dev

未捕获的类型错误:无法读取 reactjs 中未定义的属性“类函数”

来自分类Dev

以类作为参数并返回该类实例的函数的类型

来自分类Dev

C ++将临时类型名类作为函数参数传递

来自分类Dev

模板类型的成员枚举类作为函数参数

来自分类Dev

将函数作为类型未知的类的模板参数传递

来自分类Dev

作为属性和对象类型的函数参数的表达式

来自分类Dev

Swift中类的存储类型属性

来自分类Dev

对象作为类图UML中类的数据属性

来自分类Dev

函数类型作为Swift中的返回类型说明

来自分类Dev

将类作为函数并用函数类型声明参数类型是否很棒?

来自分类Dev

将类作为函数并用函数类型声明参数类型是否很棒?

来自分类Dev

让函数返回C ++类中的任何类型

Related 相关文章

  1. 1

    类类型作为vb.net中的函数参数

  2. 2

    C ++类模板作为函数返回类型

  3. 3

    使用类外部的模板类中的typedef成员作为成员函数的返回类型

  4. 4

    如何从构造函数作为参数的函数中访问私有类的属性?

  5. 5

    类中构造函数的类型

  6. 6

    通用函数中的属性类型

  7. 7

    如何优雅地将类的所有属性作为函数中的参数传递?

  8. 8

    类型类中的类型与值构造函数

  9. 9

    调用主类作为JsonSubTypes中的类型

  10. 10

    作为Haskell中扩展类的原始类型?

  11. 11

    如何将类中每个属性的类型设置为打字稿中的函数签名?

  12. 12

    数组作为java类中的属性?

  13. 13

    函数对象作为Julia中的类型字段

  14. 14

    枚举类型作为构造函数中的参数

  15. 15

    函数对象作为Julia中的类型字段

  16. 16

    类名作为公共函数中的参数

  17. 17

    将函数作为类中的参数传递

  18. 18

    未捕获的类型错误:无法读取 reactjs 中未定义的属性“类函数”

  19. 19

    以类作为参数并返回该类实例的函数的类型

  20. 20

    C ++将临时类型名类作为函数参数传递

  21. 21

    模板类型的成员枚举类作为函数参数

  22. 22

    将函数作为类型未知的类的模板参数传递

  23. 23

    作为属性和对象类型的函数参数的表达式

  24. 24

    Swift中类的存储类型属性

  25. 25

    对象作为类图UML中类的数据属性

  26. 26

    函数类型作为Swift中的返回类型说明

  27. 27

    将类作为函数并用函数类型声明参数类型是否很棒?

  28. 28

    将类作为函数并用函数类型声明参数类型是否很棒?

  29. 29

    让函数返回C ++类中的任何类型

热门标签

归档