1.0 错误信息:Expected a type
协议MSNavigtionProtocl类
MSViewModel类
MSViewModelServices类
这是出现这个错误涉及的几个类的头文件,刚开始一定会对这个报错是否纳闷,文件导入没什么特别,平时都没问题,这次就报错了,真的会怀疑Xcode的问题。
事出必有因,先从报错的协议MSNavigtionProtocl入手,代码就这几句,本文件看不出有什么问题,我们就接着看导入的文件MSViewModel类,这个文件也是没有问题,接着再看导入的文件MSViewModelServices类,这个也看不出哪里问题。既然代码看不出问题,那就是可能就是文件导入的问题,上面三个类都有互相导入,导致在编译的时候循环编译,从而报错,解决的办法就是在协议MSNavigtionProtocl类中,将#import"MSViewModel.h"改为“@class MSViewModel;”,就能编码了,因为@class的作用只是声明类。
2.0 错误信息:Null passed to a callee that requires a non-null argument
导致警告的最终祸首是在创建新类的时候,系统现在会自动在头文件头尾添加这两句代码("NS_ASSUME_NONNULL_BEGIN" 和 “NS_ASSUME_NONNULL_END”)导致的,这两句代码的将包住多个属性全部具备nonnull属性,所以会有警告。
解决的办法:
方法一:删除这两句代码
方法二:在会出现为空的属性前面添加__nullable修饰,比如
3.0git上传文件大小超过100M
4.0 clang: error: no such file or directory: 'xxx'