背景:在 Objective-C 中,我会创建一个包含调试信息的断言:
NSAssert(poetCount > 5, "Expected poetCount > 5; Actual: %d", poetCount);
不过,在Swift中,全局的assert
函数似乎不允许这样做,因为消息参数是一个StaticString类型。所以我不能这样做:
assert(NSFileManager.defaultManager().fileExistsAtPath(fullpath),
"Expected: File to Exist @ \(fullpath)")
问题: 是否有可替代的assert
函数,它不需要静态字符串?或者如果我想要添加额外信息以使调试更容易,是否应该继续使用NSAssert
?
let assertString = "Expect: sectionIndex > 0; Actual \(sectionIndex)"; assert(sectionIndex > 0, assertString)
我会得到这个错误:"找不到接受提供的参数的'assert'的重载" - Tobias