自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(126)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 Xcode8一些新玩法

1.Xcode 8 注释快捷键2.Xcode8在代码中设置控件颜色3.Xcode8快速标记代码

2016-12-24 16:48:12 702

原创 16.5 Swift可选链的赋值操作

/**         16.5-可选链的赋值操作         */                class Person  {            var name =""            func whoami() ->String {                print("My name is\(name

2016-12-23 16:54:11 402

原创 16.4 Swift可选链调用下标索引

/**         16.4-可选链调用下标索引         */                        /**         可选值?属性         可选值?方法                  如何调用下标方法呢?                  */        

2016-12-23 16:41:35 258

原创 16.3 Swift可选链的返回值

/**         16.3-可选链的返回值                  通过可选链来调用相应的属性和方法         这个属性的值 这个方法的返回值                  通过可选链调用取得的返回值会被包装成一个可续类型数据。         可选链有可能失效返回nil,也有可能成功返回值也会包装成可选

2016-12-23 16:40:58 298

原创 16.2 Swift可选链

/**         16.2-可选链介绍         */                class Person  {            var name =""            func whoami() ->String {                print("My name is\(name)")

2016-12-23 16:39:48 312

原创 16.1 Swift可选类型深入探讨

/**         16.1-可选类型深入探讨                  可选链  Optional Chaining         */                                var opa:Int?                /**         那么这个就是

2016-12-23 16:36:12 355

原创 15.9 Swift解决闭包引起的循环强引用问题

/**         15.9-解决闭包引起的循环强引用问题         */                var cr:CycleRef? = CycleRef.init() // 引用计数为1                // 我们知道延迟存储属性,第一次访问的时候才初始化。        cr!.closure()

2016-12-23 16:19:48 748

原创 15.8 Swift闭包属性引起的循环强引用问题

/**         15.8-闭包属性引起的循环强引用问题         所谓的循环强引用,是指两个对象相互强引用指向对方。谁都不撒手,造成这两个对象都不会被系统所释放,造成内存泄漏。                  那么怎么解决它呢?将其中一个对象变成弱引用指向对方,或者说持有对方。         weak unowned 关键字来解决。

2016-12-23 16:17:50 587

原创 15.7 Swift全局引用

/**         全局引用         全局引用作用域是:定义的位置处开始,文件结尾处结束。         生命周期:跟当前程序的声明周期相同。         所以呢能写成局部的就用局部的,全局的必须等该Controller销毁时才销毁啊。         */                // 对于 viewDidLoad

2016-12-23 16:08:49 1472

原创 15.6 Swift局部引用

/**         (6)局部引用和全局引用         1.作用域         2.生命周期         */                var ref:Int = Int.init(8)        /**         定义一个变量或者常量,如果不是可选类型的话,一定要有初始值。

2016-12-23 16:08:05 309

原创 15.5 Swift隐式强引用

/**         15.5-隐式强引用         */                class Student {            var name:String            init(name:String) {                self.name = name         

2016-12-22 11:41:59 594

原创 15.4 Swift深入分析集合类型的拷贝操作

//结构体,值类型的赋值操作是深拷贝        struct Deep {            var copy:Int = 0        }                        // 类,引用类型的赋值操作是浅拷贝        class Shallow {            var c

2016-12-22 11:40:06 240

原创 15.3 Swift集合类的拷贝

/**         集合类的拷贝操作         */                var array:ArrayInt> = [1,2, 3]        var array1 = array                        /**         public struct Array 

2016-12-22 11:39:23 323

原创 15.2 Swift字符串的拷贝

/**         (2)字符串拷贝         */                var swiftStr:String = "Hello"        var swiftStr1:String = swiftStr                        /**         public st

2016-12-22 11:38:44 603

原创 15.1 Swift深浅拷贝

//结构体,值类型的赋值操作是深拷贝        struct Deep {            var copy:Int = 0        }                        // 类,引用类型的赋值操作是浅拷贝        class Shallow {            var c

2016-12-22 11:38:02 821

原创 14.7 Swift中unowned解决循环强引用

/**         (7)unowned解决循环强引用         仍然使用官方的例子来给大家讲解         */                        class Customer {            let name:String                       // 可

2016-12-22 11:23:20 435

原创 14.6 Swift中weak解决循环强引用

/**         (6)循环强引用         ARC不是万能的,它可以很好的解决内存过早释放的问题,         但是在某些场合下不能很好的解决内存泄漏的问题。         */                /**         循环强引用是造成内存泄漏的原因。接下来我们还是用代码来给大家讲解什么是循环强引用。

2016-12-22 11:21:54 1125

原创 14.5 Swift中unowned引用

class Ref {            deinit {                print("Ref deinit!")            }                        func test() ->Void {                print("test")            }

2016-12-22 11:21:19 261

原创 14.4 Swift中weak引用 访问可选类型的时候,用隐式解包

/**         14.4-weak引用.mp4         */                /**         (4)weak引用(弱引用)         */                class Ref {            deinit {                print(

2016-12-22 11:20:40 368

原创 14.3 Swift内存管理模型

/**         (3)Swift语言的内存管理分析         内存管理对象-引用类型的对象(class类型),结构体和枚举是指类型根本就不需要我们对其进行内存管理。         内存管理的原则:当没有任何引用指向某个对象的时候,系统会自动销毁该对象。         如何做到该原则:通过ARC技术。         */  

2016-12-22 11:20:08 285

原创 14.2 Swift析构方法的自动继承

/**         14.2-析构方法的自动继承.mp4                  父类的析构方法会被自动调用,不需要子类管理。         */                        class  SomeClass {            deinit {                print

2016-12-22 11:19:13 269

原创 14.1 Swift析构方法

/**                  Swift 内存管理                  和 Objective-C一样都是基于ARC的内存管理。                  (1)析构方法         对象的内存被回收前夕被隐式的调用的方法。主要执行一些额外的操作。         比如:关闭文件、断开网络、释

2016-12-22 11:15:43 305

原创 13.9 Swift必须构造方法

/**         (9)必须构造器         比较新鲜的概念,         之所以说是比较新的概念呢,是因为这个是早期的版本中没有这样一个概念啊?                  构造方法所属的类的后续子类必须也得实现这个构造方法。         */                        /**

2016-12-22 11:11:28 270

原创 13.8 Swift构造方法的自动继承

/**         父类的构造方法默认是不会被子类自动继承的。         */                /**         (8)13.8-构造方法的自动继承.mp4         a 如果子类中没有任何定义的构造方法,且子类中所有的存储属性都有默认缺省值,会自动继承父类中         所有的构造方法(包括便利构造方

2016-12-22 11:10:54 282

原创 13.7 Swift关于便利构造方法“重写”的讨论

/**         13.7-关于便利构造方法“重写”的讨论.mp4         重写成一个便利构造方法                  Swift语言中便利构造方法不能重写。因为它是横向的         */                         class Human {            let

2016-12-22 11:07:43 328

原创 13.6 Swift重写指定构造方法

/**         13.6-重写指定构造方法.mp4         是指“子类中构造方法与父类中的构造方法的参数列表一模一样。”                  重写父类中的指定构造方法加上关键字  override         */                class Human {            l

2016-12-22 11:07:02 574

原创 13.5 Swift构造方法的编译器安全性检查

/**         13.5-构造方法的编译器安全性检查.mp4         */                /**         我们在编写构造方法的时候,编译器会随时来检查我们编写的构造方法是否符合它的要求和规范。                 a 首先应该将派生类引入的存储属性初始化,然后再向上代理父类的指定构造方法;

2016-12-22 11:06:11 274

原创 13.4 Swift派生类构造方法的两段式构造

/**         13.4-派生类构造方法的两段式构造         */                /**         两段式构造-构造过程可以划分为两个阶段         第一阶段,确保所有的存储属性都初始化完毕,         第二阶段,对父类中的存储属性做进一步的处理。         可以防止属性在被初始

2016-12-22 10:50:21 346

原创 13.3 Swift构造器之间的调用规则(构造器链)

/**         13.3-构造器之间的调用规则(构造器链).mp4         */                /**         (3)构造器链-指定构造器和便利构造器之间的调用规则                  a 指定构造器必须调用其直接基类的指定构造器,不可以调用其直接基类的便利构造器。

2016-12-22 10:48:25 315

原创 13.2 Swift派生类的构造方法

/**         13.2-派生类的构造方法.mp4         */                        class AB {            var a:Int            var b:Int                                    // 指

2016-12-22 10:47:38 361

原创 13.1 Swift指定构造方法和便利构造方法解析

/**         13.1-指定构造方法和便利构造方法解析.mp4         (Designated Initializers and Convenience Initializers)         都是与类相关的         */                        class AB {       

2016-12-21 15:34:23 400

原创 12.8 Swift闭包或函数存储属性缺省值

/**         (8)闭包或函数存储属性缺省值         */                class TestClass {            // x是存储属性            var x:Int = 10                        // y是计算属性           

2016-12-21 11:22:36 449

原创 12.7 Swift值类型的构造方法之间的调用

/**         结构体 枚举         值类型的构造方法之间的调用         值类型的构造器代理         构造方法可以调用其他构造方法来完成实例的构造,称之为构造器代理。         好处:减少构造方法之间的代码重复。                  */                s

2016-12-21 11:21:46 222

原创 12.6 Swift结构体的构造方法

/**         结构体的构造方法         结构体的构造方法和类的构造方法还是有区别的         */                struct Rect {            var width:Double            var height:Double             

2016-12-21 11:21:11 284

原创 12.5 Swift可选属性与构造方法

/**         可选属性与构造方法         */                class CreditCard {            let cardNumber:UInt32                        init(number:UInt32) {                self

2016-12-21 11:18:07 309

原创 12.4 Swift常量存储属性与构造方法

/**         常量存储属性与构造方法         常量存储属性只能在构造方法中被修改,其他任何时候都不可以修改         */                class Human {            let name:String            var age:Int            

2016-12-21 11:17:38 217

原创 12.3 Swift带有参数的构造方法

/**         带有参数的构造方法         */                class MyPoint {                        // 让这两个没有初始值            var x:Int            var y:Int               

2016-12-21 11:14:16 483

原创 12.2 Swift带有缺省值的隐式构造方法

/**          (2)带有缺省值的隐式构造方法         构造一个对象之后,要求对象中的所有非lazy存储属性必须有初始值。         */                class MyPoint {            var x:Int            var y:Int = 0     

2016-12-21 11:07:47 557

原创 12.1 Swift构造方法初印象

/**         构造方法初步                  构造方法在什么情况下才使用?         当我们构造一个对象的时候才需要构造方法。                  构造方法的主要作用:实例对象的内容的初始化。         Swift要求类或者结构体中的存储属性在对象构造完毕后有初始值。        

2016-12-21 11:07:00 191

原创 11.7 Swift用final关键字来防止重写

/**         用final关键字来防止重写                  final,最后的,最终的;决定性的;不可更改的                  final 修饰类的话,表示这个类不可以被继承。         如果修饰属性或者方法,表示相应的属性或者方法不能被重写。         */        

2016-12-21 11:02:08 235

Swift 中的闭包和 Objective-C 中的Block

Swift 中的闭包和 Objective-C 中的Block讲解

2017-03-08

ApplePay教程

详细的iOSApplePay支付代码讲解

2016-08-20

iOS RSA加密

iOS RSA加密,Mac OS上执行openssl命令操,生成RSA私钥和RSA公钥

2016-07-13

iOS应用逆向工程(第2版)

iOS应用逆向工程

2016-05-31

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除