
var formVC:UIVIEwController!
我也想尝试一个名为的函数:
func formVC()->UIVIEwController{....} 我知道在OBJC中它有用,但我没有看到在Swift中这样做的方法.有没有办法解决这个问题,或者我不理解Swift中明显的架构/概念变化?
提前致谢.
这在ObjC中是一个坏主意,在Swift中它是非法的.考虑其中一些情况:class X { var value : Int = 0 func value() -> Int { return 1 }}let x = X() 在这种情况下x.value是什么?是Int还是它() – >诠释?将类的方法视为闭包是合法且有用的.
如果我们更加棘手,并且这样做会怎样?
class X { let value: () -> Int = { 2 } func value() -> Int { return 1 }}let x = X()let v = x.value() // ???? Swift应该使用属性值然后调用它吗?或者它应该调用方法值()?闭包是完全合法的属性.
ObjC实际上存在相同的限制.您无法创建与方法冲突的合成属性(如果它们具有不同的类型;如果它们具有相同的时间,则ObjC将默默地不合成访问器).你正在考虑Swift属性,就像它们等同于ObjC的ivars,但那是不对的. Swift的属性等同于ObjC的属性(即访问ivars的方法).您无法访问Swift中的基础ivars.
总结以上是内存溢出为你收集整理的function – Swift,变量与方法名称相同全部内容,希望文章能够帮你解决function – Swift,变量与方法名称相同所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)