【发布时间】:2013-07-28 16:56:04
【问题描述】:
我正在创建一个NSArray 类别,如下所示:
//
// NSArray+Empty.h
//
#import <Foundation/Foundation.h>
@interface NSArray (Empty)
/**
* Convenient method to check if the array is empty or not.
*/
@property (nonatomic, readonly) BOOL isEmpty;
@end
和:
//
// NSArray+Empty.m
//
#import "NSArray+Empty.h"
@implementation NSArray (Empty)
- (BOOL)isEmpty {
return (self.count == 0) ? YES : NO;
}
@end
然后,将此类别与“nil”对象一起使用,例如:
if (array.isEmpty)
return;
WHERE: 数组 - 发送给方法的参数
我预计 isEmpty 会为 nil 或空数组返回 TRUE,但它会为 nil 数组返回 FALSE。
我的问题不是为什么,因为我知道为什么。我的问题是:是否有可能让我的isEmpty 即使对于 nil 对象也返回 TRUE?
【问题讨论】:
-
作为一个小优化,您可以只使用
return (self.count == 0)--==比较返回一个类似布尔值的值。
标签: objective-c categories is-empty