iOS

[toc]

开发随笔

Swift 变量对外只读,对内可读写

项目中经常需要创建这样一种变量:对内可读写,但对外是只读的。在 OC 中,只需在 .h 文件中将属性定义为 readonly,而在 .m 文件中将该属性重新定义为 readwrite 即可。

可是在 Swift 中却没有这样让我们重新定义权限的机会,那么我们该如何去创建这样的变量呢?

Swift中的实现方式:

1
2
3
class Person {
private(set) var name : String!
}

别看有 private 就以为其他类不能访问 name 属性了,其实只是 setter 方法是私有的,所以在其他类中是可以访问 name 属性的,只是不能修改而已,而在 Person 类中是读写都可以。

怎样优雅的禁用掉Swift中的方法

https://www.jianshu.com/p/ab366b58b7a2?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

尝试理解Swift中的@escaping

https://www.jianshu.com/p/dd0537a40fc6/

ios – Swift – UIButton重写setSelected

http://www.voidcn.com/article/p-cdthfhqm-bte.html

swift函数参数指针传递inout和@escaping冲突的解决方法

https://blog.csdn.net/boildoctor/article/details/111559223

swift3.0 让方法参数可修改方法

https://blog.csdn.net/a1018875550/article/details/75174640

http://cache.baiducontent.com/c?m=m-k2_l-4CMYfEg95YMMh3aMWxKOtc-cVq1Lq_EW6L9ND9ZVpKHWhid_jv2PzArzld_Ken3Rpbsi6Vq0C4j0mlD0T63lrtFzAqErGBjLPrPWxLoJPMvGcDO9IDiaLoRIFgKi0qnIw9jds8KCdPvoVqKaq9zxuJ0mTEj3E8veGxA-srcec28YT0zWiuMzfJgjc&p=cb6ac54ad5c042b90be29628165dcb&newp=8b2a970c82934eac5beee6261547c4231610db2151d7d5106b82c825d7331b001c3bbfb423291403d5c7796d04a44258e8f63271370923a3dda5c91d9fb4c57479c173&s=1679091c5a880faf&user=baidu&fm=sc&query=swift+%D0%DE%B8%C4%B7%BD%B7%A8%D0%CE%B2%CE&qid=ac21cc5c00048b26&p1=9

Swift学习笔记 In-out形参

swift map reduce 获取下标(index)的方法

http://www.voidcn.com/article/p-cstjyafn-bmd.html

Swift 数组删除元素(删除多个)

https://www.meiwen.com.cn/subject/jwpmbctx.html

Swift中编写单例的正确方式

http://www.cocoachina.com/articles/14584

Swift中的nil

Swift中的nil和OC中的nil不一样。OC中的nil表示不存在的对象,你无法给NSInteger类型的变量赋值nil,但是Swift中的nil表示不存在,可以给任何Optional的变量或者常量赋nil,即使是普通类型:

1
2
var a: Int? = nil
let b: Double? = nil

但是,需要注意的是,无法给非Optional类型的变量或者常量赋nil:

swift 数组的添加和删除

insert(_:at:) 在指定位置插入一个元素

insert(contentsOF:at)在指定位置插入多个元素

swift 条件编译 自定义环境变量

https://www.jianshu.com/p/9a93e614a98e

Swift initializer

https://www.jianshu.com/p/bdb07143d368

Swift - 实现动画

https://blog.csdn.net/weixin_43704791/article/details/86529516