NSAssert简单使用
NSAssert
的定义如下:
#define NSAssert(condition, desc, ...) \
do { \
__PRAGMA_PUSH_NO_EXTRA_ARG_WARNINGS \
if (!(condition)) { \
NSString *__assert_file__ = [NSString stringWithUTF8String:__FILE__]; \
__assert_file__ = __assert_file__ ? __assert_file__ : @"<Unknown File>"; \
[[NSAssertionHandler currentHandler] handleFailureInMethod:_cmd \
object:self file:__assert_file__ \
lineNumber:__LINE__ description:(desc), ##__VA_ARGS__]; \
} \
__PRAGMA_POP_NO_EXTRA_ARG_WARNINGS \
} while(0)
#endif
- 当
condition
判断条件为假
的时候,程序终止,提示错误,提示语为desc
。 - 当
condition
判断条件为真
的时候,程序继续运行。
NSAssert(self.umPushAppKey != nil, @"请设置友盟key");
- 当
self.umPushAppKey
为nil
,判断条件self.umPushAppKey != nil
为假
,程序终止,提示请设置友盟key
。- 提示语为:
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '请设置友盟key'
- 提示语为:
- 当
self.umPushAppKey
不为nil
,判断条件self.umPushAppKey != nil
为真
,程序继续运行。
NSAssert(self.umPushAppKey, @"请设置友盟key");
- 当
self.umPushAppKey
为nil
,判断条件self.umPushAppKey
为假
,程序终止,提示请设置友盟key
。- 提示语为:
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '请设置友盟key'
- 提示语为:
- 当
self.umPushAppKey
不为nil
,判断条件self.umPushAppKey
为真
,程序继续运行。