String(format :)方法在iOS 7中崩溃我的应用程序,但它在iOS 8中正常工作。有什么我可以用来在这里获得相同的效果在两个作品?字符串(格式:)在iOS 7中崩溃 - 需要替代品。线程1:EXC_BAD_ACCESS(code = 1,address = 0x10)
我得到的错误信息是:THREAD 1: EXC_BAD_ACCESS (code=1, address=0x20)
,控制台中只有(lldb)
。
我在所有7.1模拟器设备和iPhone 4 7.1.2设备上出现此错误。
func configureLoadingIcon() {
loadingImage.alpha = 0.0
loadingImage.animationImages = [UIImage]()
for var index = 0; index < 48; index++ {
// Need an alternative to this line
var frameName = String(format: "loading_%05d", index)
loadingImage.animationImages?.append(UIImage(named: frameName)!)
}
loadingImage.animationDuration = 1.3
loadingImage.startAnimating()
}
//编辑
我现在这样做...但还是在iOS 7没有喜悦......
func configureLoadingIcon() {
loadingImage.alpha = 0.0
loadingImage.animationImages = [UIImage]()
var frameName: String
for var i = 0; i < 48; i++ {
let formatter = NSNumberFormatter()
formatter.minimumIntegerDigits = 2
let formattedIndex = formatter.stringFromNumber(i)
var frameName = String(format: "loading_000%@", formattedIndex!)
loadingImage.animationImages?.append(UIImage(named: frameName)!)
}
loadingImage.animationDuration = 1.3
loadingImage.startAnimating()
}
我也试过var frameName = "loading_000\(formattedIndex)"
但似乎并没有工作..不知道为什么。
你是否100%确定'String(format:...)'是罪魁祸首?尝试删除所有其他代码,特别是'UIImage(named:frameName)!' - 它是否仍然崩溃?它会在模拟器还是设备上崩溃?哪些设备? –
(当然,你可以使用NSNumberFormatter来代替,但是我还没有明白为什么你的代码会在这个时候崩溃。) –
任何iOS 7.1模拟器。我试过评论除for循环以外的所有内容,但它仍然崩溃。 –