一、报错详情
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_Person", referenced from:
_OBJC_CLASS_$_Dog in Dog.o
objc-class-ref in ViewController.o
"_OBJC_METACLASS_$_Person", referenced from:
_OBJC_METACLASS_$_Dog in Dog.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
二、解决方法
图1:
图2:在 build Phases 下操作如下
图3:添加类文件
图4:编译成功
三、造成 bug 原因,以及如何避免
1.造成 bug 原因是其它类没有参加编译造成的,这种原因又分成二种
2.如何避免
第一种:此框一定要勾选
第二种:此框一定要勾选
注意:如果忘记勾选,就在项目中的 Build Phases 中的 Compile Sources 中添加(详细前看图4)
四 在 swift 调用 oc 方法时
1 不能在一个类文件的 .h 与.m ,对应 声明 与 实现.一个新类.需时去新建一个文件.
网友评论