zl程序教程

Swift学习笔记

  • Swift学习笔记之构造器重载

    Swift学习笔记之构造器重载

    与函数一样,方法也存在重载,其重载的方式与函数一致。那么作为构造器的特殊方法,是否也存在重载呢?答案是肯定的。 一、构造器重载概念 Swift中函数重载的条件也适用于构造器,条件如下: 函数有相同的名字; 参数列表不同或返回值类型不同,或外部参数名不同; Swift中的构造器可以满足以下两个条件,代码如下: 复制代码代码如下: classRectangle{    varwidth:Doub

    日期 2023-06-12 10:48:40     
  • 《从零开始学Swift》学习笔记(Day 68)——Cocoa Touch设计模式及应用之响应者链与触摸事件

    《从零开始学Swift》学习笔记(Day 68)——Cocoa Touch设计模式及应用之响应者链与触摸事件

    span >应用与用户进行交互,依赖于各种各样的事件。事件响应者对象是可以响应事件并对其进行处理的对象,响应者链是由一系列链接在一起的响应者组成的。响应者链在事件处理中是非常重要的,响应者链可以把用户事件路由给正确的对象。   响应者对象与响应链 UIResponder是所有响应者对象的基类,它不仅为事件处理,而且也为常见的响应者行为定义编程接口。UIApplication、UIView(

    日期 2023-06-12 10:48:40     
  • 《从零开始学Swift》学习笔记(Day 59)——代码排版

    《从零开始学Swift》学习笔记(Day 59)——代码排版

    p span >原创文章,欢迎转载。转载请注明:关东升的博客  代码排版包括: 空行、空格、断行和缩进等内容。代码排版内容比较多工作量很多,但是非常重要。 空行 空行将逻辑相关的代码段分隔开,以提高可读性。下列情况应该总是添加空行: 类型声明之前。 import语句前后。 两个方法或函数之间。 块注释或单行注释之前。 方法或函数内的两个逻辑段之间,用以提高可读性。 一个源文

    日期 2023-06-12 10:48:40     
  • 《从零开始学Swift》学习笔记(Day 55)——使用try?和try!区别

    《从零开始学Swift》学习笔记(Day 55)——使用try?和try!区别

    span >在使用try进行错误处理的时候,经常会看到try后面跟有问号(?)或感叹号(!),他们有什么区别呢? 1.使用try? try?会将错误转换为可选值,当调用try?+函数或方法语句时候,如果函数或方法抛出错误,程序不会发崩溃,而返回一个nil,如果没有抛出错误则返回可选值。 示例代码如下: //查询所有数据方法 func findAll() throws - [Note]

    日期 2023-06-12 10:48:40     
  • 《从零开始学Swift》学习笔记(Day 53)——do-try-catch错误处理模式

    《从零开始学Swift》学习笔记(Day 53)——do-try-catch错误处理模式

      Swift 1.x的错误处理模式存在很多弊端,例如:为了在编程时候省事,给error参数传递一个nil,或者方法调用完成后不去判断error是否为nil,不进行错误处理。 let contents = NSString(contentsOfFile: filePath, Êencoding: NSUTF8StringEncoding, error: nil)//error参数传递

    日期 2023-06-12 10:48:40     
  • 《从零开始学Swift》学习笔记(Day 46)——下标重写

    《从零开始学Swift》学习笔记(Day 46)——下标重写

    span >  下标是一种特殊属性。子类属性重写是重写属性的getter和setter访问器,对下标的重写也是重写下标的getter和setter访问器。 下面看一个示例: class DoubleDimensionalArray { let rows: Int, columns: Int var grid: [Int] init(rows: Int, columns: I

    日期 2023-06-12 10:48:40     
  • 《从零开始学Swift》学习笔记(Day 31)——存储属性

    《从零开始学Swift》学习笔记(Day 31)——存储属性

    div >Swift中的属性分为存储属性和计算属性,存储属性就是Objective-C中的数据成员,计算属性不存储数据,但可以通过计算其他属性返回数据。 存储属性可以存储数据,分为常量属性(用关键字let定义)和变量属性(用关键字var定义)。 存储属性概念: 我们在前面曾用到过属性,Employee类和Department结构体。它们的类图如下,Employee 的部门属性dept与De

    日期 2023-06-12 10:48:40     
  • 《从零开始学Swift》学习笔记(Day 28)——总结使用问号(?)和感叹号(!)

    《从零开始学Swift》学习笔记(Day 28)——总结使用问号(?)和感叹号(!)

    span >  在使用可选类型和可选链时,多次使用了问号(?)和感叹号(!),但是它们的含义是不同的,下面我来详细说明一下。  1. 可选类型中的问号(?) 声明这个类型是可选类型,访问这种类型的变量或常量时要使用感叹号(!),下列代码是显示拆包: let result1: Double? = divide(100, 200) print(result1!)     

    日期 2023-06-12 10:48:40     
  • 《从零开始学Swift》学习笔记(Day 25)——类和结构体定义

    《从零开始学Swift》学习笔记(Day 25)——类和结构体定义

    Swift中的类和结构体定义的语法是非常相似的。类使用class关键词定义类,使用struct关键词定义结构体,它们的语法格式如下: class 类名 {     定义类的成员 } struct 结构体名 {     定义结构体的成员 } 从语法格式上看,Swift中的类和结构体的定义更类似于Java语法,不需要像C++和Objective-C那样把接口部分和实现部分放到不同的文

    日期 2023-06-12 10:48:40     
  • 《从零开始学Swift》学习笔记(Day 20)——函数中参数的传递引用

    《从零开始学Swift》学习笔记(Day 20)——函数中参数的传递引用

    参数的传递引用 类是引用类型,其他的数据类型如整型、浮点型、布尔型、字符、字符串、元组、集合、枚举和结构体全部是值类型。 有的时候就是要将一个值类型参数以引用方式传递,这也是可以实现的,Swift提供的inout关键字就可以实现。看下面的一个示例: func increment(inout value:Double, amount:Double = 1.0) { value += amo

    日期 2023-06-12 10:48:40     
  • 《从零开始学Swift》学习笔记(Day 15)——请注意数字类型之间的转换

    《从零开始学Swift》学习笔记(Day 15)——请注意数字类型之间的转换

    div >原创文章,欢迎转载。转载请注明:关东升的博客     在C、Objective-C和Java等其他语言中,整型之间有两种转换方法:    从小范围数到大范围数转换是自动的;    从大范围数到小范围数需要强制类型转换,有可能造成数据精度的丢失。    而在Swift中这两种方法是行不通的,需要通过一些函数进行显式地转换,代码如下:    let historyScore:UInt8

    日期 2023-06-12 10:48:40     
  • 《从零开始学Swift》学习笔记(Day 7)——Swift 2.0中的print函数几种重载形式

    《从零开始学Swift》学习笔记(Day 7)——Swift 2.0中的print函数几种重载形式

    print(_:)。输出变量或常量到控制台,并且换行。 print(_:_:)。输出变量或常量到指定类型的流中,并且换行。 print(_:appendNewline:)。输出变量或常量到控制台,appendNewline参数是布尔值,true表示换行,false表示不换行。 print(_:_:appendNewline:) 。输出变量或常量指定类型的流中,appendNewline参数是

    日期 2023-06-12 10:48:40     
  • 《从零开始学Swift》学习笔记(Day 6)——哎呀常量和变量都该什么时候用啊?

    《从零开始学Swift》学习笔记(Day 6)——哎呀常量和变量都该什么时候用啊?

      使用var还是let? 在我们开发过程中啊什么时候定义关键字为var,还是定义为let呢? 其实啊都能满足我们的需求,那我们到底应该如何选择? 例如:可以将圆周率π定义为let或var。 let π = 3.14159 var π = 3.14159 上面代码编译不会报错。但是从业务逻辑层面讲,π应该定义为常量(let)的,因为一方面常量(let)不能修改,另外在程序中使用常量(

    日期 2023-06-12 10:48:40     
  • Swift学习笔记(1)过渡动画(CATransition和UIViewAnimation)的用法

    Swift学习笔记(1)过渡动画(CATransition和UIViewAnimation)的用法

    let nextView = self.storyboard?.instantiateViewControllerWithIdentifier("next") as! NextViewController self.view.addSubview(nextView.view) // 执行刚才添加好的动画 self.view.layer.addAnimation(transition,

    日期 2023-06-12 10:48:40     
  • Swift学习笔记(4)使用UIImagePickerController实现从设备图片库和照相机获取图片

    Swift学习笔记(4)使用UIImagePickerController实现从设备图片库和照相机获取图片

    设备图片库和照相机是图像的两个重要来源,使用UIKit中提供的图像选择器UIImagePickerController可以轻易地实现从设备图片库和照相机获取图片。 class viewController: UIViewController , UIImagePickerControllerDelegate , UINavigationControllerDelegate{ } 创建UIIm

    日期 2023-06-12 10:48:40     
  • 初探swift语言的学习笔记十(block)

    初探swift语言的学习笔记十(block)

    作者:fengsh998原文地址:http://blog.csdn.net/fengsh998/article/details/35783341转载请注明出处假设觉得文章对你有所帮助,请通过留言或关注微信公众帐号fengsh998来支持我,谢谢!在前面一些学习中,原本把闭包给理解成了block虽然有非常多类似之处,但block还是有他自己的独特之外。近日,在写oc/swift混合编码时,有时候

    日期 2023-06-12 10:48:40     
  • Swift学习笔记八:枚举

    Swift学习笔记八:枚举

    1. 枚举语法      1)枚举的定义       使用enum关键词而且把它们的整个定义放在一对大括号内: enum SomeEumeration { // enumeration definition goes here }   以下来看看详细样例: enum CompassPoint {

    日期 2023-06-12 10:48:40     
  • swift学习笔记(六)析关闭过程和使用分配给属性的默认值

    swift学习笔记(六)析关闭过程和使用分配给属性的默认值

    一。通过关闭和功能的默认实现财产值 当存储属性默认值需要定制,能为客户提供通过关闭或全局函数的自定义默认值。 注意:全局函数的结构,和枚举使用keywordstatic大喊    用classkeyword标注 当对一个属性使用闭包函数进行赋值时。每当此属性所述的类型被创建实例时,相应的闭包或函数会被调用,而他们的返回值会被作为属性的默认值。 ESC:Class Some

    日期 2023-06-12 10:48:40     
  • 《Swift程序设计语言》中国翻译和学习笔记page23

    《Swift程序设计语言》中国翻译和学习笔记page23

    ·《The Swift Programming Language》中文翻译及读书笔记,附件中为英文原版教程 因21页之前内容和技术关系不大,不做翻译整理,从第21页開始 ·         第23页 1 本页主要讲述怎样给常量和变量取名。即命名规则。  1)不可使数学符号、箭头  2)不

    日期 2023-06-12 10:48:40     
  • 《从零開始学Swift》学习笔记(Day 55)——使用try?和try!差别

    《从零開始学Swift》学习笔记(Day 55)——使用try?和try!差别

    原创文章。欢迎转载。转载请注明:关东升的博客  在使用try进行错误处理的时候,常常会看到try后面跟有问号(?)或感叹号(!),他们有什么差别呢?1.使用try? try?会将错误转换为可选值,当调用try?+函数或方法语句时候,假设函数或方法抛出错误,程序不会发崩溃,而返回一个nil,假设没有抛出错误则返回可选值。演示样例代码例如以下://查询全部数据方法 func

    日期 2023-06-12 10:48:40     
  • swift学习笔记(五)构造过程

    swift学习笔记(五)构造过程

    构造过程是为了使用某个类、结构体或枚举类型的实例而进行的准备过程。在构造过程中,对每一个属性进行了初始值预设和其它必要的准备和初始化工作。 与OC相比,swift的构造函数。不须要返回值。同一时候,在类和结构体的构造过程中,必须对全部的存储类型属性,包括继承自父类的属性。赋予合适的初始值。存储类型值不能处于一个未知状态。 在对属性进行初始化过程中,有两种方法,第一:使用构造方法,第二:在定义

    日期 2023-06-12 10:48:40     
  • swift学习笔记(四)关于类的继承

    swift学习笔记(四)关于类的继承

    在swift中,继承是区分类与其它对象的基本特征 继承后的子类能够重写父类的方法,包含类方法和实例方法,属性和附属脚本(subscript) 在继承过程中,构造器方法init()是不被继承的,须要显示标明 class Tandem: Bicycle { init() { super.init() maxPassengers = 2 }  } 子类仅仅能够改动从父类继承来的变

    日期 2023-06-12 10:48:40     
  • 《从零開始学Swift》学习笔记(Day 65)——Cocoa Touch设计模式及应用之选择器

    《从零開始学Swift》学习笔记(Day 65)——Cocoa Touch设计模式及应用之选择器

    原创文章,欢迎转载。转载请注明:关东升的博客  实现目标与动作关联使用UIControl类addTarget(_:action:forControlEvents:)方法,演示样例代码例如以下:button.addTarget(self, action: "onClick:", forControlEvents: UIControlEvents.TouchUp

    日期 2023-06-12 10:48:40     
  • SWIFT学习笔记05

    SWIFT学习笔记05

    1、Swift 无需写break,所以不会发生这样的贯穿(fallthrough)的情况。2、//用不到变量名,可用“_”替换 for _ in 1...power { answer *= base } 3、case 能够匹配很多其它的类型模式。包含区间匹配(range matching),元组(tuple)和特定类型的描写叙述。 能够这样用case case 1...3: natu

    日期 2023-06-12 10:48:40     
  • 《从零開始学Swift》学习笔记(Day 46)——下标重写

    《从零開始学Swift》学习笔记(Day 46)——下标重写

    原创文章。欢迎转载。转载请注明:关东升的博客 下标是一种特殊属性。子类属性重写是重写属性的getter和setter訪问器,对下标的重写也是重写下标的getter和setter訪问器。以下看一个演示样例:class DoubleDimensionalArray { let rows: Int, columns: Int var grid: [Int]

    日期 2023-06-12 10:48:40     
  • Swift学习笔记 - 字符串

    Swift学习笔记 - 字符串

      1. 不可变字符串 Objective-C: NSString *string1 = @"Hello World!"; Swift: let string1 = "Hello world!"   2. 可变字符串 Objective-C: NSMutableString *string2 = [NSMutableString new]; NSMutableStr

    日期 2023-06-12 10:48:40     
  • 初探swift语言的学习笔记七(swift 的关健词)

    初探swift语言的学习笔记七(swift 的关健词)

    每一种语言都有相应的关键词,每个关键词都有他独特的作用,来看看swfit中的关键词:     关键词: 用来声明的: “ class, deinit, enum, extension, func, import, init, let, protocol, static, struct, subscript, typealias, var.” 用于子句的: “ bre

    日期 2023-06-12 10:48:40     
  • SwiftUI进阶之 09 软件开发的初心是什么 (《SICP》学习笔记)

    SwiftUI进阶之 09 软件开发的初心是什么 (《SICP》学习笔记)

    软件开发的初心是什么 软件开发初心是保持趣味性-- Alan J. Perlls 《计算机程序的构造和解释》序言 加入我们一起学习SwiftUI QQ:3365059189 SwiftUI技术交流QQ群

    日期 2023-06-12 10:48:40     
  • SwiftUI进阶之 08 编程的最大挑战是什么 (《代码大全》学习笔记)

    SwiftUI进阶之 08 编程的最大挑战是什么 (《代码大全》学习笔记)

    编程的最大挑战是什么 如何将问题概念化(conceptualizing)是编程的最大挑战。 思路逻辑 每个问题在概念上都是独立的,所以要找到一个解决所有问题的方案是很难的&#x

    日期 2023-06-12 10:48:40     
  • SwiftUI进阶之 07  管理复杂度的工具有哪些 (《代码大全》学习笔记)

    SwiftUI进阶之 07 管理复杂度的工具有哪些 (《代码大全》学习笔记)

    在《SwiftUI进阶之 01 软件开发的核心是什么》中,我们谈到了编程首要工作就是管理复杂度。那么管理复杂度度的工具有哪些呢? 工具一:规范(Conventions

    日期 2023-06-12 10:48:40     
  • SwiftUI进阶之 04  类接口有什么用 (《代码大全》学习笔记)

    SwiftUI进阶之 04 类接口有什么用 (《代码大全》学习笔记)

    类接口有什么用 要仔细定义类接口,从而忽略类内部的工作机制 来源 《代码大全》p 838 加入我们一起学习SwiftUI QQ:3365059189 SwiftUI技术交流QQ群:518696470

    日期 2023-06-12 10:48:40