String和NSString Array 和NSArray

2017-12-21  本文已影响20人  FengxinLi

String和NSString  Array 和NSArray Dictionary和NSDictionary

String和CFString一样,他是一个Struct! 不过,苹果非常漂亮的给我们提供了便利的解决方案。String可以和NSString互相替代,而且API通用。

虽说Array和String相仿,是一个枚举,NSArray是一个Class,但Array的API与NSArray不能通用,不过可以像C#那样通过as 语法显示转换。

1Swift的Collection可以放入任何东西,即不只是Object,我还可以放入int\double这些类型。而NS系列必须是NSObject的子类

2Swift的Collection是Typed Collection,也就是我们上面说过的类型推断。

var  a = ["a","n",2] as [Any]

a += [1]

a[1...2] = [34] //注意这里的索引要小于数组count

print(a)

//下面是Dictionary 用法

var  animalLegs = ["pig":4,"dog":4,"snake":0];

for (animalName,Legs) in  animalLegs{

print(animalName)

}

animalLegs["chihuahua"] = 5

animalLegs["chihuahua"] = 4

var  possibleValue:Int? = animalLegs["chihuahua"]

if let value = possibleValue {

print("\(value)")

}

Struct

一句话形容它:是一个Value类型的不能继承的Class。

不过注意两点:

1. 虽说不能继承,但是可以实现接口!

2. 虽说和class功能一样,但是他所有method是只读权限,和cpp的const一样..如果想要在其中修改struct的member,就要在前面加上 mutating

上一篇下一篇

猜你喜欢

热点阅读