簡體   English   中英

在當前線程(signUp :)上執行Parse.com用戶注冊並檢索NSError

[英]perform Parse.com user signup on the current thread (signUp:) and retrieving the NSError

我必須在當前線程上調用Parse的用戶signUp方法,而不是在后台線程上調用,因為已經在后台線程上調用了它。 -(BOOL)signUp方法還不夠好,因為如果注冊成功與否,我只會得到BOOL響應,但是我必須處理潛在的錯誤。

我注意到方法-(BOOL)signUp:(NSError **)error但是在了解如何使用它時,我目前的iOS編程技能還不存在:)

這里是注冊:文檔

我嘗試向我的用戶對象添加一個名為NSError * latestError的額外屬性,我希望調用上述方法並將NSError返回到該值中,以便我可以處理主線程上的錯誤:

-(BOOL)registerUser{
    PFUser *newUser = [PFUser user];
    newUser.username = self.username;
    newUser.password = self.password;
    return [newUser signUp:self.lastError]; // error
}

但是我得到這個錯誤:

ARC不允許將Objective-C響應器隱式轉換為“ NSError * __ autoreleasing *”

有什么想法如何使它與這種方法或替代方法一起使用以實現相同的結果?

您必須傳遞對NSError對象的引用。解析將執行該過程,並且如果存在任何錯誤,它將使用適當的錯誤更新錯誤對象。

你的新代碼應該像

-(BOOL)registerUser{
    NSError *error = nil;
    PFUser *newUser = [PFUser user];
    newUser.username = self.username;
    newUser.password = self.password;
    [newUser signUp:&error]; // error

    if( error != nil)
    {
      //log the error or show alert
      return NO;
    }

    return YES;


}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM