iOS开发Swift篇—(九)属性 一、类的定义 Swift与Objective-C定义类的区别 Objective-C:一般需要2个文件,1个.h声明文件和1个.m实现文件 Swift:只需要1个.swift文件 Swift中类的定义格式 二、属性 1. ...
. Block的声明和线程安全Block属性的声明,首先需要用copy修饰符,因为只有copy后的Block才会在堆中,栈中的Block的生命周期是和栈绑定的,可以参考之前的文章 iOS: 非ARC下返回Block 。另一个需要注意的问题是关于线程安全,在声明Block属性时需要确认 在调用Block时另一个线程有没有可能去修改Block 这个问题,如果确定不会有这种情况发生的话,那么Block ...
2016-03-26 14:27 0 3654 推荐指数:
iOS开发Swift篇—(九)属性 一、类的定义 Swift与Objective-C定义类的区别 Objective-C:一般需要2个文件,1个.h声明文件和1个.m实现文件 Swift:只需要1个.swift文件 Swift中类的定义格式 二、属性 1. ...
iOS开发:使用Block在两个界面之间传值(Block高级用法:Block传值) 使用Block的地方很多,其中传值只是其中的一小部分,下面介绍Block在两个界面之间的传值: 先说一下思想: 首先,创建两个 ...
简介 我们可以把Block当做Objective-C的匿名函数。Block允许开发者在两个对象之间将任意的语句当做数据进行传递,往往这要比引用定义在别处的函数直观。另外,block的实现具有封闭性(closure),而又能够很容易获取上下文的相关状态信息。 block ...
身边一同事,我印象在过去三个月,有两次因为使用“copy”修饰UIKit控件的属性,导致程序崩溃。他还一本正经的说我以前一直使用copy。 好了,到这里我们就不得不说说什么时候使用copy。我的印象中,只有两处使用了copy,即修饰NSString类型与block,其他的都是使用 ...
一、内存分析 1、静态内存分析(Analyze)不运行程序,直接对代码进行内存分析,查看代码是否有内存泄露优点:分析速度快,并且可以对所有的代码进行内存分析缺点:分析结果不一定准确(没有运行程序 ...
一、简介 1、如何访问用户的通讯录1)在iOS9之前有2个框架可以访问用户的通讯录AddressBookUI.framework提供了联系人列表界面、联系人详情界面、添加联系人界面等一般用于选择联系人 AddressBook.framework纯C语言的API,仅仅是获得联系人数据没有提供 ...
一个简单的绘图应用,模仿苹果自带软件备忘录里的涂鸦功能 核心代码 用法很简单,导入DrawView.h DrawView.m 文件创建该控件即可 清屏: [_drawVie ...
实现一个简单的抽屉效果: 核心思想:KVO实现监听mainV的frame值的变化 核心代码: #import "ViewController.h" // @"frame" # ...