Objective-C冒充posing用法解析 – Objective-C开发教程

【Objective-C冒充posing用法解析 – Objective-C开发教程】上一章Objective-C开发教程请查看:Objective-C类别(Category)用法解析
又是Objective-C中的一个没用的东西!posing意思即是冒充,也就是子类可以冒充成父类,使用[A poseAsClass:B]方法进行冒充,poseAsClass是NSObject中的方法,表示A冒充成B,下次创建B的实例的时候,调用的是A中的方法,这里A一般是子类,B一般是父类。
不过好消息是,苹果已经把posing给去掉了!大快人心!然而并没有什么卵用,现在不少都转去swift了,只是swift还不够稳定,目前开发iOS我还是用OC。
所以就不详细讲解posing了,下面给一个简单的例子:

#import < Foundation/Foundation.h>@interface MyString : NSString@end@implementation MyString- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement { NSLog(@"target %@",target); NSLog(@"replacement %@",replacement); }@endint main() { [MyString poseAsClass:[NSString class]]; NSString *string = @"Test"; [string stringByReplacingOccurrencesOfString:@"a" withString:@"c"]; return 0; }

    推荐阅读