上一章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);
}
@end
int main() {
[MyString poseAsClass:[NSString class]];
NSString *string = @"Test";
[string stringByReplacingOccurrencesOfString:@"a" withString:@"c"];
return 0;
}
评论前必须登录!
注册