Обработка нескольких учетных записей 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];

    }
}

Это установит учетную запись на основе того, что выбрал пользователь. Это стандартный шаблон, и его, возможно, потребуется немного изменить в зависимости от того, где вы к нему обращаетесь, но это по большей части то, что вам нужно!

Надеюсь, поможет!

Другие вопросы по тегам