Hi Guys,

I've been experimenting on CBLJSONEncoding which needs implementation of 
the CBLJSONEncoding protocol:
- (id)encodeAsJSON

- (instancetype)initWithJSON:(id)jsonObject

When saving the nesting CBLModel subclass, encodeAsJSON worked as expected. 
But when reading, I can only get a __NSCFDictionary, not the NSObject<
CBLJSONEncoding> one. And the break point for - (instancetype)initWithJSON:(
id)jsonObject is not reached.

Following are the code I tought might be useful, I think I must had missed 
something:

The Nesting CBLModel
@interface NestingModel : CBLModel
@property (readwrite) NSArray *nestedObjectArray; //An array of the 
following NestedObject 
@end

@implementation NestingModel
@dynamic nestedObjectArray
@end


The Nested NSObject <CBLJSONEncoding>

@interface NestedObject : NSObject <CBLJSONEncoding>
@property (readwrite) NSString  *nestedObjectName;
- (instancetype)initWithJSON:(id)jsonObject;
- (id)encodeAsJSON;
@end

@implementation NestedObject
- (id)initWithJSON:(id)jsonObject {
    self = [self init];
    if(self) {
        self. nestedObjectName = jsonObject[@"nestedObjectName"];
    }    
    return self;
}

- (id)encodeAsJSON {
    return @{@"nestedObjectName" : self. nestedObjectName};
}
@end


-- 
You received this message because you are subscribed to the Google Groups 
"Couchbase Mobile" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/mobile-couchbase/bdee77aa-092b-474c-b14a-92ae06f949b2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to