PHP(私が最もよく知っているもの)では、これは1行の式です。
strpos('abc', 'b') !== false
Objective Cと同等のものは何ですか?
PHP(私が最もよく知っているもの)では、これは1行の式です。
strpos('abc', 'b') !== false
Objective Cと同等のものは何ですか?
[@"abc" rangeOfString:@"b"].location != NSNotFound
カテゴリは、このような機能を非常にうまくパッケージ化するために使用できると思います。
@interface NSString (ContainsString)
- (BOOL)containsString:(NSString *)string;
@end
@implementation NSString (ContainsString)
- (BOOL)containsString:(NSString *)string
{
NSRange range = [self rangeOfString:string options:NSCaseInsensitiveSearch];
return range.location != NSNotFound;
}
@end
使用すると、その意味が非常に明確になります。
if ([@"this is a string" containsString:@"a string"]) {
…
}
ほとんどのプロジェクトでは、これはより大きな文字列メソッドカテゴリの一部であり、独自の1メソッドカテゴリではありません。
- (NSRange)rangeOfString:(NSString *)aString
戻り値aStringが最初に出現するレシーバー内の場所と長さを示すNSRange構造。aStringが見つからないか空(@ "")の場合、{NSNotFound、0}を返します。
NSStringクラスリファレンスで、より役立つ文字列操作関数を見つけることができます。