iOS에서 술어 사용
술어
코코아는 주로 필터의 조건을 지정하는 데 사용되는 클래스 NSPredicate 클래스를 제공합니다. 이 클래스는 필요한 조건을 정확하게 설명하고 각 대상을 술어를 통해 선별하여 조건과 일치하는지 판단할 수 있습니다.술어는 진짜 값이나 가짜 값을 계산하는 함수를 나타낸다.코코아에 봉인된 데이터베이스 프레임워크인 코코아 데이터에서 조회(모호한 조회 포함)를 할 때도 술어를 사용한다.다음은 술어의 사용 방법과 규칙에 대해 간략하게 소개한다.
NSPredicate *preicate = [NSPredicate predicateWithFormat:@"SELF CONTAINS[cd] %@", searchString];
// evaluate a predicate against an array of objects and return a filtered array
(NSArray *)filteredArrayUsingPredicate:(NSPredicate *)predicate;
배열에 모두 객체
술어구 규칙
@interface Person : NSObject
@property (nonatomic, assign) int age;
@property (nonatomic, copy) NSString *name;
@end
NSPredicate *pre = [NSPredicate predicateWithFormat:
@" pid>1 and height<188.0"];
술어 사용 클래스를 만드는 방법predicate WithFormat: (NSString*) format을 보았습니다. format에 있는 것들은 SQL의where 조건과 차이가 많지 않습니다.또한 매개 변수 format은 NSLog의 포맷 템플릿과 차이가 많지 않습니다. 만약에 1과 188.0이 전달된 매개 변수라면 다음과 같은 형식으로 작성할 수 있습니다.
@"pid>%d and height
NSString *predicateString =@"(engine.horsepower > 50) AND (engine.horsepower < 200)";
NSString *predicateString =@"engine.horsepower BETWEEN { 50, 200 }";
between 。
NSString *predicateString =@"name IN { 'Herbie', 'Snugs', 'Badger', 'Flap' }";
식별자 만들기 | 의미 | --| ------| | BEGINSWITH | 문자열이 다른 문자열로 시작하는지 확인| ENDSWITH | 문자열이 다른 문자열로 끝나는지 확인| CONTAINS | 문자열이 다른 문자열로 시작하는지 확인| [c] | 대소문자 구분 없음 | [d] | 발음 기호 구분 없음 없음 즉 악센트 없음 | [cd] | 대소문자 구분 없음 |
NSString *predicateString =@"name BEGINSWITH 'Bad'"; BEGINSWITH,ENDSWITH,CONTAINS[c][d][cd]
:
@”name LIKE ‘???er*’” Paper Plane 。
배열에 모두 문자열
SELF:
NSArray *arrays=[NSArray arrayWithObjects: @"Apple", @"Google", @"MircoSoft", nil];
NSPredicate *preicate = [NSPredicate predicateWithFormat:@"SELF CONTAINS[cd] %@", a];
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.