首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >扩展NSMutableData类

扩展NSMutableData类
EN

Stack Overflow用户
提问于 2012-09-11 07:14:29
回答 1查看 272关注 0票数 1

我的问题很简单。我想在NSMutableData中扩展iOS类,并覆盖NSMutableData中定义的一些方法。例如,我希望用自己的包装器实现覆盖writeToFile函数。有可能这样做吗?

我的TestNSMutableData.h

代码语言:javascript
复制
@interface TestNSMutableData : NSMutableData
-(BOOL)writeToFile:(NSString*)path atomically:(BOOL)useAuxiliaryFile;
@end

我的TestNSMutableData.m

代码语言:javascript
复制
@implementation TestNSMutableData
-(BOOL)writeToFile:(NSString*)path atomically:(BOOL)useAuxiliaryFile{
  //Some activity on the data and modifying it
  return [self writeToFile:path atomically:useAuxiliaryFile];
}

当我尝试在我的一个项目中使用TestNSMutableData时,比如

代码语言:javascript
复制
TestNSMutableData myData;
myData = [TestNSMutableData alloc]init];
[myData writeToFile:path atomically:YES]

我得到一个错误如下所示

NSInvalidArgumentException'-原因'* -长度仅为抽象类定义。定义-TestNSMutableData长度!

是否有可能覆盖为例如NSMutableData在本机类中定义的方法?

更新I为writeTofile创建NSString类类别方法

我的实现是

代码语言:javascript
复制
-(BOOL)writeToFile:(NSString*)path atomically:(BOOL)useAuxiliary encoding:(NSStringEncoding)enc error:(NSError**)error{


 //Manipulating NSString 
  self = manipulatedString;
  return [super writeToFile....];

}

我收到一个警告:"NSObject可能不会响应' writeToFile‘函数,这在技术上是正确的,因为NSString是从NSObject派生出来的,而NSObject没有writeToFile函数。

我想要的是在文件中写入被操纵的字符串,而不是实际的字符串。

是否有从上述函数调用NSString writeToFile方法的方法。

致以敬意,

尼拉夫

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-11 07:29:07

NSMutableData可能是一个类聚类,使得它有点难以子类。为什么不使用类别来添加自定义-writeToFile方法呢?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12364580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档