第一次使用Firebase應用程序。我明白,它不允許你保存實際的Objective C對象。我明白,一切都保存在一個JSON樹,可以是NSStrings,NSNumbers,NSArrays,NSDictionaries。您實際上必須深入到每個屬性才能獲得實際值。防爆。將對象保存到Firebase
假設你有myObject => Firebase不喜歡它。您必須通過獲取屬性來設置值。防爆。 myObject.name(這將是一個字符串)。如果你的對象有很多屬性,這是非常煩人的。
我知道你可以實現NSCoding使它更優雅。我從來沒有這樣做過。我有一個用戶的以下對象。
#import <Foundation/Foundation.h>
@interface User : NSObject <NSCoding>
@property (nonatomic, copy) NSString *username;
@property (nonatomic, copy) NSString *name;
@property (nonatomic, copy) NSString *currentCity;
@end
#import "User.h"
@implementation User
@dynamic username;
@dynamic name;
@dynamic currentCity;
-(void)encodeWithCoder:(NSCoder *)encoder{
[encoder encodeObject:self.username forKey:@"username"];
[encoder encodeObject:self.name forKey:@"name"];
[encoder encodeObject:self.currentCity forKey:@"currentCity"];
}
-(id)initWithCoder:(NSCoder *)decoder{
if (self = [super init]) {
self.username = [decoder decodeObjectForKey:@"username"];
self.name = [decoder decodeObjectForKey:@"name"];
self.currentCity = [decoder decodeObjectForKey:@"currentCity"];
}
return self;
}
所以保存到存儲在火力地堡用戶對象的時候,我們剛剛編碼,當我們保存到火力的對象?
我對如何保存甚至檢索它有點困惑。解析是非常直接的,但對於這個應用程序,我需要用戶firebase。
任何幫助或您如何處理這個問題的例子將不勝感激。
謝謝你!
嗨Jay謝謝你的迴應。那麼基本上所有對象都應該指向Firebase上的特定節點?我能夠使用來自Firebase的數據登錄並填充我的對象 - 它不像分析那樣直觀。 – Ronaldoh1
是的!每個對象(例如一個用戶對象)都會知道它是Firebase中的節點。隨着對象更新,它會自動知道更新它在Firebase中的相應節點。我建議不要直接比較Parse和Firebase;它們是不同的平臺,並且您處理存儲的方式(以及完成的方式)您的數據處理方式不同。 – Jay