- Apr 14 Thu 2022 22:01
[OC & Swift 混編] NavigationParameter
- Feb 26 Sat 2022 20:47
[Objective-C] 柯里化 Curring 寫法
- Jan 20 Thu 2022 01:21
[超好聽音樂] 你的世界我曾來過
- Sep 28 Tue 2021 03:12
[Pixnet] Swift blog 語法著色
頁尾加入
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.2.0/styles/atom-one-dark.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.2.0/highlight.min.js"></script>
<!-- and it's easy to individually load additional languages -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.2.0/languages/go.min.js"></script>
- Sep 28 Tue 2021 03:01
[Swift 5.5] Combine for UIKit with async / await
ViewModel:
import WebAPI
import MVVM
final class Page2ViewModel: ObservableObject, Refreshable, Updateable {
@Published var isUpdate: Bool = false
@Published private(set) var cellViewModels: [Page2CellViewModel] = []
@Published private(set) var model: MainApodModel? {
didSet {
guard let model = model else {
return
}
cellViewModels = model.result.map { Page2CellViewModel(model: $0) }
}
}
func refresh() {
isUpdate = true
let parameter = MainApodParameter()
Task { @MainActor in
do {
let model: MainApodModel = try await MainApodWebAPI().invokeAsync(parameter)
isUpdate = false
self.model = model
} catch let error {
print(error.localizedDescription)
isUpdate = false
}
}
}
}
ViewController: