상태에 대한 구문 분석 쿼리가 있습니다. 지금은 현재 사용자가 최근 24 시간 동안 팔로우 한 모든 상태를 새 상태로 반환합니다. 보시다시피를 사용 NSMutableArray
하여 다음 사용자를 가져온 다음 상태를 쿼리합니다.
사용자 당 상태를 1 개로 제한하여 사용자가 상태를 업데이트하면 이전 상태를 대체합니다.
또한 새로 고침시 순서를 무작위로 지정할 수 있다면 멋질 것입니다.
-(void)getFollowingStatus {
PFQuery *following = [PFQuery queryWithClassName:@"Phriends"];
[following whereKey:@"followeds" equalTo:[PFUser currentUser].username];
[following findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
NSMutableArray *followingUsers = [[NSMutableArray alloc] init];
for (PFObject *followingActivities in objects) {
PFUser *user = [followingActivities objectForKey:@"following"];
[followingUsers addObject:user];}
NSDate* CurrentTime = [NSDate date];
NSDate *newDate = [CurrentTime dateByAddingTimeInterval:-86400];
PFQuery *feed = [PFQuery queryWithClassName:@"Pheed"];
[feed whereKey:@"user" containedIn:followingUsers];
[feed whereKey:@"createdAt" greaterThan:newDate];
[feed orderByDescending:@"createdAt"];
[feed findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
//
if (!error) {
self.wallObjectsArray = objects;
[self loadWallViews];
} else {
[[[UIAlertView alloc] initWithTitle:@"Error" message:[error userInfo][@"error"] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil] show];
}
}];
}];
}
불행히도 limit
쿼리 매개 변수를 사용하여 배열 속성의 크기를 제한 할 수 없습니다 . 다음과 같이하는 것이 좋습니다.
[feed findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
NSMutableArray * statuses = [NSMutableArray new];
for (PFUser * user in objects)
[statuses addObject:[user.statuses firstObject];
self.wallObjectsArray = [statuses copy];
[self loadWallViews];
} else {
[[[UIAlertView alloc] initWithTitle:@"Error" message:[error userInfo][@"error"] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil] show];
}
}];
귀하의 상황을 올바르게 이해했으면합니다. 기본적으로 각 사용자의 첫 번째 상태 만 가져 오는 새 배열을 구성해야합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다