You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
139 lines
4.7 KiB
139 lines
4.7 KiB
# Realm Examples
|
|
|
|
Included in this folder are sample iOS/OSX apps using Realm.
|
|
|
|
## iOS (Objective-C)
|
|
|
|
The following examples are located in the `ios/objc/RealmExamples.xcodeproj` project:
|
|
|
|
### Simple
|
|
|
|
This app covers several introductory concepts about Realm. Without any UI distractions, just a little console output.
|
|
|
|
### TableView
|
|
|
|
This app demonstrates how Realm can be the data source for UITableViews.
|
|
|
|
You can add rows by tapping the add button and remove rows by swiping right-to-left.
|
|
|
|
The application also demonstrates how to import data in a background thread.
|
|
|
|
### GroupedTableView
|
|
|
|
A sample app to demonstrate how to use Realm to populate a table view with sections.
|
|
|
|
### Migration
|
|
|
|
This example showcases Realm's migration features.
|
|
|
|
### REST
|
|
|
|
Using data from FourSquare, this example demonstrates how to populate a Realm with external json data.
|
|
|
|
### Encryption
|
|
|
|
This simple app shows how to use an encrypted realm.
|
|
|
|
### Backlink
|
|
|
|
This simple app demonstrates how to define models with inverse relationships using `-linkingObjectsOfClass:forProperty:`.
|
|
|
|
### Draw
|
|
|
|
This is a simple drawing app designed to show off the collaborative features of the [Realm Mobile Platform](https://realm.io/news/introducing-realm-mobile-platform/).
|
|
|
|
Any number of users may draw on a single shared canvas in any given moment, with contributions from other devices appearing on the canvas in real-time.
|
|
|
|
#### Installation Instructions
|
|
|
|
1. [Download the macOS version](https://realm.io/docs/realm-mobile-platform/get-started/) of the Realm Mobile Platform.
|
|
2. Run a local instance of the Realm Mobile Platform.
|
|
3. Open the Realm Object Server Dashboard in your browser by visiting 'http://localhost:9080'.
|
|
4. Create a user account with the email 'demo@realm.io' and the password 'password'.
|
|
5. Build the Draw app and deploy it to iOS devices on the same network as your Mac.
|
|
|
|
## iOS (Swift)
|
|
|
|
In the `ios/swift/RealmExamples.xcodeproj` project, you will find the following examples:
|
|
|
|
### GettingStarted.playground
|
|
|
|
This is a Swift Playground that goes over a few Realm basics.
|
|
|
|
### Simple
|
|
|
|
This app covers several introductory concepts about Realm. Without any UI distractions, just a little console output.
|
|
|
|
### TableView
|
|
|
|
This app demonstrates how Realm can be the data source for UITableViews.
|
|
|
|
You can add rows by tapping the add button and remove rows by swiping right-to-left.
|
|
|
|
The application also demonstrates how to import data in a background thread.
|
|
|
|
### GroupedTableView
|
|
|
|
A sample app to demonstrate how to use Realm to populate a table view with sections.
|
|
|
|
### Migration
|
|
|
|
This example showcases Realm's migration features.
|
|
|
|
### Encryption
|
|
|
|
This simple app shows how to use an encrypted realm.
|
|
|
|
### Backlink
|
|
|
|
This simple app demonstrates how to define models with inverse relationships using `linkingObjectsOfClass(_:forProperty:)`.
|
|
|
|
## iOS (RubyMotion)
|
|
|
|
***RubyMotion support is experimental. We make no claims towards stability and/or performance when using Realm in RubyMotion.***
|
|
|
|
In the `ios/rubymotion` directory, you will find a Simple example demonstrating how to use Realm in a [RubyMotion](http://www.rubymotion.com) iOS app. Make sure to have run `sh build.sh ios-static` from the root of this repo before building and running this example. You can build and run this example by running `rake` from the `rubymotion/Simple` directory.
|
|
|
|
To use Realm in your own RubyMotion iOS or OSX app, you must define your models in Objective-C and place them in the `models/` directory. Then in your `Rakefile`, define the following `vendor_project`s:
|
|
|
|
```ruby
|
|
app.vendor_project 'path/to/Realm/Realm.framework', :static, :products => ['Realm'], :force_load => false
|
|
app.vendor_project 'models', :static, :cflags => '-F /path/to/Realm/'
|
|
```
|
|
|
|
## OSX (Objective-C)
|
|
|
|
In the `osx/objc/RealmExamples.xcodeproj` project, you will find the following examples:
|
|
|
|
### JSONImport
|
|
|
|
This is a small OS X command-line program which demonstrates how to import data from JSON into a Realm.
|
|
|
|
Open the project in Xcode, and press "Run" to build and run the program. It will write output to the console.
|
|
|
|
## Installation Examples
|
|
|
|
The `installation/` directory contains example Xcode projects demonstrating how
|
|
to install Realm Objective-C and Realm Swift from all available methods defined
|
|
in <https://realm.io/docs/objc/latest/#installation> and
|
|
<https://realm.io/docs/swift/latest/#installation>.
|
|
|
|
## tvOS (Objective-C)
|
|
|
|
### DownloadCache
|
|
|
|
A tvOS app that demonstrates how to use Realm to store data and display data from a REST API.
|
|
|
|
### PreloadedData
|
|
|
|
A tvOS app that demonstrates how to use a Realm file included in your app bundle.
|
|
|
|
## tvOS (Swift)
|
|
|
|
### DownloadCache
|
|
|
|
A tvOS app that demonstrates how to use Realm to store data and display data from a REST API.
|
|
|
|
### PreloadedData
|
|
|
|
A tvOS app that demonstrates how to use a Realm file included in your app bundle.
|
|
|