类别(Category)
刚刚发现个好东西:类别,它可以让你给自己的类中添加新的方法,即使是iOS SDK中的类,其实现和类近乎相同,只不过要有一个特定的类别标示符,即类别名。
举个例子(网上摘来的):(关于UIWebView访问web网页时web网页里的“alert”调用UIAlertView弹框修改Title)
1 @interface UIWebView (JavaScriptAlert) 2 3 - (void)webView:(UIWebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame; 4 5 @end 6 7 @implementation UIWebView (JavaScriptAlert) 8 9 - (void)webView:(UIWebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame { 10 11 12 UIAlertView* customAlert = [[UIAlertView alloc] initWithTitle:@"我是JS Alert" 13 message:message 14 delegate:nil 15 cancelButtonTitle:@"确定" 16 otherButtonTitles:nil]; 17 18 [customAlert show]; 19 [customAlert release]; 20 21 } 22 @end
但存在一个疑问:类别添加的方法和类声明时内部声明的方法有什么区别。:应该是没什么区别的
浙公网安备 33010602011771号