在 Swift 中实现搜索栏

     2023-02-24     80

关键词:

【中文标题】在 Swift 中实现搜索栏【英文标题】:Implementing Search Bar in Swift 【发布时间】:2014-08-18 14:23:40 【问题描述】:

我一直在尝试在我的表格视图中实现一个搜索栏,以允许用户搜索事务名称。

这是我正在学习的教程:http://www.appcoda.com/search-bar-tutorial-ios7/

我在尝试将 Objective C 代码转换为 Swift 时遇到了问题,因为我卡在了“filterContentForSearchText”行。

这是我目前用于搜索栏的代码:

func filterContentForSearchText(searchText: NSString, scope: NSString) 
    let resultPredicate = NSPredicate(format: "name contains[c] %@", searchText)
    searchResults = arrayDataPayments.filteredArrayUsingPredicate(resultPredicate)
    println(searchResults)


func searchDisplayController(controller: UISearchDisplayController!, shouldReloadTableForSearchString searchString: String!) -> Bool 

    self.filterContentForSearchText(searchString, scope: self.searchDisplayController.searchBar.scopeButtonTitles)
    return true

谁能告诉我哪里出错了?

【问题讨论】:

【参考方案1】:

您可能必须这样做:

self.filterContentForSearchText(searchText: searchString, scope: self.searchDisplayController.searchBar.scopeButtonTitles[self.searchDisplayController.searchBar.selectedScopeButtonIndex])

【讨论】:

这给了我错误'找不到成员'objectAtIndex'。如果我使用 self.filterContentForSearchText(searchString, scope: self.searchDisplayController.searchBar.scopeButtonTitles().objectAtIndex(self.searchDisplayController.searchBar.selectedScopeButtonIndex)) 那么我得到错误 '(UISearchDisplayController!, shouldReloadTableForSearchString: String!) -> Bool没有名为“searchBar”的成员。 该代码现在运行,但不幸的是,我在该代码行上收到错误“致命错误:在展开可选值时意外发现 nil”。 检查scopeButtonTitles(或该行代码中的任何其他可选类型)是否为零。 @user3746428 要检查 nil,请使用 if 语句:if variable != nil。你可能想看看these questions。

尝试实现搜索栏时出现 Swift 错误

...】:2021-07-2919:45:39【问题描述】:我正在尝试在我的代码中实现搜索栏,但由于某种原因,我收到了错误,Failedtoproducediagnosticforexpression;pleasesubmitabugreport(https://swift.org/contribut 查看详情

在目标 c 中实现搜索栏和动画表视图

】在目标c中实现搜索栏和动画表视图【英文标题】:Implementingsearchbarandanimatingtableviewinobjectivec【发布时间】:2015-10-1608:35:32【问题描述】:从我开始编程时,我就使用了UISearchDisplayController。但是,现在它已被iOS8及更高版本弃用... 查看详情

在 Swift 3.0 中实现滑动以在没有导航栏的情况下向后导航

】在Swift3.0中实现滑动以在没有导航栏的情况下向后导航【英文标题】:ImplementswipetonavigatebackwithnonavigationbarinSwift3.0【发布时间】:2017-10-2522:53:29【问题描述】:这是我的视图控制器:我没有导航栏,但有一个后退按钮,可将用... 查看详情

使用 Swift 在 iOS 中平滑搜索栏动画

...间】:2017-03-0117:05:44【问题描述】:如何在iOS10设置应用中实现流畅的搜索栏动画?我尝试了不同的方法,但似乎都很紧张,尤其是在编辑结束或按下取消按钮时。是否有一些我遗漏的代码或者我的代码做错了什么?我怀疑下面... 查看详情

如何通过 Interface Builder 在 Objective-C 中实现搜索栏

】如何通过InterfaceBuilder在Objective-C中实现搜索栏【英文标题】:HowtoImplementtheSearchBarinObjective-CviaInterfaceBuilder【发布时间】:2012-10-2920:32:27【问题描述】:我有这个列表:<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEplistPUBLIC"-//Apple//D 查看详情

如何解决在离子3中实现搜索栏的管道时出现的错误(管道搜索找不到或未找到)

】如何解决在离子3中实现搜索栏的管道时出现的错误(管道搜索找不到或未找到)【英文标题】:howtosolvetheerror(pipesearchcouldn\'tfoundornotfound)inimplementingthepipesforasearchbarinionic3【发布时间】:2018-09-0223:09:43【问题描述】:在我尝试... 查看详情

使用swift3在tableview中搜索栏和部分

...,我想添加搜索栏,但我不知道如何过滤数据并在tableview中实现它。我的数据库存储在两个结构中:一个包含所有数据的结构。第二个结构获取节的第一个字母,第一个结构作为数组。我的结 查看详情

在 Rails 4 中实现通用搜索

】在Rails4中实现通用搜索【英文标题】:ImplementingUniversalsearchinrails4【发布时间】:2015-05-1219:32:29【问题描述】:我有一个带有多个模型和视图页面的rails4应用程序。我的应用程序的应用程序布局包含一个搜索栏。但它目前处于... 查看详情

我正在尝试在我的应用程序中实现搜索栏,以便我可以搜索从 parse.com 检索到的对象

】我正在尝试在我的应用程序中实现搜索栏,以便我可以搜索从parse.com检索到的对象【英文标题】:amtryingtoimplementsearchbarinmyappsothaticansearchtheobjectswhichareretrievedfromparse.com【发布时间】:2015-12-0219:23:38【问题描述】:importUIKitclassM... 查看详情

如何在 UITableView 中实现搜索功能?

】如何在UITableView中实现搜索功能?【英文标题】:HowmakesearchfunctioninUITableView?【发布时间】:2011-10-0509:53:23【问题描述】:我在UIViewController里面有UITableView...现在我想添加一个搜索栏来搜索UITableView中的所有数据...我真的很困惑... 查看详情

如何在 iOS 中实现错误栏?

】如何在iOS中实现错误栏?【英文标题】:HowtoimplementErrorbariniOS?【发布时间】:2014-06-0814:27:30【问题描述】:我是iOS编程和学习课程的新手。其中一个作业是关于实现一个错误栏,它会在没有网络时显示。它还说不要使用UIAlertV... 查看详情

如何在IOS应用中实现google图片搜索? [关闭]

】如何在IOS应用中实现google图片搜索?[关闭]【英文标题】:HowtoimplementgoogleimagesearchinIOSapplication?[closed]【发布时间】:2014-02-2110:52:36【问题描述】:我想在我的IOS应用程序中实现谷歌图像搜索,会有一个搜索栏,用户可以在其... 查看详情

在 UITableView 单元格 iOS Swift 中突出显示搜索结果

...【发布时间】:2016-02-0604:33:43【问题描述】:我在TableView中实现了一个搜索栏。现在我想强调结果。例如,如果我输入了两个字母,那么这两个字母应该在搜索栏下拉的结果TableView中突出显示。谁能帮我做到这一点?我知道我应... 查看详情

在 UICollectionViewController (Swift 4) 中实现 UISearchBarController?

】在UICollectionViewController(Swift4)中实现UISearchBarController?【英文标题】:ImplementUISearchBarControllerwithinUICollectionViewController(Swift4)?【发布时间】:2018-03-2217:33:39【问题描述】:我正在尝试在UICollectionViewController中实现UISearchBarCon 查看详情

如何在 Swift 中实现 NSWindowRestoration?

】如何在Swift中实现NSWindowRestoration?【英文标题】:HowtoimplementNSWindowRestorationinSwift?【发布时间】:2014-06-1000:50:12【问题描述】:我尝试在非基于文档的应用程序中在Swift中实现NSWindowRestoration协议。然而,restoreWindowWithIdentifier方... 查看详情

如何在 Swift 中实现单例类

】如何在Swift中实现单例类【英文标题】:HowtoImplementSingletonclassinSwift[duplicate]【发布时间】:2016-02-1822:01:56【问题描述】:我是swift编程新手,请告诉我如何使用代码在swift中实现单例类。在obj-c中我知道+(id)sharedManagerstaticMediaMode... 查看详情

在我的应用程序中实现搜索时出现错误“索引 6 超出范围 [0 .. 5]”

】在我的应用程序中实现搜索时出现错误“索引6超出范围[0..5]”【英文标题】:Igettheerror"index6beyondbounds[0..5]\'"whenimplementingsearchinmyapp【发布时间】:2016-05-2314:47:57【问题描述】:这是我的代码。在遵循多个关于如何在Swif... 查看详情

swift中实现用户输入防抖动的两种方法

功能需求用户通过App搜索服务器中的数据,当用户在搜索框中输入关键字时,要求App将关键字通过网络连接传递到服务器接口,并返回服务器的搜索结果。这里有个问题:假设用户最终想要输入的关键字为panda,那么App一共会向服... 查看详情