2

我正在尝试使用内容在我的应用程序中显示一些常见问题解答内容,下面是我用来获取数据的 UserFAQs.swift 类,它工作正常。现在我有一个新的要求,即为来宾用户添加常见问题解答。只有每个用户的数据不同,所有其他事情都是相同的。因此,我创建了一个名为guestFAQs的现有用户常见问题解答的重复内容模型,并为其添加了内容。在我下面的课程中,它们都单独工作,例如:如果我在下面的课程中设置 contentTypeId = “guestFAQs” 或 contentTypeId = “userFAQs”,它工作正常。但是我需要根据用户类型获取,当我根据下面的条件设置 contentTypeId 时,它总是给我结果为“userFAQs”即使用户类型是访客。我在这里错过了什么吗?任何帮助表示赞赏。 是我正在使用的库。

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
    }
}
4

0 回答 0