Swift4.1 弱引用对象数组

弱引用对象struct WeakObject<T: AnyObject>: Equatable, Hashable { private let identifier: ObjectIdentifier weak var o...

protocol与delegate的区别

protocol协议:一个只有方法体(没有具体实现)的类,Java中称作接口,实现协议的类必须实现协议中

Swift 关键字associatedtype解析

从字面上来理解,就是相关类型.意思也就是被associatedtype关键字修饰的变量,相当于一个占位符,不表示具体的类型.具体类型需要让实现的类来指定

Swift class与struct选择

在Swift中class和struct关系其实很简单,类似UIView与CALayer,我们知道类class的本质就是结构体,所以说结构体struct相比较类class更加轻量级,因为类的功能比结构体多很多

iOS之block循环引用

下面代码是否会循环引用DXPerson *person = [[DXPerson alloc] init];person.age = 10;person.block = ^{ NSLog(@"age = %d", person.age);}...

iOS之block内存管理

当block在栈上时,并不会对__block变量产生强引用

iOS之block修改外部变量

如何在block内部修改外部变量?

iOS之Block的copy

在ARC环境下,block作为函数的返回值,编译器会默认进行copy操作,因此block不会销毁typedef void(^DXBlock)(void);DXBlock dxBlock() { // 在ARC环境下,block作为函数的返回...

iOS之Block类型

block的类型block有3种类型,可以通过调用class方法或者isa指针查看具体类型,最终都是继承自NSBlock类型 NSGlobalBlock ( _NSConcreteGlobalBlock )