我知道这是一个基本问题,但我面临着一个与之相关的问题,即我正在从后端服务获取数据。
从服务中,我得到了 [] 作为响应。 我正在将其与我的模型类数组进行比较。意思是,如果我的模型类数组符合 [],那么我必须执行一些操作。
我的代码是这样的,
let addonCategory = subCategoryModel![tappedIndex.section].items[tappedIndex.row].addonCategory
print(addonCategory as Any)
if addonCategory == "[]"{
print("Hello")
}
else {
print("Hi")
}
但是当我将其与 [] 括号进行比较时,它会显示错误消息,
无法将类型"字符串"的值分配给类型"[插件类别模型]?
如何将其与括号进行比较?
您需要检查数组是否有元素。
if addonCategory.count > 0 {
// array has element
} else {
// array hasn't element
}
或者,您可以使用guard let
或if let
进行检查。
使用 if let
if let addonCategory = subCategoryModel[tappedIndex.section].items[tappedIndex.row].addonCategory, addonCategory.isEmpty {
print(addonCategory)
print("Hello")
} else {
print("Hi")
}
您必须在addonCategory
上使用数组属性。它不属于String
类型
let addonCategory = subCategoryModel![tappedIndex.section].items[tappedIndex.row].addonCategory
print(addonCategory.count == 0 ? "Hello" : "Hi")
在这里,我使用了运算符ternary
而不是传统的if-else
语法。