在为iOS编程时遇到以下情况:
我有一个带有类方法+ (Store*)sharedStore
的单例类。当我想在单例对象上调用实例方法时,我可以使用点语法来获取该对象,即[Store.sharedStore foo]
。
但是,在输入点后,Xcode不会自动完成'sharedStore'。另一方面,[[Store sharedStore] foo]
已自动完成!
是否有'类属性'这样的东西?如果我可以将sharedStore
转换为类的readonly属性,则点语法将获得自动完成。
更一般地说,Xcode只是在点语法之后不会在非属性的任何东西上自动完成,即使这是调用(getter)方法的有效方式。
感谢任何解决方案,变通方法或信息。
答案 0 :(得分:3)
目前,就课程吸气者而言,似乎我们必须:
Store.sharedStore
;或[Store sharedStore]
。我最近没有尝试过其他编辑器(例如AppCode)。另一个编辑器可能自动修正类getter上的点语法。
关于什么是正确的,合乎逻辑的或可读的,意见各不相同。
答案 1 :(得分:0)
Dot语法用于访问属性。有些人将它与实例方法一起使用,这些方法返回一个值并且没有参数,但这是一个糟糕的方法。所有其他情况都是错误的。