类别调试

1.声明类别
@interface NSString (NumberConvenience)
-(NSNumber *) lengthAsNumber;
@end
该声明表示,类别的名称是NumberConvenience,而且该类别将向NSString类中添加方法。
2.实现类别
@implementation NSString (NumberConvenience)
-(NSNumber *) lengthAsNumber
{
    unsigned int length = [self length];
    return ([NSNumber numberWithUnsignedInt: length]);
}

例1:测试时想知道TableViewCell有没有释放,就可以这样写 
@implementation UITableViewCell(dealloc) 
-(void)dealloc 
{ 
NSLog(@"%@",NSStringFromSelector(_cmd)); 
  // allSubviews是cookBook里的函数,可以取一个view的所有subView 
    NSArray *array = allSubviews(self); 
    NSLog(@"%@",array); 

    [super dealloc]; 
} 
@end 
其它的类也可以这样写,你随便输出什么 
例2:调试程序,觉得table的大小变了,想找到在哪改变的,这样做: 
@implementation UITableView(setframe) 
-(void)setFrame:(CGRect)frame 
{ 
NSLog(%"%@",self); 
    [super setFrame: frame]; 
} 
@end

posted @ 2012-09-25 21:55  ValeTu  阅读(155)  评论(0编辑  收藏  举报