定义AVUser子类,在子类中添加了几个属性字段,在 _User中增加了对应字段,给子类字段赋值后,调用save方法,数据不能保存到leancloud, 这是什么问题? 请指点一下,谢谢了!
-
创建时间
15年6月17日
-
最后回复
15年6月18日
-
4
回复
-
1.7K
浏览
-
2
用户
-
1
链接
定义AVUser子类,在子类中添加了几个属性字段,在 _User中增加了对应字段,给子类字段赋值后,调用save方法,数据不能保存到leancloud, 这是什么问题? 请指点一下,谢谢了!
详细代码:
1、定义MyAVUser子类:
.h:
@interface MyAVUser:AVUser
//姓名
@property (nonatomic, strong) NSString *trueName;
@end
.m:
#import "MyAVUser.h"
@implementation MyAVUser
@synthesize trueName;
+(NSString *)parseClassName{
return @"_User";
}
@end
2、在CDAppDelegate中声明子类:
[MyAVUser registerSubclass];
[AVOSCloud setApplicationId:AVOSAppID clientKey:AVOSAppKey];
3、用户登录时调用:
[MyAVUser logInWithUsernameInBackground:self.usernameField.text password:self.passwordField.text block: ^(AVUser *user, NSError *error) {
}];
4、保存新增字段
MyAVUser avUser = (MyAVUser)[AVUser currentUser];
if (avUser != nil){
avUser.trueName = self.nameField.text;
[avUser saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
NSLog(@"保存成功!");
}];
}
问题是保存新增字段不能保存?请问是啥问题。谢谢。
请参照文档说明来做:
https://leancloud.cn/docs/ios_os_x_guide.html#针对_AVUser_子类化的特别说明69
第一,子类化必须实现 AVSubclassing 协议,如下方式声明才对:
@interface Student : AVUser < AVSubclassing >
第二,属性必须被声明成 dynamic 类型。
主题 | 分类 | 回复 | 浏览 | 活动 |
---|---|---|---|---|
iOS 的objectForKey 返回AnyObject! 无法返回nil | SDK / API | 10 | 1.6K | 15-12-2 |
如何设置IOS APP不更新就不能再使用? | SDK / API | 1 | 899 | 19-11-27 |
queryMessages 如何才能拿到本地缓存的数据 | SDK / API | 5 | 1.4K | 16-07-4 |
Android sdk中第一次启动查询的时候出现异常 | SDK / API | 0 | 709 | 16-04-28 |
LeanCloud 应用安全检查报告 | SDK / API | 1 | 702 | 16-05-10 |