How can I test an NSString for being nil?

前端 未结 8 1818
借酒劲吻你
借酒劲吻你 2020-12-09 07:12

Can I simply use

if(myString == nil)

For some reason a string that I know is null, is failing this statement.

8条回答
  •  粉色の甜心
    2020-12-09 07:40

    You can find more on objective C string here.

    + (BOOL ) stringIsEmpty:(NSString *) aString {
    
        if ((NSNull *) aString == [NSNull null]) {
            return YES;
        }
    
        if (aString == nil) {
            return YES;
        } else if ([aString length] == 0) {
            return YES;
        } else {
            aString = [aString stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];
            if ([aString length] == 0) {
                return YES;
            }
        }
    
        return NO;  
    }
    
    + (BOOL ) stringIsEmpty:(NSString *) aString shouldCleanWhiteSpace:(BOOL)cleanWhileSpace {
    
        if ((NSNull *) aString == [NSNull null]) {
            return YES;
        }
    
        if (aString == nil) {
            return YES;
        } else if ([aString length] == 0) {
            return YES;
        } 
    
        if (cleanWhileSpace) {
            aString = [aString stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];
            if ([aString length] == 0) {
                return YES;
            }
        }
    
        return NO;  
    }
    

提交回复
热议问题