매크로 솔루션 (2020)
예를 들어 UILabel 에서 " (null) "문자열을 얻는 대신 안전한 문자열에 사용하는 매크로는 다음과 같습니다 .
#define SafeString(STRING) ([STRING length] == 0 ? @"" : STRING)
멤버 클래스와 이름 속성이 있고 이름이 nil이라고 가정 해 봅시다.
NSLog(@"%@", member.name); // prints (null) on UILabel
매크로로 :
NSLog(@"%@", SafeString(member.name)); // prints empty string on UILabel
좋고 깨끗한 😊
확장 솔루션 (2020)
프로젝트에서 nil Null 및 빈 문자열을 확인하려면 아래 확장 줄을 사용할 수 있습니다.
NSString + Extension.h
///
/// Checks if giving String is an empty string or a nil object or a Null.
/// @param string string value to check.
///
+ (BOOL)isNullOrEmpty:(NSString*)string;
NSString + Extension.m
+ (BOOL)isNullOrEmpty:(NSString*)string {
if (string) { // is not Nil
NSRange range = [string rangeOfString:string];
BOOL isEmpty = (range.length <= 0 || [string isEqualToString:@" "]);
BOOL isNull = string == (id)[NSNull null];
return (isNull || isEmpty);
}
return YES;
}
사용법 예
if (![NSString isNullOrEmpty:someTitle]) {
// You can safely use on a Label or even add in an Array for example. Remember: Arrays don't like the nil values!
}