对于这样一个非常简单的对象:
@interface MyObject : NSObject @property(strong) NSObject* thingAboutMyObject; - (void) aThingToDo; - (void) moreToDo; - (void) yetAnotherAction; @end
使用MyObject的人获得代码完成,其中包括NSObject的所有方法和属性.这是有道理的,为什么会发生这种情况,但对于大多数情况,我最关心的方法是在类本身.我想知道在创建类时是否有一种方法可以提示xcode IDE在处理类的对象时要"突出显示"实际的界面.
我已经看到一些类似乎通过在方法定义中复制类名来"处理"它,因此它们在完成列表中排序,如:
- (void) myobjectAThingToDo; - (void) myobjectMoreToDo; - (void) myobjectYetAnotherAction;
但这似乎不是一个特别优雅的解决方案([myObject myobjectAThingToDo]
)并且它在涉及多态性的情况下可怕地崩溃.
这是一个"理想"解决方案的例子.如果有人没有提供合适的替代方案,我实际上可能会提出正式的功能要求.但就目前而言,它至少应该澄清我的要求.
如果有一种方法可以提示代码完成,那么我的完成列表应按类分组,例如:
为MyObject
[M] aThingToDo
[M] moreToDo
[M] thingAboutMyClass
[M]还有另一个动作
NSObject的
[M] accessibilityActivate
[M] accessibilityActivation
...
据推测,更深层次的对象层次结构可以只列出相同样式的父类,通过继承"邻近"排序.这样的列表很容易在您键入时进行过滤,并消除没有匹配的类分组.
有人可以提出解决方案来帮助解决这个问 我怀疑有什么东西可以完全满足我想要的东西,但是如果有很好的方法可以将类自己的界面带到最前端,或者至少让NSObject脱离困境,我很乐意听到它.