循环遍历Swift中的Realm Object字段

时间:2015-11-15 11:09:12

标签: ios swift loops

我有一个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
}

1 个答案:

答案 0 :(得分:0)

您将在循环的两个分支中返回,它会立即退出该函数。您不希望在第一次失败时返回false,但只有在失败后才会返回false(我认为)。