原创文章,欢迎转载。转载请注明:关东升的博客 代码排版包括: 空行、空格、断行和缩进等内容。代码排版内容比较多工作量很多,但是非常重要。空行空行将逻辑相关的代码段分隔开,以提高可读性。下列情况应该总是添加空行:类型声明之前。import语句前后。两个方法或函数之间。块注释或单行注释之前。方法或函数内的两个逻辑段之间,用以提高可读性。一个源文件的两个片段之间。空格在代码中有些位置是需要有空格的,这个工作量也是...
Apple官方开发手冊地址:https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/LandingPage/index.html语法概览1 Simple Values常量定义:let变量定义:var常量或变量类型和初始值一致:var myVariable = 42myVariable = 50let myConstant = 42也能够显式的指定类型: let explicitDouble:Double = 70
类型转换,比方String(): let label = "The width is "let width = 94let widthLabel = lab...
原创文章,欢迎转载。转载请注明:关东升的博客 Swift中的属性分为存储属性和计算属性,存储属性就是Objective-C中的数据成员,计算属性不存储数据,但可以通过计算其他属性返回数据。存储属性可以存储数据,分为常量属性(用关键字let定义)和变量属性(用关键字var定义)。存储属性概念:我们在前面曾用到过属性,Employee类和Department结构体。它们的类图如下,Employee的部门属性dept与Department之间进行了关联。我们可以在...
原创文章,欢迎转载。转载请注明:关东升的博客 程序代码中到处都是自己定义的名字,取一个有样并且符合规范的名字非常重要。命名方法很多,但是比较有名的,广泛接受命名法有:匈牙利命名,一般只是命名变量,原则是:变量名=类型前缀+描述,如bFoo表示布尔类型变量,pFoo表示指针类型变量。匈牙利命名还是有一定争议的,在Swift编码规范中几本不采用匈牙利命名。驼峰命名(Camel-Case),又称骆驼命名法,是指混合使用大小写字母...
原创文章,欢迎转载。转载请注明:关东升的博客 Swift中的属性分为存储属性和计算属性,存储属性就是Objective-C中的数据成员,计算属性不存储数据,但可以通过计算其他属性返回数据。存储属性可以存储数据,分为常量属性(用关键字let定义)和变量属性(用关键字var定义)。存储属性概念:我们在前面曾用到过属性,Employee类和Department结构体。它们的类图如下,Employee 的部门属性dept与Department之间进行了关联。 ...
原创文章,欢迎转载。转载请注明:关东升的博客 返回值3种形式:无返回值、单一返回值和多返回值。 无返回值函数所谓无返回结果,事实上是Void类型,即表示没有数据的类型。无返回值函数的语法格式有如下3种形式:func 函数名(参数列表) { 语句组} func 函数名(参数列表) ->() { 语句组} func 函数名(参数列表) ->Void { 语句组}无返回值函数不需要“return返回值”语句。 多返回值函数两种方式来实现。一种是在函数定义...
String 是一个结构体,性能更高
目前具有了绝大多数 NSString 的功能String 支持直接遍历 NSString 是一个 OC 对象,性能更差 遍历字符串中的字符var str = “Hello world"
for s in str.characters
{print(s)
} 字符串的长度var str = “Hello world你好"
// 返回以字节为单位的字符串长度,一个中文占 3 个字节 17
let len1 = str.lengthOfBytesUsingEncoding(using: .utf8)// 返回实际字符的个数 13
let len2 = str.ch...
原创文章,欢迎转载。转载请注明:关东升的博客我先来设计一个类:有一个Account(银行账户)类,假设它有3个属性:amount(账户金额)、interestRate(利率)和owner(账户名)。在这3个属性中,amount和owner会因人而异,不同的账户这些内容是不同的,而所有账户的interestRate都是相同的。amount和owner属性与账户个体有关,称为实例属性。interestRate属性与个体无关,或者说是所有账户个体共享的,这种属性称为静态属性或类型...
按照swift教程的内容,把自己觉得重要的记录了下来。——新波2.1字符串字面量String Literals字符串字面量是由双引号 ( "" ) 包裹着的具有固定顺序的文本字符集。let someString = "Some string literal value"2.2初始化空字符串 Initializing an Empty Stringvar emptyString = "" // 空字符串字面量var anotherEmptyString = String() // 构造方法// 两个字符串均为空并等价。2.3字符串可变性 String Mutability(...
原创文章,欢迎转载。转载请注明:关东升的博客重写实例属性 我们可以在子类中重写从父类继承来的属性,属性有实例属性和静态属性之分,他们在具体实现也是不同的。 实例属性的重写一方面可以重写getter和setter访问器,另一方面可以重写属性观察者。 计算静态属性需要使用getter和setter访问器,而存储属性不需要。子类在继承父类后,也可以通过getter和setter访问器重写父类的存储属性和计算属性。下面看一个示例:clas...