AFNetworking中AFMultipartBodyStream
的类继承关系图如下:

现在想在AFMultipartBodyStream
类中修改streamStatus
或者streamError
的话该怎么办。
AFNetworking提供了一种方法:
是给NSStream添加一个类扩展,分类的内容如下:
@interface NSStream ()
@property (readwrite) NSStreamStatus streamStatus;
@property (readwrite, copy) NSError *streamError;
@end
这样就可以设置streamStatus
或者streamError
的值了。
这也就是猜测NSStream
类关于这两个属性的实现应该就是在.h文件中是readonly
,而在.m文件中(类扩展)是readwrite
的。
所以可以在子类中给父类添加类扩展来实现这种修改readonly
属性值。
前提是可以用runtime获取到对象属性的
setXXX
和getXXX
方法(iOS没有真正意义上的私有函数)。
网友评论