Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Parse.com。不保存自定义子类属性。网间网操作系统_Ios_Objective C_Parse Platform - Fatal编程技术网

Ios Parse.com。不保存自定义子类属性。网间网操作系统

Ios Parse.com。不保存自定义子类属性。网间网操作系统,ios,objective-c,parse-platform,Ios,Objective C,Parse Platform,我的UserFavorite类如下所示: UserFavourite.h #import <Foundation/Foundation.h> #import <Parse/Parse.h> #import "Product.h" @interface UserFavourite : PFObject <PFSubclassing> @property (nonatomic, copy) Product* product; @property (nona

我的UserFavorite类如下所示:

UserFavourite.h

#import <Foundation/Foundation.h>
#import <Parse/Parse.h>
#import "Product.h"


@interface UserFavourite : PFObject <PFSubclassing>

@property (nonatomic, copy) Product* product;
@property (nonatomic, copy) PFUser* user;

+(NSString *)parseClassName;

-(id)initWithProducts:(Product*)product
                 user:(PFUser *)user;

@end

UserFavourite.m

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

@implementation UserFavourite

@dynamic product, user;

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

-(id)initWithProducts:(Product*)product
                 user:(PFUser *)user{
    self = [super init];
    if (self) {
        self.product = product;
        self.user = user;
    }
    return self;
}

@end
我想将其保存到Parse server,但这些属性没有保存到表中,如图所示: 我也在AppDelegate中初始化了这个子类。 我做错了什么?
谢谢。

GetObjectInBackgroundHithid
的调用是一个异步方法调用。对
saveinbackgroundithblock
的以下调用将在前一个调用完成之前调用,即在对其进行任何修改之前保存
uf


若要解决此问题,请将保存移到上面的完成块。

我在AppDelegate中执行所有操作,并且我注意到在进行调试时,执行不会超过GetObjectInBackgroundHitid的第一行。它实际上甚至不做任何修改。我真的不理解这种情况。另外,您需要确保用户已登录,[PFUser currentUser}不是nil。
//Getting product from Parse
PFQuery *query = [PFQuery queryWithClassName:@"Product"];
UserFavourite *uf = [[UserFavourite alloc] init];
[query getObjectInBackgroundWithId:@"NhKrnlzeeN" block:^(PFObject *product1, NSError *error) {

    [uf setUser:[PFUser currentUser]];
    Product* pr = [[Product alloc] init];

    pr.name = [product1 objectForKey:@"name"];
    pr.category = [product1 objectForKey:@"category"];
    pr.price = [product1 objectForKey:@"price"];
    pr.ingridients = [product1 objectForKey:@"ingridients"];
    pr.protein = [product1 objectForKey:@"protein"];
    pr.fats = [[product1 objectForKey:@"fats"] integerValue];
    pr.carbo = [[product1 objectForKey:@"carbo"] integerValue];
    pr.calories = [[product1 objectForKey:@"calories"] integerValue];
    pr.likes = [[product1 objectForKey:@"likes"] integerValue];
    pr.quantity = [[product1 objectForKey:@"quantity"] integerValue];
    pr.status = [[product1 objectForKey:@"status"] integerValue];
    pr.objectId = product1.objectId;


    [uf setProduct:pr];
    NSLog(@"uf %@", uf);

}];



[uf saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
    if (succeeded) {
        // The object has been saved.
    } else {
        NSLog(@"Error: %@", error.description);
    }
}];