关于字符串
在OC中,字符串是NSString类。
而在Swift中,字符串是String结构体。
结构体比起类,性能更好,String结构体支持遍历。
在Swift中,提供了NSString转String的便捷方法。
根据字符串取得类
通过字符串取得类是这么做的:
NSClassFromString(<ClassName: String>)->AnyClass?
从上可以发现,返回的是一个AnyClass类型,并且还是个可选类型。
需要注意的是,在Swift中,我们传入的类型需要包含命名空间,命名空间默认是我们项目名称。
be like:
NSClassFromString("IDB.HomeController")
IDB是我的项目的项目名称,也是就默认的命名空间,HomeController是我想要通过字符串创建的控制器。
这样的方法可以帮助我们后期通过网络请求,来动态加载一些固定View的样式,比如根据节日活动更换图片以及tabbar上title的文字,比如更换成不同的自定义View等等。
遍历字符
在Swift5.0之前,characters属性是可以用的,但在Swift5.0后,该属性就淘汰了。
for subCharacter in string.enumerated(){
print(subCharacter)
}
let characters = string.enumerated()
print(characters)
运行结果:
(offset: 0, element: "h")
(offset: 1, element: