我遇到过这个铿锵声错误:
重复符号_downloading in:
/Users/admin/Library/Developer/Xcode/DerivedData/SD-QuickPic-bloifhodgiduzhdygkblxycilunk/Build/Intermediates.noindex/SD-QuickPic.build/Debug-iphoneos/SD-QuickPic.build/Objects-normal/arm64/DispatchList.o
/Users/admin/Library/Developer/Xcode/DerivedData/SD-QuickPic-bloifhodgiduzhdygkblxycilunk/Build/Intermediates.noindex/SD-QuickPic.build/Debug-iphoneos/SD-QuickPic.build/Objects-normal/arm64/DispatchImageList.o
ld:1架构arm64的重复符号 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
我发现了类似的问题并试图实施他们的解决方案无济于事。
目前的解决方法是更改"下载"的所有实例。在这个.h文件中"下载图像"。这使错误消失但可能不是正确的解决方案。
#import "DispatchImageList.h"
#import "Constants.h"
#import "FrapiTransaction.h"
#import "FrapiManager.h"
@implementation DispatchImageList
BOOL downloadingImage;
- (id) initWithDispatch:(Dispatch*)dispatch {
self = [super init];
if (self != nil) {
downloadingImage = false;
_dispatch = dispatch;
}
return self;
}
- (BOOL) isDownloading {
return downloadingImage;
}
@end
答案 0 :(得分:0)
您的.m文件存在严重缺陷。您的downloading
(downloadingImage
)变量是全局变量,而不是类的实例变量。
更改这两行:
@implementation DispatchImageList
BOOL downloadingImage;
为:
@implementation DispatchImageList {
BOOL downloadingImage;
}
通过将变量放在@implementation
行的花括号中,变量从全局变为实例变量。现在你不会有任何名称冲突,你可以命名变量,而不必担心其他一些类具有相同的实例变量名。而且,更重要的是,类的每个实例现在都获得了自己的变量副本,而不是应用程序中共享相同全局变量的所有实例。