问题标签 [nsassert]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
10 回答
70449 浏览

ios - 实际上,NSAssert 的意义何在?

我不得不问这个,因为:我唯一认识到的是,如果断言失败,应用程序就会崩溃。这就是使用 NSAssert 的原因吗?或者它还有什么好处?将 NSAssert 放在我在代码中所做的任何假设之上是否正确,例如一个永远不应接收 -1 作为参数但可能接收 -0.9 或 -1.1 的函数?

0 投票
2 回答
8719 浏览

ios - 什么是 NSAssert1?

我正在 iOS 上开发应用程序。我看到有一个宏叫做NSAssert1. 它是干什么用的?NSLog和之间的用法有什么区别NSAssert1

请指导我或建议一个我可以阅读的教程。

0 投票
3 回答
1573 浏览

objective-c - NSAssert 不起作用

我正在尝试NSAssert在我的代码中使用,但它没有做任何事情。

在这段代码中,断言应该失败但不会:

这个的输出是:

cross.obj = (null)

可能是什么问题呢?

0 投票
2 回答
2436 浏览

cocoa-touch - 为什么选择 NSAssert1 等而不是 NSAssert?

我以为NSAssert不能使用printf说明符,但是:

正如您所期望的那样工作:

那么在工作时使用NSAssert1,NSAssert2等有什么意义NSAssert呢?

如果重要的话,这与 Xcode 4.0 和 iOS 4.3 SDK 一起使用。(如果没有,我会更新标签。)

0 投票
3 回答
1923 浏览

iphone - NSAssert 未声明第一次使用为什么?

我使用下面的代码levelManager.m从 plist 中读取值,但是当我制作存档以上传到 itunes(AppStore)时出现错误。为什么 ?

编码 :

错误:

NSAssert 未声明的首次使用

注意我注意到 xcode 认为我给 NSAssert 3 个参数而不是 2

0 投票
1 回答
744 浏览

iphone - 如何以用户友好的方式在出现错误后退出应用程序?

我需要保护我的代码免受可能的错误。如果它们出现,那么进一步运行应用程序就没有意义了,所以我需要给用户带来一些消息,然后退出应用程序。所以,我正在检查条件,然后发出警报:

在委托方法中,我使用 NSAssert 关闭应用程序:

另外,我在标头中包含了委托协议。但是,该应用程序只是带来警报,但在按下 OK 后它只是冻结,并且我收到一些消息“CoreAnimation:忽略异常:关闭”。我错过了什么或存在哪些其他选择?

0 投票
3 回答
1292 浏览

objective-c - 在 Objective C 中断言对象类

我经常发现自己断言 Objective-C 中某个类的对象“isKindOfClass”。我这样做:

我想知道为它制作捷径的最佳方法。我正在考虑定义一个宏,例如:

我担心这可能会导致一些令人讨厌的难以处理的编译错误或运行时问题,这样做有什么根本上的错误吗,有没有更好的方法呢?

0 投票
5 回答
5925 浏览

objective-c - 奇怪的错误 NSAssert

我不知道为什么我得到

在 NSAssert 所在的行上。

0 投票
3 回答
545 浏览

objective-c - Singleton 中的 NSAssert :为什么此代码有效?

我不明白 NSAssert 在中的使用+alloc,当+alloc从 调用时+sharedGameManager,静态_sharedGameManager变量是nil(所以NSAssert应该在第一次[self alloc] init]调用时停止执行......)

感谢您的回答

0 投票
2 回答
802 浏览

objective-c - 为什么 NSAssert 在 main 而不是在调用断言的代码中中断

我设置了这个 NSAssert

这是我问这个问题的屏幕截图: 在此处输入图像描述

然后当断言失败时,代码在这里中断:

在此处输入图像描述

这很烦人,因为我想在我设置断言的代码上看到断言中断。那么,我该怎么做。

不幸的是,本回答并没有解决问题: 在此处输入图像描述