南昌IOS培训
达内南昌中心

0571-56020830

热门课程

达内:Swift之字符串String

  • 时间:2016-01-19
  • 发布:青玉伏案
  • 来源:伯乐在线


    同是IOS开发语言,Swift语言中的String和Objective-C语言中NSString区别还是不小的,Swift中的String又回归了正常状态,使用起来更为方便快捷。南昌达内IOS培训专家就来详细讲一下字符串类型String。

    一、字符串拷贝

    在Swift中的字符串拷贝直接可以使用=号来操作,这个等号不是指针之间的赋值这么简单。如果将字符串A的值赋给字符串B,那么A和B的的内存地址是不同的,也就是字符串A和字符串B有各自的内存空间。下面的实例就给我们展示了上面的说法:

    1.首先写个输入函数,该函数用于输出字符串的内存地址,代码如下:


//打印变量地址的函数
func printVarAddress(tempString: String){

    var address = String(format: "%p", tempString)

    println(address)

}


    2. 创建一个字符串变量并赋上初始值,然后再定义一个变量,把上一个变量的值通过=号来赋值给这个新的变量,并调用上面的方法来打印这两个变量的内存地址,如下代码所示:


var strTemp = "Ludashi"

var strTempCopy = strTemp

printVarAddress(strTemp)  //-- 0x100525d50
printVarAddress(strTempCopy) //-- 0x1005268a0


    由上面打印的变量地址可以看出,每个变量都有自己的存储地址,也就是对应着OC中的深拷贝。

    二、字符串连接

    在Swift中字符串的连接就简单了许多,一个+号搞定,再也不用NSStringFormat了,下面的代码是在Swift中进行字符串连接所使用的方式,和其他编程语言如PHP等是一样一样的。代码如下:


//=============字符串连接==============
var myFirstName = "Li"

var mySecondName = "Zelu"

var myName = mySecondName + myFirstName

println(myName) // -- ZeluLi


    三、字符串遍历

    在Swift中的字符串是可以使用for – in 来直接进行遍历的,如下所示:


//==============字符串遍历==========
var searchString = "Ludashi"

for tempChar in searchString {
    println(tempChar)
}


    四、字符串的比较

    字Swift中的字符串间的比较不是使用isEqualToString方法,直接使用==和!=号就可以搞定,一下子简单了不少。注意,在Swift中的Bool类型的值不再是OC中的Yes Or No了,而是false Or ture了。下面的代码段是对两个字符串通过==和!=来进行比较的。


//字符串比较==与!=
var myNameTemp = "lizelu"

var myBlogName = "ludashi"
var boolOne = myNameTemp == myBlogName  // -- false

var boolTwo = myNameTemp != myBlogName  // -- true

println(boolOne)

println(boolTwo)


    五、Swift中常见字符串函数

    1、使用hasPrefix和