我有一个Realm对象
class CoursesModel: Object {
dynamic var courseName = ""
dynamic var par3Field = 0
dynamic var par4Field = 0
dynamic var par5Field = 0
}
当某人输入课程名称时,我想在将其写入Realm之前检查它是否已存在。
你能告诉我我做错了什么,因为它似乎没有出现。
class func compareCourse(name : String) -> Bool {
let c = name
do
{
let realm = try Realm()
let course = realm.objects(CoursesModel)
for course in course {
if course == c {
print("course = \(course)")
print("c = \(c)")
return true
}
else {
return false
}
}
}
catch
{
// return nil
}
return false
}
非常感谢任何帮助。
编辑 - 此处的工作代码
class func compareCourse(name : String) -> Bool {
let c = name
do
{
let realm = try Realm()
let course = realm.objects(CoursesModel)
for course in course {
let a = course.courseName
print("Model Course = \(a)")
print("Passed Course = \(c)")
if a == c {
return true
}
}
}
catch
{
// return nil
}
return false
}
答案 0 :(得分:0)
您将在循环的两个分支中返回,它会立即退出该函数。您不希望在第一次失败时返回false,但只有在失败后才会返回false(我认为)。