前几天接到新项目,觉得是是时候用Swift开发,原来就是简单的了解Swift,没有正式的用到项目上,我喜欢在实践中学习新的知识,遇到不明白的再去深刻研究(zen me ke neng),毕竟 实践是检验真理的唯一标准。
下面就是开发中遇到的问题,以后在遇到会坚持写的。
今天遇到是最基本的传值问题,上代码
就是简单的拿到当前页面的addressmodel 传到下个页面,下个页面修改当前页面的model 也跟着变化。发现跑起来没有实现效果!!!
然后开始解决问题,
1.先打断点排错是不是老衲写错了(发现没有,原来OC就这样写的 不应该),下一步
2.打印对象地址看看是不是处理的是不是一个对象,Swift打印对象的方法是
withUnsafePointer(to: &addressModel) { pointer in
print("model地址",pointer)
}
发现不是一个地址,找到问题了
发现问题解决:
最后发现Model声明如果是值类型的话,赋值时就是copy生成新的对象。
用Class声明就解决问题了
关于 Swift 中 class 和 struct 的解析看下面文章