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

什么是NSAssert1?
EN

Stack Overflow用户
提问于 2011-03-31 15:12:04
回答 2查看 8.7K关注 0票数 7

我正在iOS上开发一个应用程序。我看到有一个名为NSAssert1的宏。它是用来做什么的?NSLogNSAssert1在用法上有什么不同?

请指导我或建议一个教程,我可以在那里读到它。

EN

回答 2

Stack Overflow用户

发布于 2011-03-31 15:16:28

NSAssert变体接受一个条件和一条消息。如果条件不满足/true,则断言失败,NSAssert将引发异常,并显示所提供的消息。例如,当a不等于b时,NSAssert((a == b), @"Error message");将引发异常。NSAssert1是一个变体,它接受一个额外的参数并将其插入到提供的格式字符串中,如下所示:NSAssert1((a == b), @"Error message: %@", someErrorString);

NSLog将只向控制台写入一些内容。

所有这些宏的文档都是on Apple's developer site

票数 28
EN

Stack Overflow用户

发布于 2011-03-31 15:18:59

NSAssertNSParameterAssertNSAssert1和friends都是断言宏。断言是条件检查,当某些东西不正确时会发出尖叫:

代码语言:javascript
复制
- (void) doSomethingWithPointer: (Foo*) foo
{
    NSAssert(foo != NULL, @"The Foo pointer must not be NULL!");
    foo->something;
}

有关更多信息,请参阅堆栈溢出上的questions tagged “assertions”

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

https://stackoverflow.com/questions/5496378

复制
相关文章

相似问题

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