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循環以外的所有內容,但它仍然崩潰。 –