我正在错误
"不兼容的指针类型分配给' NSMutableData *'从 ' NSData *'"
据我所知,它必须是警告而不是错误。所以我认为我的Xcode项目设置有什么问题吗?
这是错误的图像。
答案 0 :(得分:4)
这应该是一个错误,因为当某人获得明显可变的数据并试图改变它时,它会在运行时崩溃。
基本上,你不应该做你正在做的事情。使用mutableCopy
确保数据是可变的,或者,当您调用构造函数时,请确保在NSMutableData
上调用它。
答案 1 :(得分:2)
看起来您的self.activeDownload
被声明为NSMutableData类型,因此编译器会让您知道赋值无效(即您不能在赋值后改变数据)。只需将NSData
更改为NSMutableData
。
self.activeDownload = [NSMutableData dataWithContentsOfFile:filePath];
答案 2 :(得分:-1)
你很幸运,这是一个错误。只有完全缺乏经验的程序员才能将此作为警告。如果您的代码中存在错误,您是否愿意编译器告诉您或您必须开始调试?
NSMutableData表示可以更改对象。分配NSData对象意味着您的代码现在认为可以更改对象,但如果您尝试,则会在运行时发生崩溃。这真的是你想要的吗?