在Java中,我喜欢使用Guava的Preconditions类来启动方法,以确保方法参数不是null或有效值。例如:
public void myMethod(String str) {
Preconditions.checkNotNull(str);
... method logic here ...
}
这是我编码方法的重要组成部分。Objective-C中有类似的东西吗?
等效的是在NSException.h中定义的NSParameterAssert。不过,它不如Guava的功能齐全。
assert()有什么问题?即断言(str!=nil);
Objective-C是C的超集,因此您可能会发现以下解决方案符合您的需求:C.中的契约设计。另一个使用Objective-C的解决方案在这里描述:Objective-C 中的几个契约设计宏