2015-01-25 2 views
1

В то время как Parse Cloud Code предоставляет привязку для сохранения, которая позволяет выполнять пользовательские действия на бэкэнде, когда объекты сохранены, их SDK для iOS не имеет такого же крючка, когда объекты сохраняются в локальном хранилище данных с помощью методов -save(Eventually)*.Есть ли крюк onSave для локального хранилища Parse (на iOS)?

Я бы хотел, чтобы изменения в данных приводили мои пользовательские действия, такие как обновление пользовательского интерфейса приложения, обновление таблицы и т. Д. Как это можно сделать? Есть ли NSNotification с, что вы могли наблюдать?

+0

Я попытался ищет уведомлений с помощью сниппета здесь: http://stackoverflow.com/a/7955014/590767, но не удалось найти каких-либо полезных уведомлений, отправляемых по синтаксическому анализу. – fatuhoku

ответ

1

Многое будет зависеть от того, зависит ли ваш местный «afterSave» от подтверждения сохранения в облаке или нет. Рассмотрим следующие два примера.

Вы можете pinInBackgroundWithBlock и отправить уведомление, а также сохранить в конечном итоге. Уведомление будет отправлено сразу, если не будет зафиксирована ошибка. Имейте в виду, что ваш saveEventually все еще может не работать.

[myObject pinInBackgroundWithBlock:^(BOOL succeeded, NSError *error) { 
    if(succeeded){ 
     [[NSNotificationCenter defaultCenter]postNotificationName:@"localBeforeSave" object:myObject]; 
     [myObject saveEventually]; 
    } 
}]; 

Или вы можете просто использовать блок для отправки локального уведомления, как только сможете подтвердить, что сохранение в конечном итоге завершено.

[myObject saveEventually:^(BOOL succeeded, NSError *error) { 

    [[NSNotificationCenter defaultCenter]postNotificationName:@"localAfterSave" object:myObject]; 
}]; 
+0

Да, я думаю, что уведомления, безусловно, хороший способ сделать это. – fatuhoku