Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.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
Parse.com检查friendRequest复制iOS_Ios_Objective C_Parse Platform_Parse Cloud Code_Friendrequest - Fatal编程技术网

Parse.com检查friendRequest复制iOS

Parse.com检查friendRequest复制iOS,ios,objective-c,parse-platform,parse-cloud-code,friendrequest,Ios,Objective C,Parse Platform,Parse Cloud Code,Friendrequest,我希望通过Parse.com和云代码或iOS代码避免重复。 这是我在数据库中的课程: 我希望当“from”用户ID已经发送到“to”用户ID时,不会发送第二个friendRequest 这是我的iOS代码: PFUser *selectedUser = [self.allUsers objectAtIndex:indexPath.row]; //request them PFObject *friendRequest = [PFObject objectWithClassName:@"Frie

我希望通过Parse.com云代码或iOS代码避免重复。 这是我在数据库中的课程:

我希望当“from”用户ID已经发送到“to”用户ID时,不会发送第二个friendRequest

这是我的iOS代码:

PFUser *selectedUser = [self.allUsers objectAtIndex:indexPath.row];
//request them
PFObject *friendRequest = [PFObject objectWithClassName:@"FriendRequest"];
friendRequest[@"from"] = self.currentUser;
friendRequest[@"fromUsername"] = [[PFUser currentUser] objectForKey:@"username"];
//selected user is the user at the cell that was selected
friendRequest[@"to"] = selectedUser;
// set the initial status to pending
friendRequest[@"status"] = @"pending";
[friendRequest saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {

    if (succeeded) {


        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Sent !" message:@"Friend request sent" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
        [alert show];



    } else {

        // error occurred
    }
}];

您好,如果您已经发送了好友请求或从“CurrentUser”发送到“SelectedUser”,您可以执行以下操作以获取好友:

-(void)fetchfriendrequestAndSave{

    PFUser *selectedUser = [self.allUsers objectAtIndex:indexPath.row];
    //request them
    PFObject *friendRequest = [PFObject objectWithClassName:@"FriendRequest"];
    friendRequest[@"from"] = self.currentUser;
    friendRequest[@"fromUsername"] = [[PFUser currentUser] objectForKey:@"username"];
    //selected user is the user at the cell that was selected
    friendRequest[@"to"] = selectedUser;
    // set the initial status to pending
    friendRequest[@"status"] = @"pending";

    PFQuery*query = [PFQuery queryWithClassName:@"FriendRequest"];
    [query whereKey:@"from" equalTo:self.currentuser];
    [query whereKey:@"to" equalTo: selectedUser];
    [query findObjectsInBackgroundWithBlock:^(NSArray*FriendRequestArray, NSError*error){

        if(!error){

            NSArray*temp = [NSArray arrayWithArray:object];
            if(temp.count==0){

                //Save & Send Request

                [friendRequest saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {


                    if (succeeded) {


                        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Sent !" message:@"Friend request sent" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
                        [alert show];



                    } else {

                        // error occurred
                    }
                }];


            }else{

                UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"FriendREquest ERROR" message:@"Friend Request is Already Submitted" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
                [alert show];


            }


        }else{

        }

    }];
}
通过PFQuery:

您可以在Parse.com服务的同一行中搜索“CurrentUser”和“SelectedUser”的值!如果是,它将返回一个数组“temp”…如果不是,它也将返回一个数组…但是如果它是0,我们将对这个数组进行计数(因此它意味着它里面没有值,简而言之…没有朋友请求

如果(NSArray*temp.count==0)保存请求

希望这对你有帮助!对我来说很有效