Docs Menu
Docs Home
/ /
Atlas Device SDK
/

Xcode Playgrounds での Realm の使用

項目一覧

  • 前提条件
  • プレイグラウンドの作成
  • Realm のインポート
  • Realm を使って試す
  • プレイグラウンドでの Realm ファイルの管理

少なくとも 1 つのスキームとターゲットを持つ Xcode プロジェクト内でのみ Swift パッケージを使用できます。 Xcode Playgrounds で Realm を使用するには、まずSwift SDK をインストールした Xcode プロジェクトが必要です。

Tip

その他のクイック スタートとチュートリアルも参照してください

Realm と Swift または SwiftUI を使い始めるに関する詳細なガイダンスについては、次のいずれかのクイック スタートまたはチュートリアルを参照してください。

  • クイック スタート

  • SwiftUI でクイック スタート

  • iOS Tutorial

プロジェクト内で、{0 GoFile> >NewPlayground に します。必要なプレイグラウンドのタイプを選択します。 この例では、Blank iOS Playground を使用しています。

空白が選択された Xcode Playground iOS タイプのスクリーンショット
クリックして拡大します

プレイグラウンドに名前を付けて、プロジェクトのルートに保存します。 必ずプロジェクトに追加してください。

Playground ファイル名とプロジェクトが選択されたファイル ナビゲータのスクリーンショット
クリックして拡大します

プロジェクト ナビゲータに新しいプレイグラウンドが表示されます。

Xcode プロジェクト ナビゲータにある RealmPlayground.Playground という名前のファイルのスクリーンショット
クリックして拡大します

プレイグラウンドで Realm を使用するには、次のインポート ステートメントを追加します。

import RealmSwift

Realm を使って試す。 この例では、次のことが行われます。

class Drink: Object {
@Persisted var name = ""
@Persisted var rating = 0
@Persisted var source = ""
@Persisted var drinkType = ""
}
let drink = Drink(value: ["name": "Los Cabellos", "rating": 10, "source": "AeroPress", "drinkType": "Coffee"])
let realm = try! Realm(configuration: config)
try! realm.write {
realm.add(drink)
}
let drinks = realm.objects(Drink.self)
let coffeeDrinks = drinks.where {
$0.drinkType == "Coffee"
}
print(coffeeDrinks.first?.name)

Playground でデフォルトの Realmを操作すると、Realm の削除が必要になる状況が発生する場合があります。 たとえば、オブジェクトタイプを実験して、オブジェクトにプロパティを追加すると、Realm を移行する必要があるというエラーが表示される場合があります。

Realm.configureを指定できます 特定のパスにあるファイルを開き、パスにRealmが存在する場合はそれを削除するための詳細。

var config = Realm.Configuration()
config.fileURL!.deleteLastPathComponent()
config.fileURL!.appendPathComponent("playgroundRealm")
config.fileURL!.appendPathExtension("realm")
if Realm.fileExists(for: config) {
try Realm.deleteFiles(for: config)
print("Successfully deleted existing realm at path: \(config.fileURL!)")
} else {
print("No file currently exists at path")
}

あるいは、Realmをメモリ内のみで開くか、 deleteRealmIfMigrationNetedメソッドを使用して、移行が必要なときに Realm を自動的に削除することもできます。

戻る

パーティションベースの同期