Cra*_*lot 8 uiactivityviewcontroller swift
目标是将以下条件更新为Swift 2.2语法,该语法建议使用#selector or explicitly constructing a Selector.
if activityViewController.respondsToSelector("popoverPresentationController") {
}
Run Code Online (Sandbox Code Playgroud)
但是,使用以下作为替换失败并生成错误说 Argument of #selector cannot refer to a property
if activityViewController.respondsToSelector(#selector(popoverPresentationController)) {
}
Run Code Online (Sandbox Code Playgroud)
实施此检查的正确方法是#selector什么?
您可以使用以下内容:
if activityViewController.respondsToSelector(Selector("popoverPresentationController")) {
}
Run Code Online (Sandbox Code Playgroud)
或者如果您仅针对 iOS
if #available(iOS 8.0, *) {
// You can use the property like this
activityViewController.popoverPresentationController?.sourceView = sourceView
} else {
}
Run Code Online (Sandbox Code Playgroud)
或者如果你的代码不限于iOS
#if os(iOS)
if #available(iOS 8.0, *) {
activityViewController.popoverPresentationController?.sourceView = sourceView
} else {
}
#endif
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2165 次 |
| 最近记录: |