Метод экземпляра save (_: where: Завершение :) требует, чтобы PostModel соответствовал модели - PullRequest
0 голосов
/ 11 июля 2020

Я пытаюсь интегрировать AWS Amplify DataStore в свое приложение Swift. Однако я продолжаю получать эту ошибку. Метод экземпляра save (_: where: Завершение :) требует, чтобы «PostModel» соответствовал «Model». Что это значит?

import Foundation
import Amplify
import AmplifyPlugins

protocol PostingAmplify {
    func addPost()
}

extension PostingAmplify {
    func addPost() {
        let post = PostModel(username: "champ", text: "pog", mediaLink: "pog", year: 1, month: 1, day: 1, hour: 1, minute: 1, second: 1)
        
        Amplify.DataStore.save(
            post
        ) {
            switch $0 {
            case .success:
                print("Added post")
            case .failure(let error):
                print("Error adding post - \(error.localizedDescription)")
            }
        }
    }
}

Метод экземпляра 'save (_: where: Завершение :)' требует, чтобы 'PostModel' соответствовал 'Model'.

Кстати, это модель Post

import Foundation

struct PostModel: Decodable {
    var username: String
    var text: String
    var mediaLink: String
    var year: Int
    var month: Int
    var day: Int
    var hour: Int
    var minute: Int
    var second: Int
}

1 Ответ

1 голос
/ 11 июля 2020

Необходимо, чтобы PostModel соответствовал протоколу Model

struct PostModel: Model, Decodable { // add the conformance
    // add the protocol requirements...
}
...