Swift 创建作为自定义类数组的变量时出错

Swift 创建作为自定义类数组的变量时出错,swift,class,Swift,Class,我有一个名为Message的自定义类 import UIKit class Message { var sender: String var message: String init?(sender: String, message: String) { self.sender = sender self.message = message } } 我还有一个名为Chat的自定义类,它有一个名为messageList的变量,

我有一个名为Message的自定义类

import UIKit

class Message {
    var sender: String
    var message: String

    init?(sender: String, message: String) {

        self.sender = sender
        self.message = message
    }
}
我还有一个名为Chat的自定义类,它有一个名为messageList的变量,该变量是Message类的数组

class Chat {

    //MARK: Properties
    var name: String
    var image: UIImage?
    var animal: String
    var messageList = [Message]()

    //MARK: Initialisation
    init?(name: String, image: UIImage?, animal: String) {

        if name.isEmpty || animal.isEmpty {
            return nil
         }

        self.name = name
        self.image = image
        self.animal = animal
        let firstMessage = Message(sender: "animal", message: "Hi! Nice meeting you!")
        self.messageList.append(firstMessage)
    }

}
我尝试了许多不同的方法,但每次在声明messageList时,我都会遇到一个错误,即:“属性不能标记为@NSManaged,因为它的类型不能在Objective-C中表示”或“属性不能声明为公共,因为它的类型使用内部类型”

提前谢谢大家,


Alex

类在默认情况下声明为内部类,因此您必须添加public关键字以使其公开

import UIKit

public class Message {
    var sender: String
    var message: String

    init?(sender: String, message: String) {

        self.sender = sender
        self.message = message
    }
}