gpt4 book ai didi

ios - 子类化 PFUser

转载 作者:行者123 更新时间:2023-11-28 21:45:00 25 4
gpt4 key购买 nike

我正在尝试像这样对 PFUser 进行子类化:

//  User.h

#import <Parse/Parse.h>

@interface User : PFUser <PFSubclassing>

@property (nonatomic, copy) NSString *userUsername;
@property (nonatomic, copy) NSString *userPassword;
@property (nonatomic, copy) NSString *userEmail;

- (void)signUpUser;

@end

// User.m

#import "User.h"
#import <Parse/PFObject+Subclass.h>

@implementation User

@dynamic userUsername;
@dynamic userPassword;
@dynamic userEmail;

- (void)signUpUser {
[self signUpInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
if (!error) {
// Hooray! Let them use the app now.
NSLog(@"Success");
} else {
NSString *errorString = [error userInfo][@"error"]; // Show the errorString somewhere and let the user try again.
NSLog(@"Error: %@", errorString);
}
}];
}

@end

然后我这样做来创建一个新用户:

#pragma mark - IBActions

- (IBAction)signUpButtonClicked:(UIButton *)sender {
// Sign up user with text from textfields.
[self signUpUser:self.usernametextField.text password:self.passwordTextField.text email:self.emailTextField.text];
}

#pragma mark - Private

- (void)signUpUser:(NSString *)usernameString password:(NSString *)passwordString email:(NSString *)emailString {
// Create a new user to sign up.
User *user = [User user];
user.username = usernameString;
user.password = passwordString;
user.email = emailString;
[user signUpUser];
}

但为什么我会得到这个?我是不是忘记了什么,或者我没有以正确的方式对 PFUser 进行子类化。该应用程序可以运行并创建一个新用户,但我真的不明白为什么我会收到此警告。

Incompatible pointer types initializing 'User *' with an expression of type 'PFUser * __nonnull'

最佳答案

我假设您还没有在 User 类中实现 user 方法。我建议您重写 user 方法以正确返回 User 类的实例。

在你的情况下发生了什么:你像这样创建一个 User 实例

User *user = [User user];

但是你的 User 类中没有方法 user 所以你总是回退到 PFUser 类来处理这个调用,你得到一个PFUser 的实例,这就是您收到警告的原因。

覆盖 User 类中的 user 方法将解决问题。这样做:

+(User*)user {
return (User*)[PFUser user];
}

希望这对您有所帮助!

关于ios - 子类化 PFUser,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30526814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com