我正在尝试使用内容丰富的方法在我的应用程序中显示一些FAQs内容,下面是我用来获取数据的UserFAQs.swift类,它可以正常工作。现在,我对添加来宾用户的常见问题有了新的要求。每个用户只有不同的数据,其他所有内容都是相同的。因此,我创建了一个名为 guestFAQs 的现有 userFAQs 的重复内容模型,并为其添加了内容。在我的下面的类中,它们都可以单独工作,例如:如果我在下面的类中设置contentTypeId =“ guestFAQs”或contentTypeId =“ userFAQs”,则效果很好。但是我需要根据用户类型进行提取,并且当我根据以下条件设置contentTypeId时,即使当userType为guest时,它始终会以“ userFAQs” 的形式给出结果。我在这里想念什么吗?任何帮助表示赞赏。 This是我正在使用的库。
import UIKit
import Contentful
final class UserFAQs: EntryDecodable, FieldKeysQueryable, Resource {
static var contentTypeId = (Utilities.userType == .normalUser) ? "userFAQs" : "guestFAQs"
let sys: Sys
var sectionIndex: Int?
var sectionName: String?
var questionName: String?
var answer: String?
// MARK: Initialization
public required init(from decoder: Decoder) throws {
print("APIName = \(UserFAQs.contentTypeId)")
sys = try decoder.sys()
let fields = try decoder.contentfulFieldsContainer(keyedBy: UserFAQs.FieldKeys.self)
sectionIndex = try fields.decodeIfPresent(Int.self, forKey: .sectionIndex)
sectionName = try fields.decodeIfPresent(String.self, forKey: .sectionTitle)
questionName = try fields.decodeIfPresent(String.self, forKey: .questionName)
answer = try fields.decodeIfPresent(String.self, forKey: .sectionText)
}
enum FieldKeys: String, CodingKey {
case sectionIndex, sectionTitle, questionName, sectionText
}
}