MAKRO Çözümü (2020)
İşte bir UILabel örneğin " (null) " dizesi yerine güvenli dize için kullandığım makro :
#define SafeString(STRING) ([STRING length] == 0 ? @"" : STRING)
üye sınıfınız ve name özelliğiniz olduğunu ve name nil olduğunu varsayalım:
NSLog(@"%@", member.name); // prints (null) on UILabel
makro ile:
NSLog(@"%@", SafeString(member.name)); // prints empty string on UILabel
nice and clean 😊 Instagram Hesabında Takip Ettikleri
Genişletme Çözümü (2020)
Projenizde nil Null ve boş dizeyi kontrol etmeyi tercih ediyorsanız, aşağıdaki uzantı satırımı kullanabilirsiniz:
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;
}
Örnek Kullanım
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!
}