Twitter OAuth для iPhone и контроллеров навигации

#iphone #twitter #oauth #uinavigationcontroller

#iPhone #Twitter #oauth #uinavigationcontroller

Вопрос:

Я новичок в Objective-C и программировании для iPhone, поэтому, пожалуйста, потерпите меня. Я использую движок Twitter OAuth от bengottlieb, и я не могу понять, как загрузить логин из модального представления или в навигационный контроллер.

Это помещает экран-заставку в контроллер навигации, но больше ничего не происходит.

 SA_OAuthTwitterController *twitterVC = [[SA_OAuthTwitterController alloc] init];
[self.navigationController pushViewController:twitterVC animated: YES];
  

.. итак, я думаю, что мне нужно использовать что-то вроде этого:

 if(_engine)return;
    _engine = [[SA_OAuthTwitterEngine alloc] initOAuthWithDelegate:self];
    _engine.consumerKey    = kOAuthConsumerKey;
    _engine.consumerSecret = kOAuthConsumerSecret;  

SA_OAuthTwitterController *twitterVC = [SA_OAuthTwitterController controllerToEnterCredentialsWithTwitterEngine:_engine delegate:self];
[self.navigationController pushViewController:twitterVC animated: YES];
  

(который ничего не делает)

Любая помощь была бы высоко оценена.

Комментарии:

1. Вы уверены, что приведенный ниже код выполняется, если(_engine)возвращает; ? Установите точку останова на [self.NavigationController pushViewController: анимированный twitterVC: ДА]; чтобы увидеть, выполнено ли это.

2. Использовать: if (_engine != nil) { ……. }

3. Хорошо, код сейчас выполняется, но я получаю это предупреждение в консоли: приложение пыталось передать нулевой контроллер просмотра в target <UINavigationController: 0x6130880>

Ответ №1:

Проконсультировавшись с самим Беном, он сказал, что движок Twitter не предназначен для загрузки из модального или навигационного представления. Моя страница входа в Twitter находится не в главном представлении, а в отдельном представлении, поэтому я использовал NSNotifications для передачи данных из второго представления в движок, инициализированный в первом представлении.