Я пытаюсь реализовать Push-уведомления iOS с помощью Parse.com SDK. Проблема заключается в том, что иногда Push Notification не отправляется без какого-либо журнала ошибок. Я изменил код так:Уведомление об отправке в Objective-C
- (IBAction)send:(id)sender {
PFQuery *usernameQuery = [PFUser query];
[usernameQuery whereKey:@"objectId" containedIn:self.recipients];
PFQuery *pushQuery = [PFInstallation query];
[pushQuery whereKey:@"user" matchesQuery:usernameQuery];
PFPush *push =[[PFPush alloc] init];
[push setQuery:pushQuery];
[push setMessage:[NSString stringWithFormat:@"%@: %@", [PFUser currentUser].username, self.kwik]];
[push sendPushInBackground];
[self.navigationController popToRootViewControllerAnimated:YES];
NSLog(@"%p", push);
}
Я не знаю, если эта проблема все еще происходит с PFPush выделяется каждый раз пользователь посылает толчок. Прежде чем я изменил код на этот, я вызывал self.push = [[PFPush alloc] init];
в методе viewDidLoad, потому что я не хотел выделять новый PFPush каждый раз, когда пользователь отправляет Push-Notification из-за использования памяти. Теперь мой вопрос: важно ли распределять новый объект PFPush каждый раз, когда пользователь отправляет push или я могу выделить его в методе viewDidLoad?
в проекте ARC, который, вероятно, есть, вещи, выделенные и не сохраненные чем-то другим (например, сильная переменная экземпляра или помещенная в уже сохраненную коллекцию), будут освобождены, как только они выйдут из области видимости. Вы не должны беспокоиться о толчке, выделенном в OP. Это длится до тех пор, пока оно требуется для толчка. – danh
Спасибо @danh, это действительно помогло мне. К сожалению, я не могу отметить ваш комментарий как лучший ответ. – Strikecounter2
рад помочь. я не ответил на это, потому что совет по управлению памятью был всего лишь половинчатым ответом, если вы также испытываете проблемы с нажатием. пытался ответить на оба ответа. – danh