私は、iOS Realm DBに単純なリレーショナルデータベース(他のDBに存在するような)モデルを作成しました。ここでは、2つの別々のRealmモデル(テーブル)のユーザーIDと他の詳細とウィッシュリストを作成しました。ユーザーはRLMArray
を使用してWishlistの配列を持っています。ウィッシュリストには、my previous questionのように1つ以上の製品を含めることができます。このモデル表では、ユーザーIDは一定ですが、RLMArray
のWishlist表は更新または削除できます。領域を使用してRLMArray
を更新できましたaddOrUpdateObject
RLMArray
から要素を削除するにはどうすればよいですか? 例リレーショナルデータベースモデルは以下の通りです:レルムからレルム:RLMArrayからオブジェクトを削除するには?
#import <Realm/Realm.h>
@class User;
// User model
@interface User : RLMObject
@property NSString *name;
@property NSString *user_id;
@property RLMArray< Wishlist *><Wishlist> *wishlist;
@end
// Wishlist model
@interface Wishlist : RLMObject
@property NSString *id;
@property NSInteger *activity;
@property NSInteger *cost;
@end
RLM_ARRAY_TYPE(Wishlist) // define RLMArray<Person>
// Implementations
@implementation User
@end // none needed
@implementation Wishlist
@end // none needed
読むデータ:
RLMResults *watchlistDB = [Watchlist allObjects];
WatchlistDB = [realm_data objectAtIndex:index];
RLMArray *realm_array = WatchlistDB.watchlist;
新規挿入アクティビティ:
コードはこれに似ています
User *user_realm = [[MyWatchlistDB alloc] init];
user_realm.user_id = _user_id;
user_realm.name = _user_name;
for (NSDictionary *tempDict in activity)
{
Wishlist *wishlist_realm = [[Wishlist alloc] init];
newWatchlist.id =[tempDict objectForKey:@"id"];
newWatchlist.activity =[tempDict objectForKey:@"activity"];
newWatchlist.cost = [tempDict objectForKey:@"cost"];
[user_realm.wishlist addObject:newWatchlist];
}
RLMRealm *realm = [RLMRealm defaultRealm];
[realm beginWriteTransaction];
[realm addOrUpdateObject:user_realm];
[realm commitWriteTransaction];
RLMArrayから要素を削除するにはどうすればよいですか?彼がいくつかの活動を削除するときにユーザーのウィッシュリストを更新するには?
、ちょうど 'beginWriteTransaction'と '' commitWriteTransaction – Tj3n
はい間の削除コードを置きます。私はしかし、私はRLMArrayを読み取って、インデックスと 'commitWriteTransaction'から削除する必要があります。 –