Array和Dictionary作为常量时需要注意的地方
来源:互联网 发布:美国白银数据公布 编辑:程序博客网 时间:2024/05/17 09:08
将Array和Dictionary作为常量使用的时候需要注意下面一些问题
let a = [1,2,3]
a[0] = 5 // 这里是没有问题的,常量Array在修改现有数据是ok的
a.append(1) // 但是不能对数组进行扩展.
Dictionary与Array有所不同的是
let d = ["1":1]
d["1"] = 2 // 会出现编译错误,Dictionary是不能修改现有数据的.当然也不能扩展长度
这里会出现一些需要思考的地方, 如果Dictionary中存的value是一个class类型的呢
如: class Shape {
var sLen : Int
// 这里的省略
}
var d2 = ["a" : Shape(2)] // 将Shape的sLen初始化为2
(d2["a"]!).sLen = 4 // 注意这里的 ! 的用法, 这种情境在项目中会经常用. 因为在访问d2["a"]的时候,swift会认为可能返回nil,所以如果不用 ! 的用法,就会出现语法错误
如果用 d2["a"]?.sLen = 4的话,会被认为非法,因为在d2["a"]是nil的情况下会抛弃 .sLen. 那么就成了 d2["a"]? = 4, 给表达式赋值当然非法了
打印d2,修改成功, 表示是可以修改类实例里的属性.
0 0
- Array和Dictionary作为常量时需要注意的地方
- MC9SXS128 AD作为输入时需要注意的地方
- C# 引用类型作为函数参数时一些需要注意的地方
- 网站和论坛整合时需要注意的地方
- 使用Idea时需要安装和注意的地方
- struts2和spring整合时需要注意的地方
- IE和火狐需要注意的地方
- sprintf和snprintf需要注意的地方
- expdp和impdp需要注意的地方
- 需要注意的地方
- 需要注意的地方
- 需要注意的地方
- android 混淆时需要注意的地方
- 开发ALV时,需要注意的地方
- 使用setById时需要注意的地方
- 写lua时需要注意的地方
- 使用nusoap时需要注意的地方
- oracle查询时需要注意的地方
- 刨根问底:C++的移位操作
- [LeetCode1]3Sum
- 统计基础
- 1 网页中嵌入脚本代码的方法
- ffmpeg(12) ffmpeg中的各种数据结构
- Array和Dictionary作为常量时需要注意的地方
- 学会聪明的阅读
- SQLServer分页查询存储过程
- Swift学习笔记之字典,循环,可选变量,函数签名,面向对象
- Swift学习笔记之变量,常量,字符串,数组
- Swift学习笔记之数据类型
- 【LeetCode】Merge k Sorted Lists
- 14种方法帮你养成终生的阅读习惯
- android 另外一个app