2012-03-14 27 views
5

Tôi sử dụng bộ chia sẻ với thư/twitter/facebook và tôi thực sự mới với mục tiêu-c. sharekit hoạt động tốt và gửi hình ảnh của tôi như nó cần.cách xử lý “sendDidFinish” trong bộ sưu tập

trong ứng dụng của tôi Tôi có chức năng chụp màn hình. Tôi muốn ứng dụng 'đóng băng' khi chụp ảnh màn hình, dừng lại để gửi bất kỳ sự rung lắc hoặc sự kiện chạm nào tới cảnh đằng sau hành động chia sẻ. trong ảnh chụp màn hình lớp của tôi, tôi có ba nút mà gọi shareItem-phương pháp dịch vụ cụ thể của họ, như

[SHKTwitter shareItem:item]; 

vereything hoạt động tốt 'đến đây. nhưng bây giờ khi gửi xong (hoặc hủy bỏ hoặc bị lỗi) Tôi cần ứng dụng để 'unfreeze', sharekit nên nói với ứng dụng của tôi rằng nó được phép nghe bất kỳ liên lạc hoặc lắc-hành động một lần nữa.

Tôi rất tiếc nhưng tôi nghĩ rằng tôi không hiểu khái niệm về việc sử dụng đại biểu tại đây. Ý tôi là, 'sendDidFinish' có nghĩa là ở trong một đại biểu? và nếu có, làm thế nào tôi có thể nói cho sharekit là người được ủy quyền của nó? hoặc tôi có phải chỉnh sửa các lớp gửi dịch vụ (như SHKItem hoặc SHKFacebook) không?

vui lòng không làm giảm tôi vì câu hỏi này. Tôi thực sự muốn vượt qua bí ẩn này ...

Trả lời

12

SHKTwitter kế thừa từ SHKOAuthSharer, người kế thừa từ SHKSharer. SHKSharer có giao thức đại biểu được gọi là "SharerDelegate".

Vì vậy, bạn có thể sử dụng một thể hiện của SHKTwitter, sau đó đặt nó đại biểu như:

shkTwitterInstance.shareDelegate = yourDelegateObject. 

Và thực hiện các phương pháp đại biểu

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

Hãy thử điều đó.

EDIT (KHÁC, và phổ biến hơn, SOLUTION)

Ngoài ra, bạn có thể suscribe đối tượng của bạn để "SHKSendDidFinish" thông báo từ đối tượng SHKTwitter.

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

lựa chọn thay thế khác là bạn sử dụng đối tượng SHKT để gửi thông báo "SHKSendDidFinish". – LuisEspinoza

+0

hey, thanx cho câu trả lời của bạn! nghe thật dễ dàng ... :-) Tôi có thể đăng ký thông báo bằng cách nào? – headkit

+1

o.k., tôi tìm thấy một cái gì đó như '[[NSNotificationCenter defaultCenter] addObserver: tự chọn: @selector (phương pháp của bạn) tên: @" SHKSendDidFinish "đối tượng: nil];' và tôi sẽ thử điều đó. – headkit

Các vấn đề liên quan