MagicalRecord SavewithBlockの問題 -- ios フィールド と magicalrecord フィールド 関連 問題

MagicalRecord saveWithBlock issue












1
vote

問題

日本語

私が達成したいのは、すべてのエンティティが作成されたときに検出し、それを私のテーブルに代表することを検出します。

私が理解したように、すべてのコアデータエントリが作成されるときに、以下のコードの完了ブロックが呼び出されますか?私は正しいですか?別のコントローラのエンティティを見つけようとすると、すべてのエントリが作成されたと予想されます。しかし、findAllは空の配列を返します。この問題を解決するためのコントローラのみをリロードするだけです。

<事前> <コード> [MagicalRecord saveWithBlock:^(NSManagedObjectContext *localContext) { NSArray *objects = responseData[@"data"]; NSArray *array = [Team MR_importFromArray:objects inContext:localContext]; } completion:^(BOOL success, NSError *error) { operationSuccess(nil); // return me to controller that requested this block }];
英語

The one thing that I want to achieve - detect when all entities are created and represent it in my table.

As i understood correct the completion block for the code below will be invoked when all core data entries will be created? am I right? Because when I try to findAll entities in another controller I expected that all entries are created. But findAll return empty array. Only reload controller solve this issue.

[MagicalRecord saveWithBlock:^(NSManagedObjectContext *localContext) {     NSArray *objects = responseData[@"data"];      NSArray *array = [Team MR_importFromArray:objects inContext:localContext];  } completion:^(BOOL success, NSError *error) {     operationSuccess(nil); // return me to controller that requested this block }]; 
</div
     

回答リスト

2
 
vote
vote
ベストアンサー
 

インポートを保存していない魔法のレコードの2.2リリースにはバグがあります。バージョン2.1を使用しています。

 

There is a bug in the 2.2 release of magical record that doesn't seem to save imports. Trying using version 2.1.

</div
 
 
   
   
1
 
vote

代わりに、これを試してください:

<事前> <コード> str4

savewithblock importfromArray の既知の問題があります。ここで、すべてのデータが保存される前に完了ブロックが起動されます(したがって、なぜそれらがすぐに戻ってきたのはなぜ - https://github.com/magicalpanda/magicalrecord/issues/642#ISSUECOMMENT- 40002145 )。 importfromobject:incontext :あなたの完了ブロックが完了した後にのみ呼び出されることが保証されています。

 

Instead, try this:

[MagicalRecord saveWithBlock:^(NSManagedObjectContext *localContext) {      for(NSDictionary *dictionary in objects) {         [Team  MR_importFromObject:dictionary inContext:localContext];     } } completion:^(BOOL success, NSError *error) {      NSArray *array = [NSArray arrayWithArray:[Team MR_findAll]];     operationSuccess(array); } 

There's a known issue with saveWithBlock and importFromArray where the completion block is fired before all the data is saved (thus why you're not seeing them returned right away - see https://github.com/magicalpanda/MagicalRecord/issues/642#issuecomment-40002145). By iterating through your array with importFromObject:inContext: you're guaranteed that your completion block will only be called after all saves are done.

</div
 
 

関連する質問

0  MagicalRecord 3.0の設定  ( Magicalrecord 3 0 setup ) 
私は静的ライブラリに私のxcdatamodelファイルを持っているので、プロジェクト間で共有することができます。 MagicalRecord 2.2を使用すると、アプリが私のオブジェクトモデルを認識するためにこれを得ることができます。 <事前> <コード> N...

0  PrimaryRelationshipkeyとのMagicalRecord  ( Magicalrecord with primaryrelationshipkey ) 
私は属性uidを持つEntity UserProfileを持っています。 私はWebからユーザーを受け取り、それらをコアデータに追加します。 私の基地に彼のIDを持つユーザーがいるならば、彼は交換されます。 私はTip https://github.com/...

0  MagicalRecordは、アプリがロードされるたびに作成されたすべてのオブジェクトを削除しています  ( Magicalrecord is deleting all the created objects each time app loads ) 
何が起こっているのかはわかりませんが、私のアプリはiOSシミュレータに読み込まれるたびに、MagicalRecordで私のアプリに永続化されたデータは削除されています。再現しました。おそらくこれはデータが持続されないことを意味しますか? 私は何が起こっている...

1  バックグラウンドでNSManagedObjectsを更新する  ( Updating nsmanagedobjects in the background ) 
ネットワークフェッチからのプロパティに基づいて、バックグラウンドでNSManagedObjectを更新しようとしています。並行性の周りに頭を包むのに問題がある。私が試したことはです LocalContext(NSPrivateQueType)でNSMana...

2  BGで保存するためのMagicalRecordの正しい使用  ( Correct use of magicalrecord to save in bg ) 
これを行う2つの異なる方法を見ました、そして私はどれが正しいか知りたいのですが。 具体的には、BGスレッド上の ManagedObject へのアクセスについて話しています。 私が見た方法は... <事前> <コード> Person *person = .....

0  MagicalRecordを使用して - プリロードされた.sqliteファイルからデータを適切に取得できません  ( Using magicalrecord not able to fetch data appropriately from pre loaded sqli ) 
私のSQLiteデータベースから魔法のレコードを使っていくつかの情報を入手しようとしています。 それは注意されるべきです - このアプリは問題なくiOS9の前に働いていました。 IOS9以来、それは墜落しています。私はCocoapodsをインストールし、ポッド...

0  [_PFArray MR_DeleteNContext:]:インスタンスに送信された認識されていないセレクタ  ( Pfarray mr deleteincontext unrecognized selector sent to instance ) 
MagicalRecord(MR)を使用して、選択したクライアントに属するすべてのレコードを削除しています(私はクライアントレコードを正常に削除してから、そのクライアントの予定レコードの後に​​進みます)。そうすることで、私はエラーを獲得しています。 <事前...

1  魔法の記録 - コンテキスト(保存されていません)  ( Magical record context not saving ) 
問題は何が問題なのかは非常にわかりません。私は新しいオブジェクトを作成し、それをコンテキストに挿入しています: <事前> <コード> Object *object = [Object MR_createEntity]; object.name = @"blah...

0  コアデータ - 単一エンティティの複数のエントリ  ( Core data multiple entries for a single entity ) 
だから私のアプリで私はカードと呼ばれるエンティティと他のトランザクションを持っています。 トランザクションエンティティには、日付、場所、および金額が属性になります。そのため、ユーザーが10の場所にお金を費やしている場合は、単一のカードの取引に10のエントリが必...

0  MagicalRecord SaveInbackgroundWithBlockはオブジェクトを保存しません  ( Magicalrecord saveinbackgroundwithblock does not save object ) 
このコードは私にとって素晴らしい作品で、アプリケーションを再実行してもオプションは保存されます。 <コード> [(void 0)] 4 しかし、試してみる場合、データベースはRERUNアプリケーションの後にオプションオブジェクトを持ちません。 <事前> ...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有