Open 740629515 opened 6 years ago
对于关系型 property,需要在实现里定义为 dynamic. 这样的话编译器就不会自动生成实例变量以及存取方法了.我看源码里面是在运行期做的相关处理.
如图中红色圈圈处所示, 假如当我的关系型property命名为 "lastName" 时, "lastName" 直接调用 capitalizedString 方法后变为 "Lastname", 完成set拼接之后, 最后拿到的是 "setLastname:", 而其实我们需要拼接出来的应该是 "setLastName:". 所以当关系型property名不止为一个词时, 就会crash. 当然如果关系型property不用驼峰命名法的话, 不会.....
修改方案啦~
这个bug其实master分支里面已经修复,cocospod不知道为什么没有更新
对于关系型 property,需要在实现里定义为 dynamic. 这样的话编译器就不会自动生成实例变量以及存取方法了.我看源码里面是在运行期做的相关处理.
如图中红色圈圈处所示, 假如当我的关系型property命名为 "lastName" 时, "lastName" 直接调用 capitalizedString 方法后变为 "Lastname", 完成set拼接之后, 最后拿到的是 "setLastname:", 而其实我们需要拼接出来的应该是 "setLastName:". 所以当关系型property名不止为一个词时, 就会crash. 当然如果关系型property不用驼峰命名法的话, 不会.....
修改方案啦~