Ios 将Firebase列表映射到具有地幔的对象
我正在寻找一种将Firebase列表映射到具有Mantle的自定义Objective-C对象的有效方法。Firebase实际上没有数组的概念,因此列表中的每个项目都有一个显式id。Firebase中类型为Ios 将Firebase列表映射到具有地幔的对象,ios,objective-c,firebase,firebase-realtime-database,github-mantle,Ios,Objective C,Firebase,Firebase Realtime Database,Github Mantle,我正在寻找一种将Firebase列表映射到具有Mantle的自定义Objective-C对象的有效方法。Firebase实际上没有数组的概念,因此列表中的每个项目都有一个显式id。Firebase中类型为event的列表如下所示: "events": { "id0": { "name": "Event 1", "date": "2017-03-28T08:00:00+00:00", "venue": "Venue 1" },
event
的列表如下所示:
"events": {
"id0": {
"name": "Event 1",
"date": "2017-03-28T08:00:00+00:00",
"venue": "Venue 1"
},
"id1": {
"name": "Event 2",
"date": "2017-03-29T08:00:00+00:00",
"venue": "Venue 2"
},
...
"id5": {
"name": "Event 6",
"date": "2017-04-05T08:00:00+00:00",
"venue": "Venue 6"
}
}
用Objective-C术语来说,这可以很好地翻译成NSDictionary,但在我的UITableViewController中使用NSArray更容易。目前,我正在为每个事件使用NSDictionary,只需将事件的键移动到字典中,并创建一个字典数组,如下所示(请随意评论这是好主意还是坏主意):
我的想法是创建一个事件对象:
@interface Event: NSObject <MLTModel>
@property (nonatomic, strong) NSString *eventId;
@property (nonatomic, strong) NSString *name;
@property (nonatomic, strong) NSDate *date;
@property (nonatomic, strong) NSString *venue;
@end
@接口事件:NSObject
@属性(非原子,强)NSString*eventId;
@属性(非原子,强)NSString*名称;
@属性(非原子,强)NSDate*date;
@财产(非原子、强)NSString*场地;
@结束
所以我的问题是:有没有一种方法可以将这个Firebase列表映射到一个带有Mantle的自定义事件对象,以便它可以轻松地用于iOS中的UITableView?具体来说,如何将Firebase事件的键(id0
,id1
等)映射为自定义事件
对象的属性,然后再映射回来?还是最好“手动”移动键,然后将其交给Mantle
@interface Event: NSObject <MLTModel>
@property (nonatomic, strong) NSString *eventId;
@property (nonatomic, strong) NSString *name;
@property (nonatomic, strong) NSDate *date;
@property (nonatomic, strong) NSString *venue;
@end