背景: 在Objective-C中,我将创建包含调试信息的断言:
NSAssert(poetCount > 5, "Expected poetCount > 5; Actual: %d", poetCount);
Run Code Online (Sandbox Code Playgroud)
但是,assertSwift中的全局函数似乎不允许这样,因为message参数是一个StaticString.所以我不能这样做:
assert(NSFileManager.defaultManager().fileExistsAtPath(fullpath),
"Expected: File to Exist @ \(fullpath)")
Run Code Online (Sandbox Code Playgroud)
问题:是否存在assert不需要静态字符串的替代函数,或者NSAssert如果我想提供额外信息以使调试更容易,我应该继续使用吗?
我认为你现在不能因为StaticString参数.我尝试用let设置消息字符串,但你甚至无法在其中放置变量.它必须是引号中的StaticString.
对于它的价值,Apple的示例代码遵循相同的模式:
assert(listItems && listItems!.count == 1, "There must be exactly one moved item.")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4217 次 |
| 最近记录: |