struct itemStruct { var name : String = "" { dIDSet (newname) { dIDSetnameTest(name) } }}func dIDSetnameTest (name : String) { println("dIDSet itemStruct: \(name)")}var item = itemStruct()item.name = "test"
如果我在类中移动代码,我会收到编译器错误:
class itemClass { struct classItemStruct{ var name : String = "" { dIDSet(newname) { dIDSetClassnameTest(name) } } } func dIDSetClassnameTest(name:String) { println("dIDSet itemClass: \(name)") } var structItem = classItemStruct()}var cItem = itemClass()cItem.structItem.name = "Test"
错误:无法使用类型为'(String)’的参数列表调用’dIDSelectClassnameTest’.
所有代码都可以在游乐场中复制.
解决方法 由于内部类的实例独立于@ABakerSmith注释链接中描述的外部类的任何实例,因此可能的解决方法是将dIDSetClassnameTest函数设为private和static,然后将其静态调用itemClass.dIDSetClassnameTest(name)on dIDSet方法 总结以上是内存溢出为你收集整理的ios – 调用didSet中的函数不在类中工作全部内容,希望文章能够帮你解决ios – 调用didSet中的函数不在类中工作所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)