首页 > 代码库 > Swift从零开始学习_01

Swift从零开始学习_01

一.引言  

  我所说的零基础是指Swift语言零基础, 之前开发一直用的OC, 没接触过Swift, 最近看到大家都在学些Swift, 刚好最近有点时间就决定每天抽一到两个小时学习一点Swift.准备每天写一点随笔, 记录自己Swift的学习过程, 并不是为了教大家Swift, 只是单纯的想督促下自己的学习, 其中多数东西属于个人的推断或者理解, 还望懂的各位多多指教.

二. Swift第一天

①.字符串

var name = "Chris Paul"  //var创建变量, 会自动推断类型,Swift中的字符串, 不需要了@符号, 且结尾不需要分号了

var name1:String = "Chris Paul" //在变量名后面以: 隔开, 后面可以规定变量的数据类型, 暂时没发现NSString和String有什么区别, 反正都没报错

print(name)  //输出函数, (想要自动换行请使用println函数)跟OC中的NSLog一样, 这里括号中直接写上要输出的参数即可, 也可以使用"", 中间添加要输出 的内容

let name2 = name +" " + name1  //可以使用加号连接字符了, 使用方法跟JS中是一样的, let定义的常量

let number = 30

let string = name2 + "" + String(number)  //最后一个加号后面的, 就是Swift中的强转类型, 意为把number转成字符串

 

let name = "Chris Paul"

let testString = "Name is \(name)"  //用\()表示引用, 输出的结果为:Name is Chris Paul

②数组

var array:[String] = ["dhggmng", "poimng", "cxnmznb", "dqonmdw"]  //Swift中创建一个数组, 据说Swift中一个数组中只能放一种数据类型, 但是我不指定类型, 数组中各种数据混着放, 也没报错! 所以这个地方有待进一步考证              

                                                                                                     

print(array[1])  //取数组对象可以通过下标去取

var array1 = []  //创建一个空的数组

if (arrar1.isEmpty){

print("数组为空")   //数组有isEmpty属性可以判断数组是否为空, 跟之前用的array1.count == 0是一样的, 返回值为BOOL

array1.append("doomgnn")  //使用append方法, 可以给数组添加对象, 该对象会放在数组的最后, 同样也可以使用+=, 方法如下

array1 += "domngng"  //感觉这个方法好流弊啊, 而且+=还能直接将两个数组拼起来, 这简直凶残啊

array1 += ["mnlaogn", "zbbnnaq", "uqomngn"]

array1[1...3] = ["cccc", "mmmm"]  //此处...的意思, 个人理解是1到3得意思, 这个操作的意思就是把下标从1到3得替换调, 后面就写了两项, 所以新数组     就少了一项.

array1.insert("Hello", atIndex: 1) //在下标1的位置插入"Hello"这一项, 感觉Swift这个var(变量)好智能啊, 全成可变的了.

var array2 = array1.removeAtIndex(0) //移除下标为0的元素, 这里需要注意的是, 打印array2, 打印出来的结果是移除的那个对象, 并不是移除后的数组,但此时的array1已经发生了变化, 其实想一出一个对象, 可以直接去调用方法, 无需去接收.

for str in array2{

print(str) //这里使用for...in, 经试验, for后面竟然可以随意指定一个东西, 都能索引到, 根本不用指定类型, 好奇怪啊

for (index, value) in enumerate(array1) {

    println("Item \(index + 1): \(value)") //这中方式返回的结果就会以键值对的形式返回了, 这样看起来会更舒服点

}

 

someInts.append(3) //someInts当前包含一个Int值

someInts = [] //现在someInts时空数组了,  但他会成为Int[]的, 感觉这种规定很奇怪啊

 

var array2 = Array(count: 3, repeatedValue:"What") //创建包含三个"What"字符串的数组

var array2 = [String](count: 3, repeatedValue:"What") //这样就可以指定数组中包含的数据类型, 创建出来的效果跟上面的时一样的

结语:用了一个小时多一点的时间简单学了一下数组和字符串, 感觉跟OC的差别真的好大, 接受着有点困难, 慢慢来吧.其中有什么不对的地方, 还望懂的提出, 我好改正, 谢谢! - CP

 

Swift从零开始学习_01