2012-03-14 1 views
5

Я использую sharekit с почтой/твиттером/facebook, и я действительно новичок в объективе-c. sharekit хорошо работает и отправляет мои изображения так, как должен.Как обращаться с «sendDidFinish» в sharekit

в моем приложении У меня есть функция скриншота. Я хочу, чтобы приложение «зависало» при снятии снимка экрана, останавливаясь, чтобы отправить какое-либо событие shake или touch в сцену за действием sharekit. в моем скрине слое у меня есть три кнопки, которые называют в shareItem-методу их указанной услуги, как

[SHKTwitter shareItem:item]; 

vereything отлично работает «до здесь. но теперь, когда отправка завершена (или отменена или ошибка), мне нужно приложение для «разморозки», sharekit должен сообщить моему приложению, что ему разрешено снова прослушивать любые действия касания или встряски.

Извините, но я думаю, что я не понимаю концепцию использования делегата здесь. Я имею в виду, что 'sendDidFinish' означает быть внутри делегата? и если да, то как я могу рассказать, кто является его делегатом? или мне нужно отредактировать классы send-service (например, SHKItem или SHKFacebook)?

не стесняйтесь меня по этому вопросу. Я действительно хочу отстать от этой тайны ...

ответ

12

SHKTwitter наследуется от SHKOAuthSharer, который наследует SHKSharer. SHKSharer имеет делегатский протокол под названием «SharerDelegate».

Таким образом, вы можете использовать экземпляр SHKTwitter, а затем установить его делегат как:

shkTwitterInstance.shareDelegate = yourDelegateObject. 

и реализовать метод делегата

- (void)sharerFinishedSending:(SHKSharer *)sharer;. 

Попробуйте это.

EDIT (КРОМЕ, и более популярный, РАСТВОР)

Кроме того, вы можете Подпишитесь своим объектом "SHKSendDidFinish" уведомление от объекта SHKTwitter.

[[NSNotificationCenter defaultCenter] addObserver:yourObject selector:@selector(theMethodthatYouWantToExecuteWhenTheNotificationIsRaised:) name:@"SHKSendDidFinish" object:shkTwitterObject]; 
+2

другой альтернативой является то, что вы подписываете свой объект на уведомление «SHKSendDidFinish» из объекта SHKTwitter. – LuisEspinoza

+0

эй, спасибо за ваш ответ! звучит так просто ... :-) как я могу подписаться на уведомление? – headkit

+1

o.k., я нашел что-то вроде '[[NSNotificationCenter defaultCenter] addObserver: self selector: имя @selector (ваш метод): @" SHKSendDidFinish "object: nil];' , и я попробую это. – headkit

Смежные вопросы