Вы не можете сделать этого и причина, Вы не можете сделать этого, то, что это на самом деле ничего не означает. Этим я подразумеваю, что дженерики Java являются синтаксическим сахаром поэтому, что вводит Вас, создают боб с, не важно. Можно ввести его во что-либо берущее Дао (или Дао) очень хорошо, в которой точке это будет использовать неявный кастинг любого типа, в который это было введено.
Самый простой способ - переопределить метод webView: DecPolicyForNavigationAction: request: frame: solutionListener:
в UITextView
, например:
@interface UITextView (Override)
@end
@class WebView, WebFrame;
@protocol WebPolicyDecisionListener;
@implementation UITextView (Override)
- (void)webView:(WebView *)webView decidePolicyForNavigationAction:(NSDictionary *)actionInformation request:(NSURLRequest *)request frame:(WebFrame *)frame decisionListener:(id < WebPolicyDecisionListener >)listener
{
NSLog(@"request: %@", request);
}
@end
Это будет влияют на все UITextView
в вашем приложении. Если вам это требуется только для одного представления, создайте подкласс и переопределите метод для него.
Примечание: технически это частный API, который может быть удален в любое время. Невозможно сделать это через общедоступный API.
edit: с iOS 7.0 для поддержки этого был введен новый метод в UITextViewDelegate
. Подробности см. В ответе Нихада.