十一岁的加重songxing10000…… ------ 回到博主首页

ios 消息转发初探

有时候服务器的接口文档上一个数据写的是string类型,这时候你就会直接把它赋值给一个label。

 

问题来了,有时候这个string的确是string,没有问题,有时候又是NSNumber,当然不管三七二十一,直接

NSString stringWithFormat:是对的,但是,每处都这样写,太累了,也就是对NSNumber length方法出现了崩溃,

简单使用消息转发处理就能搞定

+ (BOOL)resolveClassMethod:(SEL)sel
{
    
    return NO;
}

- (id)forwardingTargetForSelector:(SEL)aSelector {

    if (aSelector == @selector(length)) {
        return [NSString stringWithFormat:@"%@", self];
    }
    if (aSelector == @selector(boundingRectWithSize:options:attributes:context:)) {
        return [NSString stringWithFormat:@"%@", self];
    }
    if (aSelector == @selector(rangeOfCharacterFromSet:)) {
        return [NSString stringWithFormat:@"%@", self];
    }
    if (aSelector == @selector(drawWithRect:options:attributes:context:)) {
        return [NSString stringWithFormat:@"%@", self];

    }
    
    return nil;
}

 

posted @ 2016-10-21 15:46  songxing10000  阅读(156)  评论(0编辑  收藏  举报