首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >什么是NSParameterAssert?

什么是NSParameterAssert?
EN

Stack Overflow用户
提问于 2010-03-26 13:19:23
回答 1查看 20.1K关注 0票数 86

什么是NSParameterAssert

有没有人能举例说明一下?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-26 13:24:15

这是一种测试方法的参数是否为nil或非0的简单方法。因此,基本上,您使用它来创建前提条件,声明必须设置某些参数。如果未设置,宏将导致应用程序中止并在该行上生成错误。所以:

代码语言:javascript
复制
- (void)someMethod:(id)someObjectThatMustNotBeNil
{
  // Make sure that someObjectThatMustNotBeNil is really not nil
  NSParameterAssert( someObjectThatMustNotBeNil );
  // Okay, now do things
}

前置条件是一种确保程序员正确调用方法/API的简单方法。其思想是,如果程序员违反了前提条件,应用程序将提前终止--希望在调试和基本测试期间终止。

但是,NSParameterAssert可用于测试任何表达式的计算结果是否为真,因此您也可以这样使用它:

代码语言:javascript
复制
NSParameterAssert( index >= 0 ); // ensure no negative index is supplied

Apple's documentation for the NSParameterAssert() macro

票数 115
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2521275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档