ソーシャルメディア IOSアプリケーションでアクティブレコードを使用する方法 - ダミー

IOSアプリケーションでアクティブレコードを使用する方法 - ダミー

ビデオ: MaaS360 Open Mic: MaaS360 Enrollment Types, 16 October 2018 2025

ビデオ: MaaS360 Open Mic: MaaS360 Enrollment Types, 16 October 2018 2025
Anonim

アクティブレコード は、メモリ内モデルオブジェクトのクラスがクラスの永続性を処理するメソッドで拡張される単純なパターンです。以下は、PERSONTABLEという名前の表を使用して、リレーショナル・データベース内のPersonクラスのオブジェクトをデータ・ストアとして永続化する例です。これは、Personクラスのインタフェースファイルです。

@interface Person:NSObject {//モデル属性@private NSString * Name; @private NSString * SSNo;} - (id)init; - (id)initWithOIDNameAndSSNo:(NSString *)OID:(NSString *)aName:(NSString *)aSSNo; - (NSString *)getName; - (NSString *)getSSNo; - (void)setName:(NSString *)aName; - (void)setSsno:(NSString *)aSSNo; - (void)setAsRetired; //その他の操作(存在する場合)-d

このインタフェースにはドメインメソッドのみが表示されます。永続性に必要な追加のメソッドは、Persistableプロトコルで定義されています。

<! - 1 - >
typedef enum {NEW、EXISTS、CHANGED、DELETED}状態; @protocol Persistable //プロトコルが必要とするプロパティ@required @property(コピー)NSString * OID; //データベース内の一意のID @required @property(読み取り専用)STATE状態。 +(id)findByOID:(NSString *)OID; - (void)insert; - (void)update; - (void)delete; - (void)persist;
  • OID 属性: この属性は、永続データストア内のオブジェクトを一意に識別するオブジェクトの永続IDを保持します。

    状態
  • 属性: この属性は、オブジェクト がメモリ内に新しく作成されたかどうかを示します(状態はNEWです)。 データベースに存在します(状態は存在しています)。

    • データストアからフェッチされた後にメモリ内で変更されました(状態はCHANGED)。

    • 削除マークが付いています(状態は削除されています)。次に、プロトコルは、クラスが実装する必要があるメソッドのコレクションを宣言します。クラスメソッドFindByOidを使用して、オブジェクトをデータベースからメモリに移動します。 (そのようなメソッドは

    • finder

    • メソッドと呼ばれ、findByName、findBySSNoなどのような多くの異なる種類を持つことができます。)このメソッドをPersonクラスで実装するための擬似コードは次のとおりです。

<! - 3 - > +(id)findByOID:(NSString *)anOID {Person * returnedPerson; //データベースからオブジェクトを取得するためのSQLステートメント//取得したNAMEおよびSSNOをローカル変数aNameおよびanSSNoに保存します。OID =:anOID INTO:aName、:anSSNo;で、PERSONTABLEからNAME、SSNOを選択します。 aPerson = [[Person alloc] initWithOIDNameAndSSNo:anOID:anSSNo]; aPerson-> state = EXISTING;このメソッドのロジックは次のとおりです。 埋め込みSQL SELECT文は、オブジェクトのNameおよびSocial Securityの数値属性をデータベースから取得し、これらの値をローカル変数aNameおよびanSSNoに保存します。

<! - 1 - >
これらの変数は、OIDとともに、Personクラスのオブジェクトをインスタンス化して初期化し、それを返します。

次に、PersonクラスのPersistableプロトコルから他のメソッドの実装を確認します。

  • - (void)persist {//オブジェクトの状態をチェックする//新しいオブジェクトである場合i。オブジェクトがデータベースに保存される必要がある場合は、persistメソッドが呼び出されます。 e。 state = NEW call [self insert] // PERSONTABLEにエントリを作成する// state = EXISTSが何もしない// state = CHANGEDの場合、データベースを更新するためにupdateを呼び出す//状態がDELETEDの場合は、deleteを呼び出して情報を削除する//データベース内}}

    persistメソッドは、オブジェクトの永続性に適切なメソッドを呼び出すために状態変数を使用します。
  • <!新しいオブジェクトが作成された場合は、以下のようにinsertメソッドを使用してオブジェクトのテーブルにレコードが挿入されます。

- (void)insert {REPLACE INTO PERSONTABLE(OID、NAME、 SSNO)値:OID:名前:SSNo …}

オブジェクトがデータベースから取得され、メモリ内で変更された場合、更新メソッドが呼び出されます。オブジェクトがデータベースから検索され、メモリ内の削除マークが付いている場合は、そのオブジェクトを削除します。

- (void)update(UPDATE PERSONABLE SET VALUES NAME =:名前、SSNO =:SSNo WHERE OID =:OID …}メソッドが呼び出されます。

<! - 3 - >
  • - (void)delete {OID = OIDのどこかから削除します。 …}

    ドメインメソッドとファインダメソッドは、オブジェクトの状態を適切に設定する必要があることに注意してください。その結果、initはオブジェクトの状態をNEWに設定し、findByOIDは状態をEXISTINGに設定し、setAsRetiredは状態をDELETED、setName、setSSNに設定して状態をCHANGEDに設定することができます(元の状態がEXISTINGの場合)。に。
    
  • <! - 1 - >

    したがって、ドメインメソッドと永続メソッドは、ある程度結合されています。
    
  • Active Recordを使用してリレーショナルデータベースにオブジェクトを格納する場合、通常、オブジェクトの永続変数をそのテーブルのフィールドにマップしてオブジェクトをデータベーステーブルにマップします。

    オブジェクトのライフサイクル管理ロジックは、いつデータベースからフェッチするか、データベース内の同じオブジェクトに対応するメモリ内に重複インスタンスを許可するか、いつ保存するか、オブジェクトを永久に削除するかなどを決定します。アプリケーションの責任。

IOSアプリケーションでアクティブレコードを使用する方法 - ダミー

エディタの選択

Facebook上の人、アプリケーション、招待をブロックする方法 - ダミー

Facebook上の人、アプリケーション、招待をブロックする方法 - ダミー

設定は、Facebookで快適に過ごせるようにするための予防措置です。ブロックリストは通常​​、より反応的です。誰かがあなたのことを気にするFacebook上の何かをした場合、彼をブロックしたり、あなたが影響を及ぼす特定の行動をブロックすることを選ぶかもしれません。制限付きリスト、ユーザーブロック、ブロック...

Facebookのタイムラインカバーを変更する方法写真ダミー

Facebookのタイムラインカバーを変更する方法写真ダミー

Facebook、あなたのタイムラインはあなたの友人のものと比べて少し空白に見えるかもしれません。カバー写真が必要です。まもなくタイムラインがいっぱいになります。しかし、まず、人々があなたを見つけてあなたについて知ることができるように、基礎を記入したいと思っています。人々が最初にすることは...

正しいFacebookページタイプを選択する方法 - ダミー

正しいFacebookページタイプを選択する方法 - ダミー

サービス、またはビジネスを利用するには、Facebookのページオプションの賛否両論に気づく必要があります。あなたの6つの主要なオプションを見てみましょう:ローカルビジネスまたはプレースカンパニー組織または機関ブランドまたはプロダクトアーティストバンドまたは公共図エンターテインメント原因またはコミュニティ次の...

エディタの選択

他のKloutインフルエンサーを推薦する方法 - ダミー

他のKloutインフルエンサーを推薦する方法 - ダミー

インフルエンサーリストを使用してKloutが+ Kを与えると説明するアクションです。あなたのKloutスコアの一部は、他人から受け取った裏書の数に由来します。

あなたのソーシャルメディアメトリクスの目標を微調整する方法 - ダミー

あなたのソーシャルメディアメトリクスの目標を微調整する方法 - ダミー

ソーシャルメディア指標の目標を微調整するための販売漏れデータあなたの目標を微調整することの一部は、希望から​​マイルストーンに移行するまで、それらを磨くことです。人々がゴールを間違えていることのいくつかの例を以下に示します。これは希望、夢、偉大なものです。

Klout特典の電子メール通知を取得する方法 - ダミー

Klout特典の電子メール通知を取得する方法 - ダミー

Ifあなたは定期的にKloutを訪れる習慣ではないので、あなたはPerksの電子メールアラートを作成することができます。あなたがソーシャルメディアの世界でやっていることすべてを把握するのは難しいかもしれません。これはあなたのソーシャルメディア管理を簡素化するのに役立ちます。あなたがパルクの資格を得て、そして...

エディタの選択

Outlook 2002でパブリックフォルダで公開する - Microsoft ExchangeネットワークでOutlook 2002を使用する場合はダミー

Outlook 2002でパブリックフォルダで公開する - Microsoft ExchangeネットワークでOutlook 2002を使用する場合はダミー

パブリックフォルダを使用できます。パブリックフォルダは、グループ全体が見てアイテムを追加できる場所です。タスクや連絡先用のパブリックフォルダを持つことができます。

Outlookの迷惑メールフィルタを設定する方法 - ダミー

Outlookの迷惑メールフィルタを設定する方法 - ダミー

Outlookのオプション。非常に積極的に設定すると、迷惑メールが少なくなりますが、正当なメッセージを迷惑メールとマークすることがあります。それほど攻撃的ではないように設定すると、受信トレイにもっと迷惑をかけることになります。 Outlookに付属しています...

Outlook 2013で連絡先グループを作成する方法 - ダミー

Outlook 2013で連絡先グループを作成する方法 - ダミー

Outlook 2013で連絡先グループを作成する方法あなたのリストの名前を作り、あなたのシステムに保存した名前のコレクションから選ぶという単純な問題です。連絡先グループは電話番号とメールアドレス、電子メールアドレスだけを追跡しません。 ...