2015-11-15 2 views
1

У меня есть Realm объектПеребор полей Realm объектов в Swift

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 
} 

Любая помощь будет принята с благодарностью.

EDIT - РАБОЧИЙ КОД ЗДЕСЬ

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

Вы возвращаетесь в обеих ветвях петли, которая сразу же выходит из функции. Вы не хотите возвращать false при первом провале, но только после неудачи (я думаю).

+0

Привет, Роберт. Да, это то, что мне кажется, так что что-то не так в том, как создается контур. Я не могу понять, что. Если я печатаю курс после строки, я получаю только первое название курса. –

+0

Удалить всю ветвь вообще – BallpointBen

+0

Привет, Роберт, спасибо. Теперь он работает, т. Е. Перебирает всю модель. Однако постоянный курс по-прежнему относится ко всей модели, а не только к названию курса, которое я на самом деле после. Есть ли способ опросить только название курса? Печать выглядит так: c = g a = КурсыModel { \t courseName = west; \t par3Field = 2; \t par4Field = 3; \t par5Field = 6; –

Смежные вопросы