不能将[Page]类型的值赋给[StudyPage]类型?

时间:2017-07-12 02:27:26

标签: swift3 model

我有一个学习模型和一个studyList模型,但是我不能将Study模型的pages数组分配给Studylist模型的Studypage数组

func didLoadData(studies: [Study]){
        for item in studies{
            let study = StudyList()
            study.name = item._studyName
            study.studyPages = item.pages //This line has error

            studyList.append(study)
        }
        tableView.reloadData()
    }

1 个答案:

答案 0 :(得分:0)

错误本身是有道理的。它表示您正在尝试将一个Page对象数组分配给一个定义为StudyPage对象数组的变量。

从您的代码中,您通过一个Study对象循环。您尝试循环遍历它们,从中创建StudyList对象,然后追加到另一个数组以在表视图中显示。 根据我的猜测,您的StudyList类定义如下

class StudyList :NSObject {
    var studyPages: [StudyPage]
}

您的Study类定义如下

class Study :NSObject {
    var pages: [Page]
}

正如您所看到的,在for循环中,您不能只创建一个StudyList对象,然后将一个Page数组分配给其studyPages变量。在这种情况下,您需要将它们设为相同的类型,或者在PageStudyPage之间进行某种转换