Skip to content

Commit 31243d7

Browse files
authored
Clean up performance (#1265)
* Fix casting warnings * Pad upload text * Enforce consistent styling * Fix backward compatibility
1 parent e96e6d9 commit 31243d7

File tree

3 files changed

+30
-12
lines changed

3 files changed

+30
-12
lines changed

performance/SwiftUIPerformanceQuickstart/PerformanceExample/Shared/Process.swift

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ class Process: ObservableObject {
105105
try? handler.perform([request])
106106
trace?.stop()
107107

108-
guard let observations = request.results as? [VNClassificationObservation] else {
108+
guard let observations = request.results else {
109109
print("Failed to obtain classification results.")
110110
await updateStatusAsync(to: .failure(.classify))
111111
return
@@ -133,7 +133,7 @@ class Process: ObservableObject {
133133
try? handler.perform([request])
134134
trace?.stop()
135135

136-
guard let observation = request.results?.first as? VNSaliencyImageObservation else {
136+
guard let observation = request.results?.first else {
137137
print("Failed to generate saliency map.")
138138
await updateStatusAsync(to: .failure(.saliencyMap))
139139
return
@@ -257,11 +257,19 @@ class Process: ObservableObject {
257257
try? handler.perform([request])
258258
trace?.stop()
259259

260-
guard let observations = request.results as? [VNClassificationObservation] else {
261-
print("Failed to obtain classification results.")
262-
updateStatus(to: .failure(.classify))
263-
return
264-
}
260+
#if swift(>=5.5)
261+
guard let observations = request.results else {
262+
print("Failed to obtain classification results.")
263+
updateStatus(to: .failure(.classify))
264+
return
265+
}
266+
#else
267+
guard let observations = request.results as? [VNClassificationObservation] else {
268+
print("Failed to obtain classification results.")
269+
updateStatus(to: .failure(.classify))
270+
return
271+
}
272+
#endif
265273

266274
categories = observations
267275
.filter { $0.hasMinimumRecall(0.01, forPrecision: precision) }
@@ -285,11 +293,19 @@ class Process: ObservableObject {
285293
try? handler.perform([request])
286294
trace?.stop()
287295

288-
guard let observation = request.results?.first as? VNSaliencyImageObservation else {
289-
print("Failed to generate saliency map.")
290-
updateStatus(to: .failure(.saliencyMap))
291-
return
292-
}
296+
#if swift(>=5.5)
297+
guard let observation = request.results?.first else {
298+
print("Failed to generate saliency map.")
299+
updateStatus(to: .failure(.saliencyMap))
300+
return
301+
}
302+
#else
303+
guard let observation = request.results?.first as? VNSaliencyImageObservation else {
304+
print("Failed to generate saliency map.")
305+
updateStatus(to: .failure(.saliencyMap))
306+
return
307+
}
308+
#endif
293309

294310
let inputImage = CIImage(cvPixelBuffer: observation.pixelBuffer)
295311
let scale = Double(ciImage.extent.height) / Double(inputImage.extent.height)

performance/SwiftUIPerformanceQuickstart/PerformanceExample/Shared/Views/ClassifyView.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ struct ClassifyView: View {
3232
List(categories, id: \.category) { category, confidence in
3333
Text("\(category): \(confidence)")
3434
}
35+
.listStyle(PlainListStyle())
3536
}
3637
} else {
3738
Button("Classify Image") {

performance/SwiftUIPerformanceQuickstart/PerformanceExample/Shared/Views/UploadView.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ struct UploadView: View {
4646
Image(systemName: "questionmark.square").padding(.bottom)
4747
Text("No saliency map found!\nPlease download an image and generate a saliency map first.")
4848
.multilineTextAlignment(.center)
49+
.padding(.horizontal)
4950
}
5051
Spacer()
5152
}

0 commit comments

Comments
 (0)