SwiftUI字典-编译器无法在合理的时间内对此表达式进行类型检查
当我在字典上循环以获取特定键的值时,我得到了这个错误,但我不知道如何进一步简化它 存储字典SwiftUI字典-编译器无法在合理的时间内对此表达式进行类型检查,swift,dictionary,compiler-errors,swiftui,Swift,Dictionary,Compiler Errors,Swiftui,当我在字典上循环以获取特定键的值时,我得到了这个错误,但我不知道如何进一步简化它 存储字典 @Published var weekDayDictionary : [String : String] = UserDefaults.standard.dictionary(forKey: "weekDayDictionary") as? [String : String] ?? [:] { didSet { UserDefaults.stan
@Published var weekDayDictionary : [String : String] = UserDefaults.standard.dictionary(forKey: "weekDayDictionary") as? [String : String] ?? [:] {
didSet {
UserDefaults.standard.set(self.weekDayDictionary, forKey: "weekDayDictionary")
}
}
作用
func displayWeekDayTime(dictionary: [String: String], identifier: String) -> AnyView {
var time = ""
for (key, _) in dictionary {
if key == identifier {
time = dictionary[key]!
}
}
return AnyView(Text(time))
}
我有一个字符串作为标识符,如果它等于字典中的键,我想得到这个值
我也试过了
func displayWeekDayTime(dictionary: [String: String], identifier: String) -> String {
var time = ""
time = dictionary[identifier]!
return time
}
Text(self.displayWeekDayTime(dictionary: self.customModifiers.weekDayDictionary, identifier: item.title))
有没有一种更简单的方法可以从已知键中获取值而不出现此错误?与您的问题无关,但为什么不简单地
AnyView(Text(dictionary[identifier]?))
循环所有字典键绝对是不可能的。与其返回AnyView
,不如返回some视图
,并用@ViewBuilder
注释函数。我建议你把代码分成几个部分。此错误通常发生在一个函数中有大量视图代码时。@Leo Dabus您是对的,但仍然会出现错误。在函数前面添加@ViewBuilder
:@ViewBuilder func displaywkdaytime(…
)-否则这只是猜测。与您的问题无关,但为什么不简单地添加AnyView(文本)呢(字典[标识符]??“”)
循环所有字典键绝对是不可能的。与其返回AnyView
,不如返回some View
,并用@ViewBuilder
注释函数。我建议您将代码分成几个部分。当一个函数中有大量视图代码时,通常会发生此错误。@Leo d如果您是对的,但仍然会出现错误。请在函数前面添加@ViewBuilder
:@ViewBuilder func displayWeekDayTime(…
)-否则这只是猜测。