为什么有些来电者没有显示在“显示相关项目”列表中 (Xcode)?
Why are some Callers not displaying in the Show Related Items list (Xcode)?
我正在重构一些现有代码 (Objective-C),我想在 Xcode (9.2) 中找到已弃用函数的所有引用。为此,我单击 "Show Related Items" 菜单,选择 "Callers." 对于此功能,呼叫者选项显示为灰色。但是,我可以对该函数名称进行文本搜索,发现它实际上被引用了。
什么会导致函数的实现从调用者列表中隐藏?
被调用函数:
- (NSString *) createWifiUser: (NSString *) inuser:(NSString *)inpassword:(NSString *)inaccountid
{
//returns xml
}
来电者:
self.wsret= [[fpws createWifiUser:wifiname.text :wifipass.text :sharedManager.accountId ] mutableCopy];
来电者菜单变灰:
补充说明
我想知道这是否与 IDE 显示的有关函数参数语法的警告有关:
'inuser'用作前一个参数的名称而不是选择器的一部分
'inpassword'用作前一个参数的名称而不是选择器的一部分
谢谢!
看起来这个问题实际上是由未命名参数引起的。我重构了函数以使用命名参数:
- (NSString *)createWifiUser:(NSString *)inuser inpassword:(NSString *)inpassword inaccountid:(NSString *)inaccountid
{
//return xml
}
我还重构了调用方以使用命名参数:
self.wsret= [[fpws createWifiUser:wifiname.text inpassword:wifipass.text inaccountid:sharedManager.accountId ] mutableCopy];
警告消失了。来电者现在显示在“显示相关项目”菜单中。
Apple 关于未命名参数的文档:
Naming Methods
Use keywords before all arguments.
我正在重构一些现有代码 (Objective-C),我想在 Xcode (9.2) 中找到已弃用函数的所有引用。为此,我单击 "Show Related Items" 菜单,选择 "Callers." 对于此功能,呼叫者选项显示为灰色。但是,我可以对该函数名称进行文本搜索,发现它实际上被引用了。
什么会导致函数的实现从调用者列表中隐藏?
被调用函数:
- (NSString *) createWifiUser: (NSString *) inuser:(NSString *)inpassword:(NSString *)inaccountid
{
//returns xml
}
来电者:
self.wsret= [[fpws createWifiUser:wifiname.text :wifipass.text :sharedManager.accountId ] mutableCopy];
来电者菜单变灰:
补充说明
我想知道这是否与 IDE 显示的有关函数参数语法的警告有关:
'inuser'用作前一个参数的名称而不是选择器的一部分
'inpassword'用作前一个参数的名称而不是选择器的一部分
谢谢!
看起来这个问题实际上是由未命名参数引起的。我重构了函数以使用命名参数:
- (NSString *)createWifiUser:(NSString *)inuser inpassword:(NSString *)inpassword inaccountid:(NSString *)inaccountid
{
//return xml
}
我还重构了调用方以使用命名参数:
self.wsret= [[fpws createWifiUser:wifiname.text inpassword:wifipass.text inaccountid:sharedManager.accountId ] mutableCopy];
警告消失了。来电者现在显示在“显示相关项目”菜单中。
Apple 关于未命名参数的文档: Naming Methods
Use keywords before all arguments.