ios-使用NSPredicate过滤NSArray

问题描述

使用NSPredicate过滤NSArray
有一个NSArray,我想用predicate过滤一下。

NSLog(@""text is %@""txtSearch.text);NSPredicate *bPredicate =[NSPredicate predicateWithFormat:@""SELF beginswith[c] '%@'""txtSearch.text];arrSearchedPlayers =[arrPlayers filteredArrayUsingPredicate:bPredicate];NSLog(@""array after searched is %@""arrSearchedPlayers);

但是再输入文本时数组还是空的,使用下面的predicate的话就结果正常:

 NSPredicate *bPredicate =    [NSPredicate predicateWithFormat:@""SELF beginswith[c] 's'""];

这是为什么呢?

解决方案

NSPredicate *bPredicate =[NSPredicate predicateWithFormat:@""SELF beginswith[cd] %@""txtSearch.text];
时间: 2024-11-03 08:15:25

ios-使用NSPredicate过滤NSArray的相关文章

iOS 中由数组 NSArray 与 NSMutableArray 的使用理解偏差引发的多宗血案

iOS 中由数组 NSArray 与 NSMutableArray 的使用理解偏差引发的多宗血案 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 这个简单问题,一直以来,五年苹果开发经验告诉我,

ios-使用NSPredicate在NSArray中查找值

问题描述 使用NSPredicate在NSArray中查找值 使用NSArray 查找的值: NSArray *arr = [NSArray arrayWithObjects:@"299-1-1", @"299-2-1", @"299-3-1", @"399-1-1", @"399-2-1", @"399-3-1", @"499-1-1", @"499-2-

NSPredicate过滤数组数据

NSPredicate 编写软件时,经常需要获取一个对象集合,然后删除不满足条件的对象,保留符合条件的对象,从而提供一些有意义的对象. Cocoa提供了一个名为NSPredicate的类,他用于指定过滤器的条件.可以创建NSPredicate对象,通过该对象准确地描述所需的条件,对每个对象通过谓词进行筛选,判断他们是否与条件相匹配. Cocoa用NSPredicate描述查询的方式,原理类似于在数据库中进行查询.可以在数据库风格的API中使用NSPredicate类,例如Core Data和Sp

IOS谓词--NSPredicate

Cocoa 提供了NSPredicate 用于指定过滤条件,谓词是指在计算机中表示计算真假值的函数, 它使用起来有点儿像SQL 的查询条件,主要用于从集合中分拣出符合条件的对象,也可以 用于字符串的正则匹配.首先我们看一个非常简单的例子,对谓词有一个认知. #import <Foundation/Foundation.h> @interface Person: NSObject{ int pid; NSString *name; float height; } -(void) setPid:

IOS谓词--NSPredicate 和array

        NSArray *array = [NSArray array];        NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self.msgid == %@",feed.msgid];         NSArray *filterArr = [array filteredArrayUsingPredicate:predicate];         NSPredicate *predicat

iOS 在- (void)didReceiveMessages:(NSArray *)aMessages 接收到语音怎么播放

问题描述 发送语音的回调可以播放     接收语音的回调  播放不了   因为消息还没读  本地没有那个语音文件    有没有办法解决 解决方案 先下载语音消息到本地,再调用播放语音消息的方法

IOS开发之NSPredicate 查询、搜索

简述:Cocoa框架中的NSPredicate用于查询,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取. 最常用到的函数 + (NSPredicate *)predicateWithFormat:(NSString *)predicateFormat, ...; 1.比较运算符 > .< .== . >= .<= . != 例:@"number >= 99"   2.范围运算符:IN .BETWEEN 例:@"number BE

ios-NSDictionary中NSArray的NSPredicate

问题描述 NSDictionary中NSArray的NSPredicate 数组: ( {id:1,data:(@"macbook",@"mac mini")}, {id:2,data:(@"ipad",@"ipod")}, {id:3,data:(@"macbook",@"ipod")} ) predicate: NSString *text = @"mac"; [

[iOS]Objective-C 实用特性索引(Objective-C Feature Availability Index)

[iOS]Objective-C 实用特性索引(Objective-C Feature Availability Index) 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. Objective