[英]How debug the issue of Thread 1: EXC_BAD_ACCESS (code=2, address=0x7ffee1ba8578)
[英]Thread 1: EXC_BAD_ACCESS (code=2, address=0x7ffee0948ff8) while launch app in SwiftUI
我對項目有問題,項目崩潰,控制台中沒有顯示任何內容。 線程 1:EXC_BAD_ACCESS (code=2, address=0x7ffee0948ff8) 我已經搜索並嘗試了很多方法來解決這個問題。
class getPhotosData: ObservableObject {
@Published var Images : [[Photos]] = []
@Published var noresults = false
@ObservedObject var RandomImages = getPhotosData()
init() {
updateData()
}
func updateData() {
self.noresults = false
let key = ""
let url = "https://api.unsplash.com/photos/random/?client_id=\(key)"
let session = URLSession(configuration: .default)
session.dataTask(with: URL(string: url)!) { data, _, err in
if err != nil {
print((err?.localizedDescription)!)
return
}
do {
let json = try JSONDecoder().decode([Photos].self, from: data!)
for i in stride(from: 0, to: json.count, by: 2) {
var ArrayData: [Photos] = []
print(json)
for j in i..<i + 2 {
if j < json.count {
ArrayData.append(json[j])
}
}
DispatchQueue.main.async {
self.Images.append(ArrayData)
}
}
}
catch {
print(error.localizedDescription)
}
}
.resume()
}
這是我的代碼,崩潰發生在這一行:@Published var Images: [[Photos]] = []
我已經刪除了私鑰
您可以嘗試讓DispatchQueue.main.async {
部分脫離外部 for 循環嗎
var all: [Photos] = []
for i in stride(from: 0, to: json.count, by: 2) {
var arrayData: [Photos] = []
print(json)
for j in i..<i + 2 {
if j < json.count {
arrayData.append(json[j])
}
}
all.append(arrayData)
}
DispatchQueue.main.async {
self.images = all
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.