我正在尝试通过IOS代码在parse.com上手动注册一个新用户。我需要这个,因为我想在注册时增加3-4个字段。下面是我正在尝试的代码,但它没有将数据插入user类:
PFObject *testObject = [PFObject objectWithClassName:@"User"];
[testObject setObject:@"bar" forKey:@"username"];
[testObject setObject:@"bar" forKey:@"password"];
[testObject setObject:@"1111111" forKey:@"additional"];
[testObject setObject:@"bar@123.com" forKey:@"email"];
[testObject setObject:@"2323233" forKey:@"phoneNumber"];
[testObject setObject:@"12,california" forKey:@"address"];
[testObject save];有什么帮助吗。我在这里做错了什么?
发布于 2013-10-31 18:20:38
注意-这个答案在解析中没有使用标准的PFUser类。
从本质上说,它是行不通的。如果您没有使用实际的PFUser类,那么在password中没有使用任何内容(例如,电子邮件验证、密码重置、帐户处理、等等)
使用PFUser添加额外字段非常简单:(1)以正常方式创建用户。(2) 在单独的调用中,发送其他字段。很多时候,你也会有一个图像(就像一个用户化身)--在另一个cal中单独发送。
在经历了大量的RnD之后,我发现这是我问题的解决方案。我在这里分享它,以便它对其他人也有帮助。
-(void)userSignUp:(NSDictionary*)userData {
//username,password,additional,email,profilePic
ADUser *user = [[ADUser alloc] init];
user.username = [userData valueForKey:@"username"];
user.password = [userData valueForKey:@"password"];
user.email = [userData valueForKey:@"email"];
user.phone = [userData valueForKey:@"phone"];
user.additional = [userData valueForKey:@"name"];
PFUser *usr = (PFUser*)user;
[usr signUpInBackgroundWithBlock:^(BOOL succeeded, NSError *error)
{
if (error) // Something went wrong
{
// Display an alert view to show the error message
UIAlertView *alertView =
[[UIAlertView alloc] initWithTitle:[[error userInfo] objectForKey:@"error"]
message:nil
delegate:self
cancelButtonTitle:nil
otherButtonTitles:@"Ok", nil];
[alertView show];
// Bring the keyboard back up, user will probably need to change something
//[usernameField becomeFirstResponder];
} else {
NSLog(@"success");
[self dismissViewControllerAnimated:YES completion:nil];
}
}];
}发布于 2013-10-31 16:22:15
我相信你需要
PFUser *user = [PFUser user];
user.username = @"my name";
user.password = @"my pass";
user.email = @"email@example.com";
// other fields can be set just like with PFObject-Bob
发布于 2015-07-30 11:29:27
这样的子类PFUser
User.h
#import <Parse/Parse.h>
@interface User : PFUser <PFSubclassing>
@property (nonatomic, strong) NSString *nickName;
@property (nonatomic, strong) NSString *username;
@property (nonatomic, strong) NSString *email;
@property (nonatomic, strong) NSString *type;
@property (nonatomic, strong) PFFile* image;
@endUser.m
#import "User.h"
@implementation User
@dynamic nickName, email, type;
+(void)load {
[self registerSubclass];
}
+ (NSString *)parseClassName {
return @"_User";
}
@end然后使用以下代码注册:
User *user = [PFUser user];
user.nickName = @"Alpha";
user.username=username;
user.password=@"0000";
[user signUpInBackgroundWithBlock:^(BOOL succeeded, NSError *error)
{
if (!error)
{
NSLog(@"Signup Success");
}
else{
NSLog(@"Signup Error : %@ ", error);
}
}];这就是我们使用PFUser注册的方式。您可以始终向PFUser类添加额外的字段。子类为您提供了此功能。
https://stackoverflow.com/questions/19699147
复制相似问题