首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以在parse.com中注册新用户?

是否可以在parse.com中注册新用户?
EN

Stack Overflow用户
提问于 2013-10-31 05:37:08
回答 3查看 2.1K关注 0票数 0

我正在尝试通过IOS代码在parse.com上手动注册一个新用户。我需要这个,因为我想在注册时增加3-4个字段。下面是我正在尝试的代码,但它没有将数据插入user类:

代码语言:javascript
复制
    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];

有什么帮助吗。我在这里做错了什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-31 18:20:38

注意-这个答案在解析中没有使用标准的PFUser类。

从本质上说,它是行不通的。如果您没有使用实际的PFUser类,那么在password中没有使用任何内容(例如,电子邮件验证、密码重置、帐户处理、等等)

使用PFUser添加额外字段非常简单:(1)以正常方式创建用户。(2) 在单独的调用中,发送其他字段。很多时候,你也会有一个图像(就像一个用户化身)--在另一个cal中单独发送。

在经历了大量的RnD之后,我发现这是我问题的解决方案。我在这里分享它,以便它对其他人也有帮助。

代码语言:javascript
复制
-(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];

         }

     }];
}
票数 4
EN

Stack Overflow用户

发布于 2013-10-31 16:22:15

我相信你需要

代码语言:javascript
复制
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

票数 2
EN

Stack Overflow用户

发布于 2015-07-30 11:29:27

这样的子类PFUser

User.h

代码语言:javascript
复制
#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;


@end

User.m

代码语言:javascript
复制
#import "User.h"

@implementation User
@dynamic nickName, email, type;

+(void)load {
  [self registerSubclass];
}

+ (NSString *)parseClassName {
  return @"_User";
}

@end

然后使用以下代码注册:

代码语言:javascript
复制
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类添加额外的字段。子类为您提供了此功能。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19699147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档