今天我们来讲点高级点的知识,在搜索框中输入关键字,下方的tableView自动匹配包含关键字的结果。用我最近在做的一款美食类APP为例。
在storyboard中拖入一张表,然后与Vc中的代码关联起来:
@IBOutlet weak var tableView: UITableView!
获取我们所需要的菜品信息:
var caipins = CaipinArray().caipinArray
var searchResults = [caipin]()
caipins是所有的菜品,searchResults是我们通过搜索的菜品信息,它们都是caipin类,caipin类是我们之前定义好的,格式如下:
import UIKit
class caipin: NSObject {
var name:String = ""
var rest:String = ""
var price:Float = 0
var score:Float = 0
var image:String = ""
var collected:Bool = false
var taste:String = ""
var nutrition:String = ""
init(name:String,rest:String,price:Float,score:Float,image:String,collected:Bool,taste:String,nutrition:String){
self.name = name
self.rest = rest
self.price = price
self.score = score
self.image = image
self.collected = collected
self.taste = taste
self.nutrition = nutrition
}
}
CaipinArray是一个赋值过的菜品类,就不演示代码了,然后我们让vc继承tableview的datasource和delegate,实现这两个类的基本方法,本话重点不在这里就不演示了。
然后我们定义一个UISearchController的类