Swift Ios 解析 SearchBar 并发症
Swift Ios Parse SearchBar Complication
我最近在学习一个教程,该教程显示 Swift 的早期版本用于从 创建 table 用户Parse 带有搜索功能。下面的代码允许我按照我的意愿在 table 中显示所有用户,但是一旦搜索文本被放入搜索栏中就不会更新 table。 (有两个用户数组,因为我对编程还比较陌生,并且正在遵循两个不同的教程来帮助实现 table)。非常感谢任何帮助!!
var userArray: [String] = []
var userList:NSMutableArray = NSMutableArray()
@IBOutlet weak var searchBar: UISearchBar! = UISearchBar()
func loadUsers(name:String){
var findUsers:PFQuery = PFUser.query()
if !name.isEmpty {
findUsers.whereKey("name", containsString: name)
}
findUsers.findObjectsInBackgroundWithBlock{
(objects:[AnyObject]!, error:NSError!) -> Void in
self.userList = NSMutableArray(array: objects)
self.tableView.reloadData()
}
}
func searchBar(searchBar: UISearchBar, textDidChange searchText: String) {
loadUsers(searchText)
}
func searchBarCancelButtonClicked(searchBar: UISearchBar) {
loadUsers("")
}
override func viewDidLoad() {
super.viewDidLoad()
loadUsers("")
searchBar.delegate = self
self.navigationItem.hidesBackButton = true
var query = PFUser.query()
query.whereKey("username", notEqualTo: PFUser.currentUser().username)
var users = query.findObjects()
for user in users {
userArray.append(user["name"] as String)
println(userArray)
}
}
// MARK: - Table view data source
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
// #warning Potentially incomplete method implementation.
// Return the number of sections.
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete method implementation.
// Return the number of rows in the section.
return userArray.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell:UITableViewCell = self.tableView.dequeueReusableCellWithIdentifier("cell") as UITableViewCell
if userArray.count >= 1 {
cell.textLabel?.text = userArray[indexPath.row]
}
return cell
}
您将必须创建一个新数组来保存在 searchBar 中保存结果的数据。
此外,最好创建一个 bool 变量来处理屏幕上显示的数据(搜索结果为 true,loadUsers 为 false)。
这篇文章可以帮助到您:http://shrikar.com/blog/2015/02/16/swift-ios-tutorial-uisearchbar-and-uisearchbardelegate
我最近在学习一个教程,该教程显示 Swift 的早期版本用于从 创建 table 用户Parse 带有搜索功能。下面的代码允许我按照我的意愿在 table 中显示所有用户,但是一旦搜索文本被放入搜索栏中就不会更新 table。 (有两个用户数组,因为我对编程还比较陌生,并且正在遵循两个不同的教程来帮助实现 table)。非常感谢任何帮助!!
var userArray: [String] = []
var userList:NSMutableArray = NSMutableArray()
@IBOutlet weak var searchBar: UISearchBar! = UISearchBar()
func loadUsers(name:String){
var findUsers:PFQuery = PFUser.query()
if !name.isEmpty {
findUsers.whereKey("name", containsString: name)
}
findUsers.findObjectsInBackgroundWithBlock{
(objects:[AnyObject]!, error:NSError!) -> Void in
self.userList = NSMutableArray(array: objects)
self.tableView.reloadData()
}
}
func searchBar(searchBar: UISearchBar, textDidChange searchText: String) {
loadUsers(searchText)
}
func searchBarCancelButtonClicked(searchBar: UISearchBar) {
loadUsers("")
}
override func viewDidLoad() {
super.viewDidLoad()
loadUsers("")
searchBar.delegate = self
self.navigationItem.hidesBackButton = true
var query = PFUser.query()
query.whereKey("username", notEqualTo: PFUser.currentUser().username)
var users = query.findObjects()
for user in users {
userArray.append(user["name"] as String)
println(userArray)
}
}
// MARK: - Table view data source
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
// #warning Potentially incomplete method implementation.
// Return the number of sections.
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete method implementation.
// Return the number of rows in the section.
return userArray.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell:UITableViewCell = self.tableView.dequeueReusableCellWithIdentifier("cell") as UITableViewCell
if userArray.count >= 1 {
cell.textLabel?.text = userArray[indexPath.row]
}
return cell
}
您将必须创建一个新数组来保存在 searchBar 中保存结果的数据。
此外,最好创建一个 bool 变量来处理屏幕上显示的数据(搜索结果为 true,loadUsers 为 false)。
这篇文章可以帮助到您:http://shrikar.com/blog/2015/02/16/swift-ios-tutorial-uisearchbar-and-uisearchbardelegate