iOS--Swift学习,从入门到跑路(二)

字符串

(1)创建字符串(空字符串)

// 使用字符串字面量创建空字符串
var stringA = ""

if stringA.isEmpty {
   print( "stringA 是空的" )
} else {
   print( "stringA 不是空的" )
}

// 实例化 String 类来创建空字符串
let stringB = String()

if stringB.isEmpty {
   print( "stringB 是空的" )
} else {
   print( "stringB 不是空的" )
}

(2)对字符串的操作
插入值

var varA   = 20
let constA = 100
var varC:Float = 20.0

var stringA = "\(varA) 乘于 \(constA) 等于 \(varC * 100)"
print( stringA )

用加号连接

let constA = "菜鸟教程:"
let constB = "http://www.runoob.com"

var stringA = constA + constB

长度

var varA   = "www.runoob.com"

print( "\(varA), 长度为 \(varA.characters.count)" )

比较

var varA   = "Hello, Swift!"
var varB   = "Hello, World!"

if varA == varB {
   print( "\(varA) 与 \(varB) 是相等的" )
} else {
   print( "\(varA) 与 \(varB) 是不相等的" )
}

Unicode

var unicodeString   = "菜鸟教程"

print("UTF-8 编码: ")
for code in unicodeString.utf8 {
   print("\(code) ")
}

print("\n")

print("UTF-16 编码: ")
for code in unicodeString.utf16 {
   print("\(code) ")
}

运算符

isEmpty
判断字符串是否为空,返回布尔值

hasPrefix(prefix: String)
检查字符串是否拥有特定前缀

hasSuffix(suffix: String)
检查字符串是否拥有特定后缀。

Int(String)
转换字符串数字为整型。 实例:
let myString: String = "256"
let myInt: Int? = Int(myString)

String.characters.count
计算字符串的长度

utf8
您可以通过遍历 String 的 utf8 属性来访问它的 UTF-8 编码

utf16
您可以通过遍历 String 的 utf8 属性来访问它的 UTF-16 编码

unicodeScalars
您可以通过遍历String值的unicodeScalars属性来访问它的 Unicode 标量编码.

+
连接两个字符串,并返回一个新的字符串

+=
连接操作符两边的字符串并将新字符串赋值给左边的操作符变量

==
判断两个字符串是否相等

<
比较两个字符串,对两个字符串的字母逐一比较。

!=
比较两个字符串�是否不相等。

字符(Character)

(1)字符不能是多个字符组合
(2)不能创建空字符
(3)遍历字符串中的字符

for ch in "Runoob".characters {
    print(ch)
}

(4)字符串连接字符

var varA:String = "Hello "
let varB:Character = "G"

varA.append( varB )

数组

(1)当创建的数组赋给变量则是可修改数组,反之。
(2)一个数组只能储存一种类型的值
(2)创建数组

创建一个由特定数据类型构成的空数组:
var someArray = [SomeType]()
以下是创建一个初始化大小数组的语法:
var someArray = [SomeType](repeating: InitialValue, count: NumbeOfElements)
以下实例创建了一个类型为 Int ,数量为 3,初始值为 0 的空数组:
var someInts = [Int](repeating: 0, count: 3)
以下实例创建了含有三个元素的数组:
var someInts:[Int] = [10, 20, 30]

(3)修改数组
加元素

var someInts = [Int]()

someInts.append(20)
someInts.append(30)
someInts += [40]

改元素值

someInts[2] = 50

(4)遍历数组,得到索引和值

for (index, item) in someStrs.enumerated() {
    print("在 index = \(index) 位置上的值为 \(item)")
}

(5)直接用+合并数组
(6).count获取元素个数,.isEmpty判断数组是否为空

字典

(1)一个字典只能储存相同类型的数据
(2)key可以是任何类型,但是必须唯一
(3)当创建的数组赋给变量则是可修改字典,反之。
(4)使用 updateValue(forKey:) ,如果key存在修改值,不存在添加值。

var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]

var oldVal = someDict.updateValue("One 新的值", forKey: 1)

(5)可以通过=直接给相应的key的值修改数据
(6)使用 removeValueForKey() 方法来移除字典 key-value 对。如果 key 存在该方法返回移除的值,如果不存在返回 nil

var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]

var removedValue = someDict.removeValue(forKey: 2)

(7)遍历字典

var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]
//  第一种
for (key, value) in someDict {
   print("字典 key \(key) -  字典 value \(value)")
}
//  第二种
var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]

(8)字典转换成数组,key和value分别可以变成数组

var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]

let dictKeys = [Int](someDict.keys)
let dictValues = [String](someDict.values)

print("输出字典的键(key)")

for (key) in dictKeys {
    print("\(key)")
}

print("输出字典的值(value)")

for (value) in dictValues {
    print("\(value)")
}

本文只是我在菜鸟教程上学习的一些自认为关键性的总结,如有需要请前往菜鸟教程学习。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,384评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,845评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,148评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,640评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,731评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,712评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,703评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,473评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,915评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,227评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,384评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,063评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,706评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,302评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,531评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,321评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,248评论 2 352

推荐阅读更多精彩内容