繁体   English   中英

如何在Swift中全局声明uisearchController

[英]How to declare uisearchController globally in Swift

我的目标是在iOS7及更高版本中运行我的应用。 我想在tableView标头中放置一个搜索栏。 我在iOS8和更高版本中使用UISearchController,在其中将声明全局放置。

var searchController : UISearchController!

但是,如果我将目标更改为iOS7,则会显示错误

'UISearchController' is only available on iOS 8.0 or newer

XCode建议我把

@available(iOS 8.0, *)

属性封闭类,以便我对其进行修复。 这样,整个类只能使用iOS8及更高版本运行。

我的目标是使用适用于iOS7的UISearchDisplayController和适用于iOS8及更高版本的UISearchController进行搜索。 为此,我需要将其声明为全局变量,因为我需要该变量来更改tableView的某些行为。

我可以知道如何在全局范围内声明变量,以便实现目标吗? 非常感谢你。

在声明searchController变量之前,请检查iOS版本并进行相应的初始化。 做这样的事情

  if #available(iOS 8.0, *) {
                // your iOS 8 related code
            } else {
                // Fallback on earlier versions
            };

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM