如何摆脱警告"Result of call 'resignFirstResponder()' is unused"?
How to get rid of warning "Result of call 'resignFirstResponder()' is unused"?
自从我将代码转换为 Swift 3
后,每当我不使用 UITextField
的 resignFirstResponder()
方法的结果时,我都会收到警告。
没有错误(至少目前是这样),但我真的不喜欢这样的警告。所以我的问题:
- 我真的应该使用这种调用的结果吗?如果答案是肯定的,我应该怎么处理它们?
- 如果答案是否定的:我怎样才能摆脱这些警告?
1) 您可以安全地忽略结果
2) 将这些行放在调用之前:
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-result"
resignFirstResponder 将 return false 当您要求辞职的对象拒绝这样做时。例如,如果文本字段正在编辑中,它将 return false ,我想你的示例中的搜索栏也会做同样的事情。因此,如果您忽略这些调用的结果,您可能会陷入混乱。
XCode 中的警告可能很烦人,但我个人认为它们通常很有帮助,您应该编辑代码以摆脱它们。当我处理大量新代码时,我倾向于产生警告,但总是定期清理它们。
在这种情况下,我建议您添加一些代码以涵盖搜索栏拒绝放弃第一响应者状态的可能性。
希望对您有所帮助。
正如 Shaggy D
所说,可以安全地忽略此警告。
如果您根本不想在您的项目中看到它们,您可以在 Build Settings
中将 GCC_WARN_UNUSED_VALUE
设置为 false/NO
。
或者在resignFirstResponder()
之前加上let _ =
:
let _ = resignFirstResponder()
自从我将代码转换为 Swift 3
后,每当我不使用 UITextField
的 resignFirstResponder()
方法的结果时,我都会收到警告。
没有错误(至少目前是这样),但我真的不喜欢这样的警告。所以我的问题:
- 我真的应该使用这种调用的结果吗?如果答案是肯定的,我应该怎么处理它们?
- 如果答案是否定的:我怎样才能摆脱这些警告?
1) 您可以安全地忽略结果
2) 将这些行放在调用之前:
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-result"
resignFirstResponder 将 return false 当您要求辞职的对象拒绝这样做时。例如,如果文本字段正在编辑中,它将 return false ,我想你的示例中的搜索栏也会做同样的事情。因此,如果您忽略这些调用的结果,您可能会陷入混乱。
XCode 中的警告可能很烦人,但我个人认为它们通常很有帮助,您应该编辑代码以摆脱它们。当我处理大量新代码时,我倾向于产生警告,但总是定期清理它们。
在这种情况下,我建议您添加一些代码以涵盖搜索栏拒绝放弃第一响应者状态的可能性。
希望对您有所帮助。
正如 Shaggy D
所说,可以安全地忽略此警告。
如果您根本不想在您的项目中看到它们,您可以在 Build Settings
中将 GCC_WARN_UNUSED_VALUE
设置为 false/NO
。
或者在resignFirstResponder()
之前加上let _ =
:
let _ = resignFirstResponder()