gpt4 book ai didi

swift - 删除搜索栏上的文本并返回到搜索前的 View 。 swift

转载 作者:行者123 更新时间:2023-11-28 07:01:38 25 4
gpt4 key购买 nike

我已经有一些项目显示在 tableview 上。当我使用搜索栏进行搜索时,同一个 TableView 会更新为新项目。(我今天的项目)。

但是如果我删除了我在搜索栏上写的内容,我需要返回它们之前的项目。我怎样才能做到这一点 ?

     import UIKit
import Alamofire

class MovieViewController: UIViewController, AsyncUpdateProtocol,UISearchBarDelegate, UITableViewDelegate, UITableViewDataSource {


@IBOutlet weak var myTable: UITableView!
@IBOutlet weak var searchBar: UISearchBar!
var myArray: Array<Movie>!
var movieData: MovieData!


override func viewDidLoad() {
super.viewDidLoad()
searchBar.delegate = self
self.myTable.dataSource = self
self.movieData = MovieData(controllerUpdate: self)
self.myArray = self.movieData.data
}


func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.movieData.data.count;
}


func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell: AnyObject = self.myTable.dequeueReusableCellWithIdentifier("Cell") as! UITableViewCell
cell.textLabel!!.text = self.movieData.data[indexPath.row].title
cell.textLabel!!.adjustsFontSizeToFitWidth = true
var url: NSURL
if((self.movieData.data[indexPath.row].poster ) != nil){
url = NSURL(string: "http://image.tmdb.org/t/p/w500\(self.movieData.data[indexPath.row].poster)") as NSURL!
}else{
url = NSURL(string: "http://developer-agent.com/wp-content/uploads/2015/05/images_no_image_jpg3.jpg") as NSURL!
}
var data = NSData(contentsOfURL: url) as NSData!
var imagem = UIImage(data: data!)
cell.imageView!!.image = imagem
return cell as! UITableViewCell
}
func searchBarSearchButtonClicked(searchBar: UISearchBar){
pesquisa(searchBar.text)
searchBar.resignFirstResponder()
}


func pesquisa(nome: String){
self.movieData.data.removeAll()
self.movieData.request(nome)
}

最佳答案

您应该对 textDidChange 使用 UISearchBar 委托(delegate)方法并检查是否为 nil,如果为 nil,则您可以像在您的 View 中加载数据一样加载数据,这就是我的意思:

func searchBar(searchBar: UISearchBar, textDidChange searchText: String) {

if searchText.isEmpty == true {

self.movieData = MovieData(controllerUpdate: self)

}

}

关于swift - 删除搜索栏上的文本并返回到搜索前的 View 。 swift ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31879707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com