在学习iOS开发之前,先掌握一点swift知识是必要的。
note:不论是iOS开发还是编程语言的学习,都应该是迭代、由浅入深的过程,是理论实践相结合的过程。

中文文档 swift3(与swift4稍有不同,多写代码实操练习即可)
http://special.csdncms.csdn.net/the-swift-programming-language-in-chinese/Introduction.shtml

http://wiki.jikexueyuan.com/project/swift/chapter1/chapter1.html

官方文档 swift4
https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html#//apple_ref/doc/uid/TP40014097-CH5-ID309

内容确实挺多的,需要多次迭代学习整理,记得在有基础之后,多应用、多看sample code。学语言要买书,真的算了吧,中文版的swift参考书,真的都很扯,要么就是挤出罗列,要么就是官方文档无脑译。

下面罗列一下要点

#outline#
变量、类型;运算符、关键字;控制流;函数;面向对象

一、变量 类型
declare
var welcomeMessage: String
feature:type safe, type inference
var tmp = "iamcoming"

optional
Int Int? Int!
解包语句
可选链

three primary collection types, Array, Set, and Dictionary, as described in Collection Types.
了解定义、调用属性和方法、如何遍历

二、运算符 关键字
type casting
关键字 is as as! as?

三、控制流
循环 for-in

switch

三、function
define
无参、多参、多返回值的函数

func someFunction(argumentLabel parameterName: Int) {
}

返回值
func minMax(array: [Int]) -> (min: Int, max: Int)? {
if array.isEmpty
{ return nil }
else
{ return (12,13)}
}

Default Parameter Values

In-Out Parameters
Function parameters are constants by default.
func swapTwoInts(_ a: inout Int, _ b: inout Int) {
let temporaryA = a
a = b
b = temporaryA
}

Function Types
相当于函数指针
var mathFunction: (Int, Int) -> Int = addTwoInts

Every function in Swift has a type, consisting of the function’s parameter types and return type. You can use this type like any other type in Swift, which makes it easy to pass functions as parameters to other functions, and to return functions from functions.

四、枚举类型
原来枚举类型还有这么多可以讲的
raw value、关联值、递归定义

五、类和结构体
计算属性、属性观察器

六、protocol

iOS-初识swift的更多相关文章

  1. iOS、swift、React Native学习常用的社区、论坛

    <!----iOS> <!----Swift>*IOS开发常用社区:http://code4app.com/ *IOS开发常用社区:http://www.cocoachina. ...

  2. iOS开发Swift篇—(一)简单介绍

    iOS开发Swift篇—简单介绍 一.简介 Swift是苹果于2014年WWDC(苹果开发者大会)发布的全新编程语言 Swift在天朝译为“雨燕”,是它的LOGO 是一只燕子,跟Objective-C ...

  3. iOS开发Swift篇—(二)变量和常量

    iOS开发Swift篇—(二)变量和常量 一.语言的性能 (1)根据WWDC的展示 在进行复杂对象排序时Objective-C的性能是Python的2.8倍,Swift的性能是Python的3.9倍 ...

  4. iOS开发Swift篇—(三)字符串和数据类型

    iOS开发Swift篇—(三)字符串和数据类型 一.字符串 字符串是String类型的数据,用双引号""包住文字内容  let website = "http://www ...

  5. iOS开发Swift篇—(四)运算符

    iOS开发Swift篇—(四)运算符 一.运算符 1.Swift所支持的部分运算符有以下一些 赋值运算符:= 复合赋值运算符:+=.-= 算术运算符:+.-.*./ 求余运算符:% 自增.自减运算符: ...

  6. iOS开发Swift篇—(五)元组类型

    iOS开发Swift篇—(五)元组类型 一.元组类型介绍 1.什么是元组类型 元组类型由 N个 任意类型的数据组成(N >= 0),组成元组类型的数据可以称为“元素” 示例: let posit ...

  7. iOS开发Swift篇—(六)流程控制

    iOS开发Swift篇—(六)流程控制 一.swift中的流程控制 Swift支持的流程结构如下: 循环结构:for.for-in.while.do-while 选择结构:if.switch 注意:这 ...

  8. iOS开发Swift篇—(七)函数(1)

    iOS开发Swift篇—(七)函数 一.函数的定义 (1)函数的定义格式 func 函数名(形参列表) -> 返回值类型 { // 函数体... } (2)形参列表的格式 形参名1: 形参类型1 ...

  9. iOS开发Swift篇—(八)函数(2)

    iOS开发Swift篇—(八)函数(2) 一.函数类型 函数类型也是数据类型的一种,它由形参类型和返回值类型组成,格式是 (形参类型列表) -> 返回值类型 func sum(num1: Int ...

  10. iOS开发Swift篇—(九)属性

    iOS开发Swift篇—(九)属性 一.类的定义 Swift与Objective-C定义类的区别 Objective-C:一般需要2个文件,1个.h声明文件和1个.m实现文件 Swift:只需要1个. ...

随机推荐

  1. pv与单广告位曝光统计优化

    上一篇文章<巧用域名发散,缓解单广告位并发请求限制>中提到了我已经将广告的数据请求写成了单广告位请求.既然数据请求都已经是单广告位的了,那么曝光统计也理所应当是单广告位的. pv是什么? ...

  2. TDD:代码可测试设计

    1  方法内部代码命令,查询分离. a . 命令方法:执行一系列动作. b.  查询方法: 执行查询动作,并返回值. 2  一个类中有好几个地方都用到了一个或多个全局变量,可以考虑把全局变量封装到另外 ...

  3. mobienet, shufflenet

    参考github上各位大神的代码 mobilenet和shufflenet,实现起来感觉还是各种问题. mobilenet目前使用的代码来自这里:https://github.com/BVLC/caf ...

  4. SpringBoot非官方教程 | 第十二篇:springboot集成apidoc

    转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot-apidoc/ 本文出自方志朋的博客 首先声明下 ...

  5. spring入门学习感悟

    1:ioc:控制反转 控制权的转移,应用程序本身不负责依赖对象的创建和维护,而是有外部容器负责创建和维护的(获取依赖对象的过程被反转了) 2:di:依赖注入,它是一种控制反转的一种实现方法,ioc容器 ...

  6. datatable根据条件设置表格行中字的颜色或背景

    使用row回调函数 "rowCallback": function (row, data) { if (xxx) { //给行添加背景色 $(row).css("back ...

  7. DevOps - 版本控制 - Git

    配置 .gitignore 配置 .gitignore 配置文件用于配置不需要加入版本管理的文件,配置好该文件可以为我们的版本管理带来很大的便利. 有些时候,你必须把某些文件放到Git工作目录中,但又 ...

  8. dom4j支持Xpath的具体操作

    ***默认情况下,dom4j不支持xpath. 如果想要使用xpath,需要引入jaxen-1.1-beta-6.jar包. 在dom4j中提供了两个方法来支持xpath. ***selectNode ...

  9. YII2.0学习二 安装adminlte 后台模板

    控制台切换到安装目录wwwroot/shanghai/ 修改一下composer镜像地址:composer 使用中国镜像 运行 composer require dmstr/yii2-adminlte ...

  10. IdeaVim插件使用技巧--JetBrains Plugin Vim

    在 IDEA Intellij小技巧和插件 一文中简单介绍了一下IdeaVim插件.在这里详细总结一下这个插件在日常编程中的一些常用小技巧.供有兴趣使用这个插件,但对Vim还不十分熟悉的朋友参考.当然 ...