我正在iOS上开发一个应用程序。我看到有一个名为NSAssert1的宏。它是用来做什么的?NSLog和NSAssert1在用法上有什么不同?
请指导我或建议一个教程,我可以在那里读到它。
发布于 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。
发布于 2011-03-31 15:18:59
NSAssert、NSParameterAssert、NSAssert1和friends都是断言宏。断言是条件检查,当某些东西不正确时会发出尖叫:
- (void) doSomethingWithPointer: (Foo*) foo
{
NSAssert(foo != NULL, @"The Foo pointer must not be NULL!");
foo->something;
}有关更多信息,请参阅堆栈溢出上的questions tagged “assertions”。
https://stackoverflow.com/questions/5496378
复制相似问题