关键词:
Swift 基础语法
基本
1.取消了预处理命令
2.取消了指针的概念
3.取消了NS前缀
4.大量将类替换成struct
5.“;” 在同一行用来分割语句,如果不是同一行可以省略
6.可选项
7.playground
8.条件语句”if”,空执行”()”
9.没有非0即真的逻辑
10.switch (1)可以针对任意类型的值进行分支,不在局限在整数
(2)且一般不需要break。
(3)可以用“,”分割可选值
(4)所有的分支最少需要一条指令,如果没用指令的时候,就用break
11.传统的for循环已经被取消。 统一用for in ,并支持反转(正序逆序)等
12.i++, ++1 , i—, —i 都已经被取消
13.swift目前没有代码的自动布局,只能用frame或者xib
可选值
1.使用!解包
2.使用 ?? 解包(实际上是一个特殊的三目),优先级较低,一般用()包一下
3.连用语法 if let / var 判断对象的值是否为nil,进入分支后不需要解包
4.连用语法 guard let
1.{}在oc中的特殊用法, 常见的tableview的包装
字符串 string (注意区别NSString)
1.支持遍历 .characters
2.lengthofbytes 返回指定编码状态下的字节长度
3.characters.count 返回展示的长度(推荐使用)
4.将string 转换成 NSString
5.字符换的拼接
6.使用格式字符串
7.字符串的子串
类型转换 as
数组
1.swift存放类型可以存基础数据类型和结构体不需要包装,oc需要包装NSNumber,NSValue(包装结构体)
2.如果数组类型中的类型不一致,自动推导成NSObject
注意的是,CG 结构体中,还是需要用NSValue包装
3.swift 中还有一种类型,AnyObject —> 任意对象,可以没有父类,这个跟oc所有的类都有父类是不同的
4.遍历数组
(1) 与oc一样直接用[]去下标 for i in 0..<array.count
(2)与OC一样用for in 遍历 for s in array
(3)与OC一样用同时遍历下标和内容 for e in array.enumerated()
(4)swift特有的同事遍历下标和内容 for (n,s) in array.enumerated()
(5)反序遍历 for s in array.reversed()
(6)反序遍历下标&内容(先枚举后反序) for (n,s) in array. enumerated().reversed()
5.数组的增删改
(1)OC中数组可分为不可变NSArray和可变NSMutableArray,swift中用的是let,var来声明
(2)追加元素 array.append(“111”)
(3)修改通过下标定位修改 array[0] = “222”
(4)删除 array.remove(at:3); array.removeAll(keepingCapcity:ture)(移除但是保留空间)
6.数组的初始化可变数组,初始化容量为0,若插入后,如果还要插入容量不够,则容量=当前容量*2。如果初始化指定容量,可以避免插入时重复分配空间
var array = [int]()
7.数组的合并 var array1 ,let array2。
(1) array1 += array2 要合并的数组的类型必须一致,不同类型
字典
1.字典的定义,OC中用{} ,swift中用[]. 例如 let dict = [“name”:”张三”,“age”:10]
特例: let array= [[string : AnyObject]] = [ [“name”:”张三”,”age”:10] , [“name”:”李四”,”age”:15]]
2.字典的增删改 OC中有可变和不可变,swift中let 定义不可变, var 定义可变
var dict = [“name”:”张三”.”age”:15]
新增 如果key不存在就是新增
dict[“title”] = “大哥”
修改 如果key存在就是修改
dict[“name”] = “李四”
删除 —指定key删除
dict.removeValue(forKey:“name”)
注意:字典是通过key来定位的,且key必须是可以 hash的(每一个key可以转换成一个唯一的整数)
3.字典的遍历, OC遍历只能通过遍历key,然后才能取值
for e in dict e 是一个值对 用e.key e.value 分别取值
for (key,value) in dict key,value 分别取值
11.字典的合并
var dict1 = [“name”:”张三”.”age”:15]
let dict2 = [“name”:”李四”,“title”:“大哥”]
字典不能和数组类似的直接相加!!!
for e in dict2 {
dict1[e.key] = dict2[e.key]
}
合并的过程,如果key存在只是修改,不存在是新增
//demo下载地址:https://github.com/fushengit/Learn-Swift
swift学习笔记——基础语法
Swift学习笔记——基础语法本文是针对新手学习Swift笔记,记录学习过程的一些体会以及一些学习过程中的理解:基础语法第一次接触Swift或者Oc语法的时候,总感觉有点像脚本语言,不像Java或者C/C++。当然这... 查看详情
swift基础1.1——基本的语法—变量和常量
...wift已是趋势。也是应他们再三要求,让我整理一下Swift的学习心得。今天就从Swift的基本的语法说起——定义let 定义常量,一经赋值不同意再改动var 定义变量。赋值之后仍然能够改动//定义常量而且直接设置数... 查看详情
swift基础学习基本语法
Swift 简介(赞美一番,收集了多篇关于Swift学习教程的语言简介一直以为英语和汉语混写的时候只是英语字母结尾的地方打空格,原来是英语字母的开头和结尾都要加一个空格,英语字母后面是标点符号的时候不加空... 查看详情
swift学习笔记——基础运算符
基础运算符本节主要介绍的一些基础运算符,文章中提炼的是一些和C/C++不同的语法特性。其中相同或相似特性语法就没有拿出叙述。一元、二元、三元运算符1、一元运算符对单一操作对象操作(如-a)。一元... 查看详情
swift基础语法1.23
主要是swift的基础语法,其中print("其中为输出内容"),但是加入你在其中加入一个反斜杠的话,那么就表示里面可以坐成一个表达式,例如如果a+B=5,print("(a+B)是什么玩意")那么输出后的结果就是5是一个什么玩意。其次还有... 查看详情
swift3.0previewe1语法指南——基础
原档:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html#//apple_ref/doc/uid/TP40014097-CH5-ID309--------------------------------- 查看详情
swift入门——基本的语法
近期開始学习swift。把学习的过程和总结整理成一个系列。方便日后回想总结。基本的语法基础语法swift中每一行结束后不须要加分号。多个语句在同一行内须要用分好隔开//表示凝视。或者用/*……*/常量常量是指定义之后无法... 查看详情
dart学习--dart之基础语法(代码片段)
一,重要概念所有你能够赋值给一个变量的都是一个对象,无论是变量,数字,函数等都是一个对象。所有的对象都是类的一个实例。所有的对象都继承自内置的Object类。这一点类似于Java语言“一切皆对象”。虽然Dart是... 查看详情
swift中的基础语法
1.Swift中的函数///函数的定义//////-Parameters:///-x:形参///-y:形参///-Returns:返回值funcsum(x:Int,y:Int)->Int{returnx+y} print(sum(x:10,y:20)) /*外部参数就是在形参前面加了一个字外部参数不会影响函数内部的细节外部参数会让外部调... 查看详情
swift3语法摘要(代码片段)
swift3学习基础教程摘要:1、OC中nil是指向一个不存在对象的指针。swift中表示任何值的缺省。2、条件判断的时候,可选行不能为nil;条件不能为false。这样才成立:ifletf=Int("4"),lets=Int("42"),f<s&&s... 查看详情
c++学习:1基础语法(代码片段)
C++发展史C++03只是修改了一些BUGC++11:majorC++17:major目录一、基础语法A1、cin、cout2、函数重载(Overload)3、默认参数4、extern"C"C和C++混合开发二、基础语法B5、内联函数( 查看详情
从零开始学swift——语法篇第一季-关东升-专题视频课程
从零开始学Swift——语法篇第一季—13543人已学习课程介绍 本视频主要介绍Swift程序开发环境、Swift语法基础、运算符、Swift原生数据类型、Swift原生字符串、控制语句。本视频是基于Swift2.x版本... 查看详情
fpga/verilog学习笔记——verilog基础语法
文章目录Verilog基础语法一、基础知识1.逻辑值2.数字进制格式3.标识符二、数据类型1.reg和wire类型(1)reg寄存器类型(2)wire线网类型(3)reg... 查看详情
swift学习笔记-1
Apple官方开发手冊地址:https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/LandingPage/index.html语法概览1SimpleValues常量定义:let变量定义:var常量或变量类型和初始值一致:varmyVariable=42myVariable=50letmy 查看详情
2017.8.1logstash基础语法学习
数据类型1bool:debug=>true2string:host=>"hostname"3int:port=>5144array:match=>["datetime","UNIX","ISO8601"]5hash:options=>{6key1=>"value1",7key2=>"value2"8} 字段引用:[field_name]  查看详情
kotlin基础语法学习笔记(代码片段)
Kotlin简介Kotlin是一门与Swift类似的静态类型JVM语言,由JetBrains设计开发并开源。与Java相比,Kotlin的语法更简洁、更具表达性,而且提供了更多的特性,比如,高阶函数、操作符重载、字符串模板。它与Java高度... 查看详情
01-swift基础语法
一、Swift基础操作导入框架OC是 #import<UIKit/UIKit.h>Swift是 importUIKitswift定义标示符:必须指定是常量还是变量 var(变量)/let(常量)标识符的名称:标识符的类型=初始化值 &nbs 查看详情
大数据学习06scala的基础语法(代码片段)
大数据学习06Scala的基础语法介绍Scala的基础语法文章目录大数据学习06Scala的基础语法前言一、注释二、变量与常量1.基本语法2.代码实操三、标识符的命名规范1.命名规范2.字符串输出3.调试效果四、控制台标准输入1.代码实现2.调... 查看详情