Swift - String

1、String 基础

1.字符串字面量

字符串字面量: 字符串字面量是由双引号包裹着的具有固定顺序的文本字符

例如: let = someString = "Hello World!"

字符串常量可包含的字符:

1. 转义字符 \0(空字符)\\(反斜线)\t(水平制表符)\n(换行符)\r(回车符)\"(双引号)\'(单引号)

2. 单字符 Unicode标量,写成 \xnn,其中 nn 为两位十六进制数。

2. 单字符 Unicode标量,写成 \unnnn,其中 nnnn 为四位十六进制数。

2. 单字符 Unicode标量,写成 \Unnnnnn,其中 nnnnnn 为八位十六进制数。


2.初始化空字符串

空字符串: var emptyString =""

var emptyString = String()

// 两个字符串都为空,并且两者等价


判断字符串是否为空: (1) (BOOL)isEmpty

(2) count(string1) ==0


3.字符串可变性

字符串是否可被修改: 将字符串分配给一个变量(可对其进行修改)

将字符串废品给一个常量(不可对其进行修改)

字符串拼接: var str ="111"

str += "333"

// :字符串拼接后 str 地址发生变化

// Swift String类型是值类型。!!!


4.字符串是值类型

Stirng: 如果你创建了一个新的字符串值,那么当其进行常量、变量粗制操作或在函数方法中传递时,会进行值拷贝。

在不同情况下,都会对已有字符串创建新副本, 并对新副本进行传递或赋值

比较: OC

Swift

5.使用字符

遍历: for-in

创建独立的字符常量或变量: var yenSign: Character ="Y"


6.计算字符量

计算字符量: var test ="www eee rrr"

println("count:\(count(test))")

// countElements has been renamed to count

// count 函数必须遍历字符串中的字符,以精准计算字符串的长度


7.链接字符串和字符

可以通过 (+) 连接

也可以通过 (+=) 连接

// :不能将一个字符串或字符添加一个已经存在的字符变量上,因为字符变量只能包含一个字符


8.字符串插值

字符串插值: 插入的字符串字面量的每一项都被包裹在"\()"

// :插值字符串中写在括号中得表达式不能包含非转义双引号(")和反斜杠(\)并且不能包含回车或换行符


9.比较字符串

1. == 比较两个字符是否相等

2. hasPrefix (开头)

3. hasSuffix (结尾)


10.大写和小写字符串

1. uppercaseString (大写)

2. lowercaseString (小写)

2、String 使用

1.Nsstring 和 String 的相互装换

Nsstring 转换 String

var text: Nsstring = Nsstring(CString: titleLabel!.text!.cStringUsingEncoding(NSUTF8StringEncoding)!,encoding: NSUTF8StringEncoding)!

2.UI中计算文字的尺寸

let size = CGSize(width: Int.max,height: Int.max)
let boundSize =  titleLabel?.text!.boundingRectWithSize(size,options: NsstringDrawingOptions.UsesLineFragmentOrigin,attributes: [NSFontAttributeName : UIFont.systemFontOfSize(15.0)],context: nil)

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...