【发布时间】:2019-06-21 10:15:55
【问题描述】:
我有一个class,它引用了另一个class。学生类有一个引用模块信息的变量。我想将moduleId 插入到数组中,但该结构由不同类型的对象组成,并且是moduleRef 类型。我想获得字符串类型的moduleId。我怎样才能从ModuleRef 中获取这个moduleId 元素。
class Student {
var firstName: String
var lastName: String
var modulesRefs: [ModuleRef]
var fullName: String {
return self.firstName + " " + self.lastName
}
init(firstName: String, lastName: String, modulesRefs: [ModuleRef]) {
self.firstName = firstName
self.lastName = lastName
self.modulesRefs = modulesRefs
}
func addModuleId(_ moduleId: String) {
self.modulesRefs.insert(moduleId, at: 0)
}
func removeModuleId(_ moduleId: String) {
self.modulesRefs = self.modulesRefs.filter { $0.moduleId != moduleId }
}
}
class ModuleRef {
var moduleName: String
var moduleId: String
var moduleStartdate: Int
init(moduleName: String, moduleId: String, moduleStartdate: Int) {
self.moduleName = moduleName
self.moduleId = moduleId
self.moduleStartdate = moduleStartdate
}
}
无法将“String”类型的值转换为预期的参数类型“ModuleRef”
【问题讨论】:
-
能否请您也显示插入方法?
-
@SohilR.Memon
insert在Swift's standard library中 -
您正在调用
addModuleId插入新值? -
@SohilR.Memon 是的。这是一个字符串
-
moduleName&moduleStartdate呢,当你只传递moduleId时,这两个变量的值是多少?