如何測試Objective-C中的字符串是否爲空?

如何測試Objective-C中的NSString是否爲空? 測試


#1樓

不管如何,最好的方法是檢查給定字符串的長度。若是您的字符串是myString,則代碼爲: spa

int len = [myString length];
    if(len == 0){
       NSLog(@"String is empty");
    }
    else{
      NSLog(@"String is : %@", myString);
    }

#2樓

只需使用if else條件之一,以下所示: code

方法1: 字符串

if ([yourString isEqualToString:@""]) {
        // yourString is empty.
    } else {
        // yourString has some text on it.
    }

方法2: string

if ([yourString length] == 0) {
    // Empty yourString
} else {
    // yourString is not empty
}

#3樓

很是有用的文章,添加了NSDictionary支持以及一個小的更改 it

static inline BOOL isEmpty(id thing) {
    return thing == nil
    || [thing isKindOfClass:[NSNull class]]
    || ([thing respondsToSelector:@selector(length)]
        && ![thing respondsToSelector:@selector(count)]
        && [(NSData *)thing length] == 0)
    || ([thing respondsToSelector:@selector(count)]
        && [thing count] == 0);
}

#4樓

第一種方法是有效的,可是若是您的字符串具備空格( @" " ),則該方法無效。 所以,您必須在測試以前清除此空白。 io

這段代碼清除了字符串兩側的全部空格: class

[stringObject stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet] ];

一個好主意是建立一個宏,所以您沒必要鍵入如下怪物行: object

#define allTrim( object ) [object stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet] ]

如今您能夠使用: select

NSString *emptyString = @"   ";

if ( [allTrim( emptyString ) length] == 0 ) NSLog(@"Is empty!");

#5樓

這對我來講是魅力

若是NSStrings

if ([s isKindOfClass:[NSNull class]] || s == nil || [s isEqualToString:@""]) {

    NSLog(@"s is empty");

} else {

    NSLog(@"s containing %@", s);

}
相關文章
相關標籤/搜索