tôi đã viết một loại nhỏ trên NSString, và tôi muốn biết nếu phương pháp này được xử lý một cách chính xác tất cả các trường hợp sử dụng tiềm năng:Kiểm tra NSString "không có hoặc trống" - đã hoàn thành chưa?
Cập nhật: để làm rõ - tôi muốn chắc chắn rằng tôi không thiếu một số trường hợp kỳ quặc liên quan đến bảng mã ký tự, vv ..
@implementation NSString (Helpers)
+(BOOL)stringIsNilOrEmpty:(NSString*)aString {
if (!aString)
return YES;
return [aString isEqualToString:@""];
}
@end
sử dụng mẫu:
-(void) sampleUsage {
NSString *emptyString = @"";
NSString *nilString = nil;
NSAssert([NSString stringIsNilOrEmpty:nilString] == YES, @"String is nil/empty");
NSAssert([NSString stringIsNilOrEmpty:emptyString] == YES, @"String is nil/empty");
}
@end
Điều đó sẽ hiệu quả. Có hàng chục cách khác nhau để kiểm tra "trống" - length == zero là một cách khác. –
Trong thực tế, bạn có thể (rùng mình) chỉ sử dụng một thử nghiệm: 'if ([aString length] == 0) trả về YES;'. Điều này làm cho việc sử dụng tính năng Objective-C "" mà bất kỳ phương thức nào gọi tắt của một con trỏ nil đều trả về số không. –
(Và, tất nhiên, bạn có thể rút ngắn điều đó thành 'return [aString length] == 0;') –