Ios 如何使用字符串加载SF符号图像,以及该名称的SF符号是否为';如果不可用,请使用该字符串名称加载用户上载的图像

Ios 如何使用字符串加载SF符号图像,以及该名称的SF符号是否为';如果不可用,请使用该字符串名称加载用户上载的图像,ios,swift,swiftui,Ios,Swift,Swiftui,在我的SwiftUI应用程序中,我有一个字符串名称,它是SF符号图像的名称,或者存储在资产目录中的图像的名称 我想创建一个视图,首先尝试将图像显示为SF符号图像,如果不存在具有该名称的SF符号图像,则改为显示我的资源目录中的图像 struct ImagePresenter: View { let name: String = "test" var body: some View { Group { if Im

在我的SwiftUI应用程序中,我有一个字符串名称,它是SF符号图像的名称,或者存储在资产目录中的图像的名称

我想创建一个视图,首先尝试将图像显示为SF符号图像,如果不存在具有该名称的SF符号图像,则改为显示我的资源目录中的图像

struct ImagePresenter: View {

    let name: String = "test"
    
    var body: some View {
        Group {
            if Image(systemName: name) == nil {
                Image(name)
            } else {
                Image(systemName: name)
            }
        }
    }
}
您不能使用
Image(systemName:)
进行
nil
比较,因为它不会返回可选值

尝试使用
UIImage

import SwiftUI
import UIKit

struct ContentView: View {
    let name: String = "test"

    var body: some View {
        Group {
            if UIImage(systemName: name) == nil {
                Image(name)
            } else {
                Image(systemName: name)
            }
        }
    }
}