任何人都可以告诉我如何从xml feed中搜索存储了哪些对象的NSMutable Arry 我有以下代码
- (void) searchTableView {
NSString *searchText = searchBar.text;
NSMutableArray *searchArray = [[NSMutableArray alloc] init];
//blog entries is the nsmutable array in which objects are stored from RSS feed
for (NSMutableDictionary *dictionary in blogEntries)
{
NSArray *images=[dictionary objectForKey:@"image"];
NSArray *titlearray = [dictionary objectForKey:@"title"];
NSDictionary *imagesDic=[NSDictionary dictionaryWithObject:images forKey:@"image"];
NSDictionary *titlearrayDic=[NSDictionary dictionaryWithObject:titlearray forKey:@"title"];
[searchArray addObject:imagesDic];
[searchArray addObject:titlearrayDic];
}
//know the problem comes in below code i just want to compare title not image string as there any way to search only of title array not for both image in title some what like this For(nsstring *stemp in searcArray.titleArray etc)
for (NSString *sTemp in searchArray)
{
NSRange titleResultsRange = [sTemp rangeOfString:searchText options:NSCaseInsensitiveSearch];
if (titleResultsRange.length > 0){
[copyListOfItems addObject:sTemp];
}}
问题是这个代码只是保存标题而不是图像,如果我保存图像,那么它也搜索我不想做的图像字符串。我希望用户只能按标题搜索,然后当他在文本框中键入内容时,如果搜索对某些值为真,那么只有表格单元格中显示标题和图像。
因为这是RSS APPLiction并且feed来自xml feed
哪一个
click here
特别是我正在提取这个xml feed并在表格单元格中显示图像和标题tage知道我想在其中实现搜索栏
谢谢.... 我在等你的回复......
答案 0 :(得分:2)
@mipadi是对的 - 首先尝试使用containsObject:
。
如果这不起作用,只需一个简单的循环即可 - 你可以在那里放入你想要的任何匹配标准。例如此代码通过比较名称属性进行搜索:
- (id)searchArray:(NSArray *)haystack for:(id)needle {
for(id temp in haystack)
if ([temp name] isEqual:[needle name]])
return needle;
return nil;
}
希望有所帮助。
注意:如果你在数组中使用自己的对象,如果你覆盖了isEqual:
(和containsObject:
)
hash
答案 1 :(得分:1)
取决于您想要搜索的方式。如果您只是在寻找特定对象,可以使用containsObject:
。
答案 2 :(得分:0)
如果不了解您想要的内容,很难回答您的问题。但这里有一些起点:
indexOfObject-
开始的方法;我认为其中一个可能会做你想要的。还有filteredArrayUsingPredicate
。filterUsingPredicate
。希望其中一个可以帮助你。