2017-02-26 7 views
0

Realmsviftを使用してアプリケーションにデータベースを作成しました。ここにコンソールの出力があります。教えてください。アプリケーションからデータを読み込むにはどうしたらいいですか?たとえば、キー値:Oslo - 2.89を表示したいとします。助けてくれてありがとう。iOS - RealmSwift

class ViewController: UIViewController { 
var city_list: [String] = ["Moscow", "London", "Oslo", "Paris"] 
let realm = try! Realm() 
override func viewDidLoad() { 
    super.viewDidLoad() 
    let manager: ManagerData = ManagerData() 
    for name in city_list { 
     manager.loadJSON(city: name) 
    } 
    let localWeather = realm.objects(WeatherData.self) 
    print(localWeather) 

/////////////////////////////////////////

Results<WeatherData> (
[0] WeatherData { 
    city_name = Moscow; 
    tempList = RLMArray <0x6080002e2b00> (
     [0] Temp { 
      temp = -4.25; 
     } 
    ); 
}, 
[1] WeatherData { 
    city_name = London; 
    tempList = RLMArray <0x6000002e4700> (
     [0] Temp { 
      temp = 9.630000000000001; 
     } 
    ); 
}, 
[2] WeatherData { 
    city_name = Paris; 
    tempList = RLMArray <0x6000002e4800> (
     [0] Temp { 
      temp = 6.59; 
     } 
    ); 
}, 
[3] WeatherData { 
    city_name = Oslo; 
    tempList = RLMArray <0x6000002e4900> (
     [0] Temp { 
      temp = -2.89; 
     } 
    ); 
} 

答えて

1

私があなたの質問を正しく理解している場合は、各モデルからプロパティを取得する必要があります。

これがそうである場合、ほとんどあなたはそうです。 localWeatherは、レルムの世界の配列のようなものです(たとえば、タイプはResults<WeatherData>)。

あなたは普通のSWIFTの配列/オブジェクトと同じようにアクセスできます。

let firstWeather = localWeather[0] 
let name = firstWeather.city_name 
let temp = firstWeather.tempList[0].temp 

// do what you want with 'name' and 'temp', e.g. key-value 
print("\(name) - \(temp)") 
関連する問題