2015-12-02 134 views
0

我的目標是在iOS7及更高版本中運行我的應用程序。我想在tableView標題中放置一個搜索欄。我使用UISearchController進行iOS8及以上版本的全局聲明。如何在Swift中全局聲明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的某些行爲。

我可以知道我該如何在全局聲明變量,以便實現我的目標? 非常感謝。

+2

如果您的應用程序要支持所有iOS,U可以只使用所有searchdisplaycontroller,有沒有任何區別,U也可以只使用搜索欄,如果這些2凌亂 – Tj3n

回答

0

在聲明searchController變量之前,請檢查iOS版本並相應地進行初始化。做這樣的事情

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