2017-09-06 21 views
-1

如何在SQL中列出像SELECT columnName FROM mytable这样的领域DB中的属性?如何列出领域中的属性Swift 3

这里是我的尝试:let person = self.realm.objects(Person.self).filter("age")

+1

您可以用'地图'从模型数组中获取特定列数据 – Jaydeep

+0

@Jaydeep在这种情况下如何使用map? –

回答

2

您可以访问单个财产(因为领域模型是原生对象,他们有属性,不是列)使用map存储在Realm中的特定模型类的所有实例的

filter,顾名思义它可以用于仅对所有满足相同条件的特定类型的所有实例的子集进行工作(例如,您可以使用过滤器通过说出所有年龄超过18的人来查找:let adults = self.realm.objects(Person.self).filter("age > 18"))。

获取的Person所有实例的age财产坚持境界使用map

let people = self.realm.objects(Person.self) 
let ages = people.map{$0.age} 

或一条线给数组作为输出:

let ages = Array(self.realm.objects(Person.self)).map{$0.age}

2

你可以得到的记录列表像这样

let realmCities = try! Realm() 
lazy var arrDefaultCities: Results<Cities> = { self.realmCities.objects(Cities.self).sorted(byKeyPath: "cityName", ascending: true) }() 

func filterCities() 
     { 
      let statePredicate = NSPredicate(format: "stateId = %d", objState.stateId) 
      arrDefaultCities = try! Realm().objects(Cities.self).filter(statePredicate).sorted(byKeyPath: "cityName", ascending: true) 

      self.filterArrCities.removeAll() 
      for objCities : Cities in arrDefaultCities{ 
       if objCities.cityName == APP_DELEGATE.currentCity 
       { 
        self.objCity = objCities 
       } 
       self.filterArrCities.append(objCities.cityName) 
      } 
     }