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

时间: 2024-10-03 13:29:35

Swift从零开始学习_01的相关文章

Swift从零开始学习_07(UI界面实践中学习Swift)

昨天试了下写代码后感觉写比只是看好很多, 所以今天就又写了一点东西, 主要是类的属性.以及继承和xib等一些知识, 也遇到了很多麻烦, 不过好在都已经解决了, 这里简单写一下今天的代码, 有什么不对的地方了, 还是希望提出来. 先看一下做的第一个简单的页面:点击第二个按钮, 下面的视图变化颜色, 点击第一个按钮, 模态一个页面 首先是我们之前写OC代码时候在.h里面声明的一些属性, 在Swift怎么声明呢?,方法如下: var array:NSMutableArray = NSMutableAr

Swift从零开始学习_08(代理协议传值)

Swift中的代理协议的写法.    这是第一个页面有一个button和一个label, button点击跳到下一个页面. 第二个页面有一个输入框和一个按钮, 点击按钮把输入框里的内容设置为第一个页面label的内容.效果如下 接下来是代码部分.跟OC的写法还是一样的.这里不再写第一个页面的那些UI的代码.直接看第二个页面的代码. import UIKit protocol SecondViewControllerDelegate{ func changeLabelText(#textStr:S

Swift从零开始学习_02

Swift第二天 一.字典 Swift中的字典并不像OC中可以存储任意的对象, Swift中的字典需要提前定义存储的键值的类型, 可以直接指定类型, 也可以让他自行推断. Swift 的字典使用Dictionary<KeyType, ValueType>方式来定义. var dic = ["firstName":"Chris","lastName":"Paul"] //直接创建字典 var dic1:Diction

Swift从零开始学习_06

Swifit第六天 今天我准备主动寻求点变化, 之前一直在学习Swift的语法, 还是不够直观.简单就是知道了语法可还是不知道到底该怎么用Swift去做项目, 所以今天就没有去看Swift的语法, 而是自己摸索着去做一个Swift的简单的应用, 试试创建类等等, 是跟OC类比这写的.首先我们创建一个empty applicatio项目, 语言选择Swift, 创建完成后如下. 这时候我们点开AppDelegate.swift看到的会是这样的 这里我们会看到很多, 虽然语法不一样, 但是其实大体我

Swift从零开始学习_04

Swift第四天 上周五有点事, 没有时间学习,周六周日又忙着去找房子了, 都没空看了, 有时间了一定坚持看! 主要还是函数的一些知识: ①.//变量拥有与函数相同的参数类型, 是可以直接赋值的 func makePlus(a:Int, b:Int)->Int{ return a + b } var replaceFun:(Int, Int)->Int = makePlus//变量拥有与函数相同的参数类型, 是可以直接赋值的 println("Result: \(replaceFun

Swift从零开始学习_05

从两点看到现在, 快两个小时了, 都是些概念性的东西, 多数都是靠理解和记忆的,其中涉及到Swift的值引用和类型引用, 深copy和浅copy等, 个人觉得这些东西都是靠理解, 代码的话也说不清楚, 所以下午代码也就没写那么多了.这里只贴简单的几行写的代码. //枚举 //enum ViewFrame{//枚举需要以大写字母开头 // case x // case y // case width // case height //} //多个成员, 也可以用逗号隔开 enum ViewFram

《从零开始学Swift》学习笔记(Day 57)——Swift编码规范之注释规范:

<从零开始学Swift>学习笔记(Day 57)--Swift编码规范之注释规范:文件注释.文档注释.代码注释.使用地标注释 原创文章,欢迎转载.转载请注明:关东升的博客 前面说到Swift注释的语法有两种:单行注释(//)和多行注释(/*...*/).这里来介绍一下他们的使用规范. 文件注释 文件注释就在每一个文件开头添加注释,文件注释通常包括如下信息:版权信息.文件名.所在模块.作者信息.历史版本信息.文件内容和作用等. 下面看一个文件注释的示例: /* Copyright (C) 201

Swift--在 30 天内,从零开始学习 Swift

本文是翻译,版权归原作者所有 原文地址(original source):https://blog.growth.supply/from-zero-to-swift-in-30-days-8ad97b630e00 作者(author):https://twitter.com/katiesmillie 确切地说,我是在 30 天前开始学习 Swift 语言的.三天前,我的第一个对外公测版的应用被 Apple 审核通过了.这个对外公测的版本和最终产品比较起来,算不上什么,但是对我而言,这是一次极大的

Swift编程语言学习1.5——类型别名、布尔值、元组

类型别名 类型别名(type aliases)就是给现有类型定义另一个名字.你可以使用typealias关键字来定义类型别名. 当你想要给现有类型起一个更有意义的名字时,类型别名非常有用.假设你正在处理特定长度的外部资源的数据: typealias AudioSample = UInt16 定义了一个类型别名之后,你可以在任何使用原始名的地方使用别名: var maxAmplitudeFound = AudioSample.min // maxAmplitudeFound 现在是 0 本例中,A