Обработка нескольких учетных записей Twitter на SLRequest
При использовании SLRequest в приложении для iOS есть несколько замечательных руководств по твиттингу. Однако большинство из них просто извлекают последний объект из учетных записей Twitter. Поскольку в настройках iOS может быть зарегистрировано несколько учетных записей Twitter, должен ли разработчик указать, какую учетную запись выбрать, прежде чем отправлять твиты, или просто использовать учетную запись по умолчанию?
1 ответ
Вы не обязаны предоставлять пользователю возможность, но рекомендуется это сделать.
Один из вариантов для нас - это лист действий:
UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:@"Choose an Account" delegate:self cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:nil];
for (ACAccount *acct in _accounts) {
[sheet addButtonWithTitle:acct.username];
}
sheet.cancelButtonIndex = [sheet addButtonWithTitle:@"Cancel"];
[sheet showInView:self.view];
Это предполагает, что вы уже загрузили учетные записи в массив (я назвал мой _accounts), и вместо выбора последнего объекта используйте этот код для отображения всех доступных учетных записей.
Затем в методе делегата UIActionsheet проверьте, какая кнопка листа действий была нажата:
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
if (buttonIndex != actionSheet.cancelButtonIndex) {
self.accountToUse = [_accounts objectAtIndex:buttonIndex];
}
}
Это установит учетную запись на основе того, что выбрал пользователь. Это стандартный шаблон, и его, возможно, потребуется немного изменить в зависимости от того, где вы к нему обращаетесь, но это по большей части то, что вам нужно!
Надеюсь, поможет!