如果
array
是immutable
类型的NSArray
copy
只是retain
,没有创建新对象arrayWithArray
创建了新的NSArray
对象,并将原有数组元素填充进去,数组元素还是原来的对象
array
是mutable
类型的NSArray
- 二者最终结果是等效的,创建了新的
NSArray
对象,但数据元素还是原来的对象
array == nil
copy
的结果是nil
arrayWithArray
结果是长度为0的NSArray
对象
array
是immutable
类型的NSArray
copy
只是retain
,没有创建新对象arrayWithArray
创建了新的NSArray
对象,并将原有数组元素填充进去,数组元素还是原来的对象array
是mutable
类型的NSArray
NSArray
对象,但数据元素还是原来的对象array == nil
copy
的结果是nil
arrayWithArray
结果是长度为0的NSArray
对象let iconImage = UIImage(named: "icon.png")!
var icon = NSTextAttachment()
icon.bounds = CGRect(x: 0, y: (titleFont.capHeight - iconImage.size.height).rounded() / 2, width: iconImage.size.width, height: iconImage.size.height)
icon.image = iconImage
let iconString = NSAttributedString(attachment: icon)
titleText.append(iconString)