分类 Swift 学习 下的文章

PRINTABLE 和 DEBUGPRINTABLE

在 Playground 和 Swift REPL 中这实现这两个接口并不会对原来输出产生影响,因此如果您需要验证本节代码内容的话,请在实际的工程项目中进行。 在定义和实现一个类型的时候,Swift 中的一种非常常见,也是非常先进的做法是先定义最简单的类型结构,然后再通过扩展 (extension) 的方式来实现为数众多的接口和各种各样的功能。这种按照特性进行分离的设计理念对于功能的可扩展性...

memory   2015-08-17  暂无评论

可选类型完美解决占位问题

本页包含内容: 为Dictionary增加objectsForKeys函数 Swift中更简便的方法 内嵌可选类型 提供一个默认值 可选类型是Swift中新引入的,功能很强大。在这篇博文里讨论的,是在Swift里,如何通过可选类型来保证强类型的安全性。作为例子,我们来创建一个Objective-C API的Swift版本,但实际上Swift本身并不需要这样的API。 为Dict...

memory   2015-05-22  暂无评论

访问控制和protected

原文再续,书折第一回。 很多其他编程语言都有一种”protected“设定,可以限制某些类方法只能被它的子类所使用。 Swift支持了访问控制后,大家给我们的反馈都很不错。而有的开发者问我们:“为什么Swift没有类似protected的选项?” 当我们在设计Swift访问控制的不同等级时,我们认为有两种主要场景: 在一个APP里:隐藏某个类的私密细节。 在一个开源框架里:不让导入...

memory   2015-05-22  暂无评论

Swift里的值类型与引用类型

本页包含内容: 值类型与引用类型的区别 Mutation(修改)在安全中扮演的角色 如何选择类型 Swift里面的类型分为两种: 值类型(Value Types):每个实例都保留了一分独有的数据拷贝,一般以结构体 (struct)、枚举(enum) 或者元组(tuple)的形式出现。 引用类型(Reference Type):每个实例共享同一份数据来源,一般以类(class)的形...

memory   2015-05-22  暂无评论

Swift与C语言指针友好合作

本页包含内容: 用以输入/输出的参数指针 作为数组使用的参数指针 用作字符串参数的指针 指针参数转换的安全性 Objective-C和C的API常常会需要用到指针。Swift中的数据类型都原生支持基于指针的Cocoa API,不仅如此,Swift会自动处理部分最常用的将指针作为参数传递的情况。这篇文章中,我们将着眼于在Swift中让C语言指针与变量、数组和字符串共同工作。 用以输入...

memory   2015-05-22  暂无评论

WWDC里面的那个“大炮打气球”

很多小伙伴说,对WWDC上介绍Swift语言时,演示的那个“大炮打气球”的Ballons项目很感兴趣。 Ballons不但展现了playgrounds许多很赞的特性,还让我们看到写代码的过程,原来可以这么互动,这么好玩。 现在你可以下载这个Ballons.playground的教学版本,学习这些有趣的效果是怎么实现的。教学版本里除了源文件,还有相关说明文档,我们还出了一些小小的实验题...

memory   2015-05-22  暂无评论

造个类型不是梦-白话Swift类型创建

本页包含内容: 自定义原型 实现默认值 支持基本布尔型初始化 支持Bool类型判断 支持兼容各们各派的类型 完善OCBool的布尔基因体系 小伙伴们,Swift中的Bool类型有着非常重要的语法功能,并支撑起了整个Swift体系中的逻辑判断体系,经过老码的研究和学习, Bool类型本身其实是对基础Boolean类型封装,小伙伴们可能咬着手指头问老码,怎么一会Bool类型,一会Bool...

memory   2015-05-22  暂无评论

Access Control 权限控制的黑与白

如果您之前没有接触过权限控制,先来听一个小故事: 小明是五道口工业学院的一个大一新生,最近他有点烦恼,因为同屋经常用他的热水壶,好像那是自己家的一样,可是碍于同学情面,又不好意思说。直到有一天,他和学姐小K吐槽。 学姐听了之后,说:大学集体生活里面,大部分东西都是默认室友可以共用的。如果你不想别人拿,我可以帮你做封印,只要打上private标记,它们就看不到你的东西,更加用...

memory   2015-05-22  暂无评论

语句

本页包含内容: 循环语句 分支语句 带标签的语句 控制传递语句 在 Swift 中,有两种类型的语句:简单语句和控制流语句。简单语句是最常见的,用于构造表达式和声明。控制流语句则用于控制程序执行的流程,Swift 中有三种类型的控制流语句:循环语句、分支语句和控制传递语句。 循环语句用于重复执行代码块;分支语句用于执行满足特定条件的代码块;控制传递语句则用于修改代码的执行顺序。在稍...

memory   2015-05-22  暂无评论

语法总结

本页包含内容: 语句(Statements) 泛型参数(Generic Parameters and Arguments) 声明(Declarations) 模式(Patterns) 特性(Attributes) 表达式(Expressions) 词法结构(Lexical Structure) 类型(Types) 语句 语句语法 语句 → 表达式 ; 可选 语句 ...

memory   2015-05-22  暂无评论

泛型参数

本页包含内容: 泛型形参子句 泛型实参子句 本节涉及泛型类型、泛型函数以及泛型构造器的参数,包括形参和实参。声明泛型类型、函数或构造器时,须指定相应的类型参数。类型参数相当于一个占位符,当实例化泛型类型、调用泛型函数或泛型构造器时,就用具体的类型实参替代之。 关于 Swift 语言的泛型概述,见泛型(第二部分第22章)。 泛型形参子句 泛型形参子句指定泛型类型或函数的类型形...

memory   2015-05-22  暂无评论

模式(Patterns)

本页内容包括: 通配符模式(Wildcard Pattern) 标识符模式(Identifier Pattern) 值绑定模式(Value-Binding Pattern) 元组模式(Tuple Pattern) 枚举用例模式(Enumeration Case Pattern) 类型转换模式(Type-Casting Patterns) 表达式模式(Expression Pattern)...

memory   2015-05-22  暂无评论

特性

本页内容包括: 声明特性 类型特性 特性提供了关于声明和类型的更多信息。在Swift中有两类特性,用于修饰声明的以及用于修饰类型的。例如,required特性,当应用于一个类的指定或便利初始化器声明时,表明它的每个子类都必须实现那个初始化器。再比如noreturn特性,当应用于函数或方法类型时,表明该函数或方法不会返回到它的调用者。 通过以下方式指定一个特性:符号@后面跟特性名,如...

memory   2015-05-22  暂无评论

声明

本页包含内容: 模块范围 代码块 引入声明 常量声明 变量声明 类型的别名声明 函数声明 枚举声明 结构体声明 类声明 协议声明 构造器声明 析构声明 扩展声明 下标脚本声明 运算符声明 声明修饰符 一条声明可以在你的程序里引入新的名字和构造。举例来说,你可以使用声明来引入函数和方法,变量和常量,或者来定义 新的命名好的枚举,结构,类和协议类型。你也可以使用一条声明来延长一个已经存在...

memory   2015-05-22  暂无评论

表达式(Expressions)

本页包含内容: 前缀表达式(Prefix Expressions) 二元表达式(Binary Expressions) 赋值表达式(Assignment Operator) 三元条件运算符(Ternary Conditional Operator) 类型转换运算符(Type-Casting Operators) 主要表达式(Primary Expressions) 后缀表达式(Postf...

memory   2015-05-22  暂无评论