2017-09-06 43 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) 
      } 
     }