我是iOS开发的新手,我使用的是最新版本的Xcode,只是出现了一个错误,说Apple Mach-O Linker(Id)错误退出代码1并且我还没有得到线索的原因。我认为这是相关的,但我不确定它的含义:
ld:重复符号_OBJC_CLASS _ $ _ Timing1ViewController in /Users/tomkenning/Library/Developer/Xcode/DerivedData/EggTimer-ciznfdheqrtybuavrtbbcxfywyyw/Build/Intermediates/EggTimer.build/Debug-iphonesimulator/EggTimer.build/Objects-normal/i386/适用于架构i386的Mediumhb.o和/Users/tomkenning/Library/Developer/Xcode/DerivedData/EggTimer-ciznfdheqrtybuavrtbbcxfywyyw/Build/Intermediates/EggTimer.build/Debug-iphonesimulator/EggTimer.build/Objects-normal/i386/Timing1ViewController.o < / p>
我最近所做的全部是初始化并在.m文件中设置一些整数值,然后使用#import“suchandsuch.m”从另一个ViewController的.h文件链接到它们,代码中没有错误,但这是不允许的?
提前感谢您提供的任何帮助!
答案 0 :(得分:4)
不要这样做:
#import "suchandsuch.m"
这样做:
#import "suchandsuch.h"
您可能正在编译suchandsuch.m
,它定义了类Timing1ViewController
,通常(通过在目标的要构建的文件列表中包含suchandsuch.m
)。然后,您的#import "suchandsuch.m"
会将相同的代码插入到不同的源文件中,该文件也会被编译。结果:两个不同的源文件尝试定义Timing1ViewController
。
以正确的方式执行常量 - 在extern
中声明suchandsuch.h
并在suchandsuch.m
中定义它们 - 请参阅this answer。
答案 1 :(得分:0)
您可能有两个具有相同名称的Timing1ViewController
个类。如果您不尝试产品 - &gt;清理并再次建造。