2017-04-23 11 views
0

こんにちは皆、他のいくつかのクラスからRealmクラスを作成する方法は?

現在「ブックマーク」と呼ばれるタスクを担当しています。短い説明は、ブックマークボタンをクリックするたびにアプリは記事を保存し、BookmarkVCに表示します。

"News"、 "Documents"、 "ITSectionResult"の3種類のオブジェクトがあります。私の考えは上記の3つの要素の要素とbookmarkCategoryという1つのプロパティを含む "BookmarkItem"というオブジェクトを作成することです。私はそれを使用してBookmarkVCに表示することができます。私はちょうど1つのレルムオブジェクトで作業したいので、どの人でも一緒にグループ化するアイディアを手に入れることができますか?ここで私は以下のように私のドラフトコードを添付します:

ニュースクラスの場合:

class NewsArticle:Object { 
dynamic var title: String? 
dynamic var body:String? 
dynamic var category:String? 
dynamic var createTime:String? 
dynamic var image:String? 
dynamic var id:String? 

convenience init (title:String, body:String, category:String, 
image:String, id:String, createTime:String) { 
    self.init() 
    self.title = title 
    self.body = body 
    self.category = category 
    self.image = image 
    self.id = id 
    self.createTime = createTime 
} 

Documentクラス:ITSectionResultクラス

class Documents { 
var id: String? 
var title:String? 
var createTime:CLong? 
var url:String? 

init (title:String, id:String, createTime:CLong?, url:String) { 
    self.title = title 
    self.id = id 
    self.createTime = createTime 
    self.url = url 
} 

class SectionSearchResult { 
var title:String? 
var image:String? 
var id:String? 
var byCategory:String? 

init (title:String, image:String, id:String, byCategory:String) { 
    self.title = title 
    self.image = image 
    self.id = id 
    self.byCategory = byCategory 
} 

、最終的に起草BookmarkItemクラス:

class BookmarkItem:Object { 

//Category 
dynamic var bookmarkCategory:BookMarkItemCategory? 

dynamic var title: NewsArticle? 
dynamic var body:NewsArticle? 
dynamic var category:NewsArticle? 
dynamic var createTime:NewsArticle? 
dynamic var image:NewsArticle? 
dynamic var id:NewsArticle? 

dynamic var link:String? 
dynamic var url:String? 

} 

class BookMarkItemCategory:Object { 
dynamic var name = "" 
} 

BookmarkItemクラスは、BookmarkVCには3つの主要なプロパティを使用し、フィルタカテゴリのタイプには "image"(例:Documentsオブジェクトのブックイメージ、Newsオブジェクトの新聞アイコン)、 "title" WebViewで表示するタイトルとURLを指定します。どうもありがとうございます。皆さん、お疲れ様でした。

+0

複数のクラスにそれらを持たないことによって。 – EpicPandaForce

答えて

1

EpicPandaForceのコメントで述べたように、これは各タイプのクラスを持たず、代わりに統一モデルを使用することで実現できます。

上記のモデルでは、すべてのインスタンスにタイトル、ID、作成時間とカテゴリが必要ですが、bodyとimageはnilのままにすることができます。他のご質問がある場合は、お気軽にフォローアップしてください。

免責事項:私はRealmのために働いています。

関連する問題