2011-12-18 61 views
0

在Xcode中,让我们说我创建一个对象,然后想调用一些setter方法:Xcode自动完成,占位符的可能值?

CLLocationManager* locMan; 
locMan = [[CLLocationManager alloc] init]; 

[locMan setDesiredAccuracy:<#(CLLocationAccuracy)#>]; // placeholder text 

当我打字的3号线,我可以很容易地自动完成了“setDesiredAccuracy”的一部分,和Xcode中的填充<#(CLLocationAccuracy)#>用于占位符参数值。

自动完成中是否有一种机制来获取可能值列表(kCLLocationAccuracyBestForNavigation, kCLLocationAccuracyBest, kCLLocationAccuracyNearestTenMeters, etc),至少在这种情况下?很显然,在许多情况下,可能的值列表将是毫无意义的...

我真的知道做这样的事情的唯一途径,当我根本不知道或忘记常量的名称是双倍点击占位符将其转换为实际文本,然后执行诸如Option +双击或Control + Option + Shift +之类的操作。搜索CLLocationAccuracy的文档。

回答

0

在几乎所有情况下,您都可以开始输入enum的typedef名称或前面加上“k”(如本例中)的typedef名称。

所以,在这里给你“CLLocationAccuracy”;键入“kcllocationacc”并要求自动完成为您提供可能的选择。 (你会注意到我不打算用大写字母,因为自动完成会为我解决这个问题。)

像这样的情况下,你必须提供“k”的情况是很少的。通常枚举typedef名称开始的可能选择。例如,autoresizingMaskUIViewAutoresizing(并且您被告知这是因为autoresizingMask已自动完成),所有可能的选项都以“UIViewAutoresizing”开头。所以你只需键入“uiviewauto”并要求自动完成,而你就是这样。

此外还有一些技术用于学习您未提及的自动完成之外的名称;例如,在枚举的名称内选择并按命令选项-2来阅读快速帮助。