swift
frankisbaby
奋斗!!!
展开
-
swift中Any和AnyObject
swift为不确定类型提供了两种特殊的类型别名: 下边创建了可以存储类型的数组: things 数组包含两个 Int 值,两个 Double 值,一个 String 值,一个元组 (Double, Double),一个Movie实例“Ghostbusters”,以及一个接受 String 值并返回另一个 String 值的闭包表达式。 可以使用switch语句进行遍历并且进行相应的操作原创 2017-03-17 13:40:08 · 3282 阅读 · 0 评论 -
swift的字符串的下标访问
访问首元素 访问最后一个元素 文档: The endIndex property is the position after the last character in a String. endIndex是最后一个元素后边的那个元素,因此不能直接访问,否则会崩溃。 访问最后一个元素的正确方式 循环便利访问 为什么不能想oc那样直接用下边访问呢?苹果是这样解释的:原创 2017-03-05 14:33:57 · 3180 阅读 · 0 评论 -
swift中的类型方法
定义 Instance methods, as described above, are methods that are called on an instance of a particular type. You can also define methods that are called on the type itself. These kinds of methods are cal翻译 2017-03-09 16:37:32 · 380 阅读 · 0 评论 -
swift结构体的mutating
Structures and enumerations are value types. By default, the properties of a value type cannot be modified from within its instance methods. 结构体和枚举都是值类型。默认的,在实例方法内部,值类型的属性不能被修改。 However, if you need翻译 2017-03-09 14:55:10 · 428 阅读 · 0 评论 -
swift结构体常量的存储属性
If you create an instance of a structure and assign that instance to a constant, you cannot modify the instance’s properties, even if they were declared as variable properties: 如果你创建一个结构体实例并且把实例赋值给一个常翻译 2017-03-09 15:08:12 · 785 阅读 · 0 评论 -
swift中的self属性
Every instance of a type has an implicit property called self, which is exactly equivalent to the instance itself. You use the self property to refer to the current instance within its own instance met翻译 2017-03-09 13:45:47 · 1767 阅读 · 0 评论 -
swift方法
方法定义 Methods are functions that are associated with a particular type. Classes, structures, and enumerations can all define instance methods, which encapsulate specific tasks and functionality for wor翻译 2017-03-09 13:16:03 · 238 阅读 · 0 评论 -
swift数组
定义 Array在文档中的定义: public struct Array : RandomAccessCollection, MutableCollection 数组中所有的元素都是相同的类型。 检查为空 swift的检查为空要比oc方便多了,它直接提供了一个isEmpty属性。 添加元素 添加元素就更加的方便了,直接可以使用“+”号或者“+=”来进行添加。 访问元素 1.直接利原创 2017-03-06 10:35:18 · 160 阅读 · 0 评论 -
字符串、数组和字典的赋值和复制
In Swift, many basic data types such as String, Array, and Dictionary are implemented as structures. This means that data such as strings, arrays, and dictionaries are copied when they are assigned to翻译 2017-03-09 10:43:43 · 823 阅读 · 0 评论 -
swift类和结构体(二)
枚举和结构体都是值类型 A value type is a type whose value is copied when it is assigned to a variable or constant, or when it is passed to a function. 值类型是:当他被赋值给常量或者变量的时候,它的值是被拷贝一份的,即不是引用。 当用它来赋值的时候,他的所有的值类型属翻译 2017-03-08 23:23:46 · 218 阅读 · 0 评论 -
swift类和结构体(一)
An instance of a class is traditionally known as an object. However, Swift classes and structures are much closer in functionality than in other languages, and much of this chapter describes functional翻译 2017-03-08 18:06:37 · 1195 阅读 · 0 评论 -
swift中比较字符串
比较相等 使用“==”或者“!=”来进行比较。 注意: String and character comparisons in Swift are not locale-sensitive. 字符串和字符是不敏感的。 比较前缀和后缀原创 2017-03-05 15:56:26 · 1820 阅读 · 0 评论 -
swift插入或者删除字符串
插入字符 删除指定字符 删除指定范围字符串原创 2017-03-05 15:11:52 · 4887 阅读 · 0 评论 -
swift中字符的长度
计算字符串的长度要用到string的characters属性 注意 1.Note that Swift’s use of extended grapheme clusters for Character values means that string concatenation and modification may not always affect a string’s charac原创 2017-03-05 12:54:23 · 2051 阅读 · 0 评论 -
swift中的计算属性
Computed Properties In addition to stored properties, classes, structures, and enumerations can define computed properties, which do not actually store a value. Instead, they provide a getter and an o翻译 2017-03-02 10:36:29 · 3798 阅读 · 0 评论 -
swift集合
定义 A set stores distinct values of the same type in a collection with no defined ordering. You can use a set instead of an array when the order of items is not important, or when you need to ensure th原创 2017-03-06 11:15:10 · 177 阅读 · 0 评论 -
类和结构体的异同
不同点: 1.结构体拥有默认的初始化器,可以通过实例变量逐一赋值: struct Resolution { var width = 0 var heigth = 0 } let vga = Resolution(width:640, heigth: 480) 但是类没有。 2.结构体和枚举是值类型,而类是引用。 3.比较相等时,结构体直接比较值即可用“==”号,对原创 2017-02-27 16:02:59 · 726 阅读 · 0 评论 -
swift中as和is关键字
is操作符: 若一个类属于另一个类的子类,则会返回true,否则返回false。 as操作符: 某类型的一个常量或变量可能在幕后实际上属于一个子类。当确定是这种情况时,你可以尝试向下转到它的子类型,用类型转换操作符(as? 或 as!)。 因为向下转型可能会失败,类型转型操作符带有两种不同形式。条件形式as? 返回一个你试图向下转成的类型的可选值。强制形式 as! 把试图向下转型和强制解转载 2017-03-17 11:35:58 · 2762 阅读 · 0 评论 -
swift初始化特点
1.初始化时,swift没必要像oc那样返回值。保证实例在第一次使用前完成正确的初始化。 2.类和结构体在创建实例时,必须为所有存储型属性设置合适的初始值。存储型属性的值不能处于一个未知的状态。 你可以在构造器中为存储型属性赋初值,也可以在定义属性时为其设置默认值。以下小节将详细介绍这两种方法。 3.结构体构造器特殊特性 4.原创 2017-03-15 17:55:18 · 234 阅读 · 0 评论 -
swift重写
A subclass can provide its own custom implementation of an instance method, type method, instance property, type property, or subscript that it would otherwise inherit from a superclass. This is known翻译 2017-03-10 18:05:20 · 427 阅读 · 0 评论 -
swift逃逸闭包
定义 A closure is said to escape a function when the closure is passed as an argument to the function, but is called after the function returns. When you declare a function that takes a closure as one o翻译 2017-03-07 22:32:17 · 952 阅读 · 0 评论 -
swift闭包的值捕获
我们说嵌套函数其实也是一种特殊的闭包: 在第一次调用得到嵌套函数时,其实嵌套函数已经捕获了在他之前定义的包括参数和局部变量等。以后这些值如果需要进行改变的话,进行的是引用的改变。 注意 第二次重新得到新的嵌套函数与第一次的无关。因为他是一个新的内存。 闭包是引用类型 当你把一个闭包或者函数赋值给一个常量或者变量时,得到的是闭包或者函数的引用。原创 2017-03-07 16:55:45 · 722 阅读 · 0 评论 -
swift继承
A class can inherit methods, properties, and other characteristics from another class. When one class inherits from another, the inheriting class is known as a subclass, and the class it inherits from翻译 2017-03-10 15:44:43 · 202 阅读 · 0 评论 -
函数类型
定义 函数类型由参数类型和函数的返回组成。 这两个函数的类型是:(Int,Int)->Int 这个函数的类型是:()->Void 函数类型变量 函数类型和其他的数据类型没有区别。你可以以用函数类型来定义常量或者变量。函数名其实函数类型的一个实例。因此可以把函数名进行赋值操作。 注意:使用函数类型变量不需要输入标签名。同时这也给输入带来了一定的风险。 函数类型作为参数 函数原创 2017-03-07 11:30:21 · 751 阅读 · 0 评论 -
变量参数和指针参数
变量参数 变量参数这种函数可以不定量的输入参数值,但是一个函数参数里边只能有一个变量参数。 指针参数 函数的参数默认是常量,不能改变。要想改变,需要做两步: 1.传入指针,做法就是在传入时加上&符号。然后在函数内部就可以改变外部变量了。但是传入的参数必须是可变类型。 2.在定义函数时将inout类型放在参数类型前 3.指针参数不能有默认值。原创 2017-03-07 10:20:38 · 355 阅读 · 0 评论 -
swift函数的参数标签和参数名称
每个函数参数都具有参数标签和参数名称。参数标签在调用函数时使用; 参数标签写在参数名称前。参数名称用于函数的实现。默认情况下,参数使用其参数名称作为其参数标签。 省略参数标签 如果不想要参数的参数标签,请为该参数编写下划线(_),而不是显式参数标签。 默认值 swift的参数可以使用默认值,默认值一般写在最后,把需要写的参数写在前。原创 2017-03-07 09:35:17 · 1160 阅读 · 0 评论 -
swift的附属脚本
Classes, structures, and enumerations can define subscripts, which are shortcuts for accessing the member elements of a collection, list, or sequence. You use subscripts to set and retrieve values by i翻译 2017-03-09 23:04:09 · 266 阅读 · 0 评论 -
swift函数
1.无参数的函数 注意尽管不带参数,但是我们在调用的时候还是要带上空括号。这也体现了swift语言的准确性,它让你的代码必须表达明确 2.带参数的函数 注意:函数里边的数组之类的并不进行类型检查,运行时可能会崩溃。因此,我们在写代码的时候需要进行异常判断。原创 2017-03-06 18:08:16 · 151 阅读 · 0 评论 -
swift字典
1.创建空字典 var dic = Int:String let name = [“sex”:”男”] 2.判断空 name.isEmpty 3.访问和修改 3.1直接用下标 3.2利用更新方法 它有一个好处是会返回旧值。 4.删除 删除有两种方式 4.1置为nil 4.2利用方法移除 5遍历 5.1 遍历元组 5.2遍历所有键或者值 5.3根据键或者原创 2017-03-06 17:17:25 · 148 阅读 · 0 评论 -
swift中的枚举
swift的类型非常的准确,因此通过编译器已经推断出来变量是某种枚举值之后,以后就可以直接用点语法给它赋值而不需要其他的了。原创 2017-02-27 16:38:04 · 240 阅读 · 0 评论 -
Unicode
定义 Unicode(中文:万国码、国际码、统一码、单一码)是计算机科学领域里的一项业界标准。它对世界上大部分的文字系统进行了整理、编码,使得电脑可以用更为简单的方式来呈现和处理文字。 方式 1.Unicode编码包含了不同写法的字,如“ɑ/a”、“強/强”、“戶/户/戸”。 2.在文字处理方面,统一码为每一个字符而非字形定义唯一的代码(即一个整数)。换句话说,统一码以一种抽象的方式(即数字原创 2017-03-05 11:05:48 · 228 阅读 · 0 评论 -
swift的字符串
空字符的初始化 var str = String() var str1 = “” 空字符串的判断空 if str.isEmpty //底层定义 public var isEmpty: Bool { get } 因此由上我们可以知道isEmpty这个属性,其实是一个计算属性,返回值是一个BOOL值。不过它只定义了get属性,并没有定义get属性。 在你访问set属性时会报错: 字原创 2017-03-03 18:19:07 · 203 阅读 · 0 评论 -
swift中的options
You use optionals in situations where a value may be absent. An optional represents two possibilities: Either there is a value, and you can unwrap the optional to access that value, or there isn’t a va原创 2017-03-02 15:08:16 · 464 阅读 · 0 评论 -
swift中的!号
如果这个值是nil,强制解包即加一个!号的话会出现崩溃。原创 2017-02-19 18:13:03 · 190 阅读 · 0 评论 -
swift的继承
1.swift不同于oc,它可以没有基类。如果它不继承其他类的话,他自己就是基类。 2.子类想要重写父类的方法,必须在子类的方法前面加上override关键字。原创 2017-03-01 18:25:08 · 197 阅读 · 0 评论 -
swift中的get方法和oc的区别
oc中set方法和get方法与swift中的set和get方法还是有区别的。 1.oc中的set方法和get方法直接通过点语法局可以调用。然而swift却不是,他通过点语法调用的只是自己的字段并没有走set和get方法。 2.由1可知,在封装性方面swift是比不上oc的。swift默认是public的,pc是protect的。原创 2017-02-19 18:27:36 · 483 阅读 · 0 评论 -
swift中的?号
swift是一门非常准确的语言,它必须有一个初值,如果没有初值的话它连编译都不会过。但是我们有时候就是不想赋一个初值,该怎么办呢?这时候我们可以再需要赋初值的时候在后边家一个问号。添加一个问号表示值为空或者没有设置,是可选的。不管它是字符串还是整形类型,值都是nil。这是和oc的区别,如果是oc的话,整形变量不赋初值的话,一般打印出来的值为0,偶尔会打出一个随机值。原创 2017-02-19 16:27:03 · 265 阅读 · 0 评论 -
swift结构体中的构造函数
1.不用写标签的构造函数: 调用时不需要写标签: 2.需要写标签的构造函数 调用时: 默认只有初始化函数才可以修改变量的,其他函数不可以。如果想要修改的话必须在函数前加上mutating关键字:原创 2017-02-19 12:53:27 · 1068 阅读 · 0 评论 -
swift中的结构体
1.结构体是一种数据类型,通过它可以定义一种变量。原创 2017-02-19 12:17:45 · 334 阅读 · 0 评论 -
swift中返回值是函数
swift中返回值是函数,也就是我们以前所说的函数指针。那么怎么写呢? 定义 这里返回了一个函数 使用原创 2017-02-18 18:37:09 · 1038 阅读 · 0 评论