- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在我的应用程序中配置我的搜索栏。我有一个包含 NSObject 实例的数组,并尝试使用搜索选项来查找(这个 NSObjects 的)合适的属性。其实,我可以找到它。我的问题是,我只能在 UISearch 字段中输入正确的字母。当我尝试键入字母时,我的 NSObject 类的“名称”属性不包含,我得到一个错误:空数组的索引 0 超出范围。我完全理解发生了什么——数组是空的,我试图从空数组中取出一些东西。但是我已经检查过,如果我的数组是空的,那么为什么它的错误仍然发生?请看一下代码:
- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope
{
self.searchResults = [NSArray new];
NSPredicate *resultPredicate = [NSPredicate predicateWithFormat:@"name contains[c] %@", searchText];
self.searchResults = [self.placeOfObjects filteredArrayUsingPredicate:resultPredicate];
if ([self.searchResults objectAtIndex:0] != nil){
_filteredName = ((placeHolder *)(self.searchResults[0])).name;
}
NSLog(@"name is %@", _filteredName );
}
self.placeOfObjects 是一个包含 NSObject 类“place”实例的数组。它有几个属性,名字就是其中之一。它只包含文本。我怎样才能在不出错的情况下实现搜索?为什么当我输入 ([self.searchResults objectAtIndex:0] != nil)
时它仍然尝试在空数组中搜索?
如有任何建议,我们将不胜感激!
最佳答案
您为什么不先尝试检查数组计数。如果 count 大于 0,那么你可以去从中获取一些东西,否则你可以离开它。尝试这样的事情:
if(!(yourMainArray.count==0))
{
NSArray *subArray= [yourMainArrayobjectAtIndex:0];
}
else
{
//Show some alert regarding empty data !
}
您的 placeOfObjects
将是您的 mainArray。之后,您将从中填充您的 SearchResults 数组。因此,检查 placeOfObjects
Count 的计数,如果它的计数 > 0,则只填充另一个数组。
希望这对您有所帮助。
关于ios - 使用 UISearch 出现错误 : index 0 beyond bounds for empty array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24504294/
我正在从解析中查询,当我尝试使用搜索栏进行搜索时,它返回“无结果”。我试图弄清楚我在显示对象时做错了什么,因为它确实在 NSLog 中显示它找到了对象。 我的 viewDidLoad: - (v
当我开始编辑搜索栏内容时,我试图扩展 UISearchBar 的高度。我正在 UISearchBarController 中执行以下代码。 func searchBarTextDidBeginEdit
我有一个预填充“当前位置”的 UISearch 栏,但是当用户开始输入时,我想删除预填充的文本,只显示用户正在输入的文本。我已经尝试过了,但似乎无法正常工作: -(void)searchBar:(UI
我正在使用 uisearchbar、tableview 和 JSON Web 服务使用以下代码进行搜索。当前的问题是,尽管应用程序正在搜索并在表格 View 中呈现数据,但它是在搜索栏中发生每个文本更
我有一个带有 uisearchbar 和 uitable 的简单 View Controller 。我的问题是,当点击搜索栏时,我看到委托(delegate)函数 searchBarShouldBeg
在我的 Storyboard上,我添加了一个 UISearchBar,并在其下方添加了一个表格 View 。在 iPhone 8 上,我看到 UISearchBar 位于导航栏/标题的正下方;在 iP
用于呈现 SearchController 的代码: searchController = UISearchController(searchResultsController:viewcontrol
我需要实现搜索历史记录。所以我想做的是在尚未输入文本时在搜索显示 Controller 中显示历史记录。 我实现了这个: -(void)searchDisplayControllerDidBeginS
我试图在 swift 4 中使搜索栏透明。 这是我的代码 let searchBar = UISearchBar() searchBar.sizeToFit() search
我只是想知道在 iOS 应用程序中是否可以将 UISearchBar 或 UISearchDisplayController 设置为 UIActionSheet? 最佳答案 UIActionSheet
我在一个社交网络上工作,我希望用户名只使用小写,在用户名文本字段中,我如何让键盘不允许大写字母(我可以在事后强制 textfield.text 字母变成小写但我真的不想那样做)我还需要它为 UISea
我正在尝试在我的应用程序中配置我的搜索栏。我有一个包含 NSObject 实例的数组,并尝试使用搜索选项来查找(这个 NSObjects 的)合适的属性。其实,我可以找到它。我的问题是,我只能在 UI
我是一名优秀的程序员,十分优秀!