0
我的應用程序首先允許用戶使用其Facebook登錄憑據登錄,而用戶是在我的Parse User類中創建的。這已成功地爲測試我的應用程序的多個用戶工作。Xcode:無法將行添加到帶有PFObject的類
其中一個用戶可以通過PFObject將項目添加到名爲「Items」的類中,但其他用戶無法添加任何項目。這是我用來上傳對象的代碼:
- (void)uploadItem {
NSString *title = self.itemTitle.text;
NSNumberFormatter * f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber *price = [f numberFromString:self.itemPrice.text];
NSString *description = self.itemDescription.text;
NSString *category = self.category;
NSData *data;
NSNumber *mobileNo = [f numberFromString:self.mobileNo.text];
NSString *name;
NSString *userName = [[PFUser currentUser]username];
if ([FBSDKAccessToken currentAccessToken]) {
[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:nil]
startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
if (!error) {
NSLog(@"fetched user:%@", result);
_fullName = [result objectForKey:@"name"];
_firstName = [result objectForKey:@"first_name"];
_lastName = [result objectForKey:@"last_name"];
_gender = [result objectForKey:@"gender"];
_userID = [result objectForKey:@"id"];
_locale = [result objectForKey:@"locale"];
_email = [result objectForKey:@"email"];
}
}];
}
UIImage *newImage = [self resizeImage:self.image toWidth:320.0f andHeight:480.0f];
data = UIImagePNGRepresentation(newImage);
name = @"image.png";
PFFile *file = [PFFile fileWithName:name data:data];
[file saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
if (error) {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"An error occurred!"
message:@"Please try sending your message again."
delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alertView show];
} else {
PFObject *item = [PFObject objectWithClassName:@"Items"];
[item setObject:file forKey:@"file"];
[item setObject:title forKey:@"itemTitle"];
[item setObject:mobileNo forKey:@"MobileNo"];
[item setObject:price forKey:@"itemPrice"];
[item setObject:description forKey:@"itemDescription"];
[item setObject:category forKey:@"itemCategory"];
[item setObject:[[PFUser currentUser] objectId] forKey:@"uploaderId"];
[item setObject:userName forKey:@"uploaderIdFB"];
[item setObject:_firstName forKey:@"FirstName"];
[item setObject:_lastName forKey:@"LastName"];
[item setObject:_fullName forKey:@"FullName"];
[item setObject:_gender forKey:@"Gender"];
[item setObject:_userID forKey:@"UserID"];
[item setObject:_locale forKey:@"Locale"];
[item setObject:_email forKey:@"Email"];
[item saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
if (error) {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"An error occurred!"
message:@"Please try sending your message again."
delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alertView show];
} else {
// Success.
self.image = nil;
PFQuery *query = [PFQuery queryWithClassName:@"Categories"];
[query whereKey:@"category" equalTo:category];
[query getFirstObjectInBackgroundWithBlock:^(PFObject *object, NSError *error) {
if (error) {
NSLog(@"Error: %@ %@", error, [error userInfo]);
} else {
NSNumber *items = [object objectForKey:@"items"];
items = [NSNumber numberWithInt:([items intValue] + 1)];
[object setObject:items forKey:@"items"];
[object saveInBackground];
}
}];
}
}];
}
}];
}
這不是關於Xcode的問題。考慮添加[tag:ios]和[tag:objective-c]標籤。 – JAL