————weak 和————block】的更多相关文章

Blocks理解: Blocks可以访问局部变量,但是不能修改 如果修改局部变量,需要加__block __block int multiplier = 7; int (^myBlock)(int) = ^(int num) { multiplier ++;//这样就可以了 return num * multiplier; }; 2.如果局部变量是数组或者指针的时候只复制这个指针,两个指针指向同一个地址,block只修改指针上的内容.如: NSMutableArray *mArray = [NS…
本文简介 本章不会对Block做过多的实现研究.只是讲解基本的用法.纯粹基础知识.结合实际项目怎么去做举例.Block使用场景,可以在两个界面的传值,也可以对代码封装作为参数的传递等.用过GCD就知道Block的精妙之处. Block简介 Block是一种比较特殊的数据类型.它可以保存一段代码,在合适的时候取出来调用. Block的修饰 ARC情况下1.如果用copy修饰Block,该Block就会存储在堆空间.则会对Block的内部对象进行强引用,导致循环引用.内存无法释放.解决方法:新建一个…
1.nonatomic 2.assign 3.strong 4.weak 5.instancetype 6.@class @property 使部分类在编译时不使用ARC -(可以让这们支持 retain release retainCount) 项目文件 - Build Phases - 找到.m文件双击 -加入Flags   --->>  -fno-objc-arc 让项目中的指定文件支持ARC 使用 -f-objc-arc    (-f的意思是Flags) 将非ARC的项目转换为 ARC…
本文简介 本章不会对Block做过多的实现研究.只是讲解基本的用法.纯粹基础知识.结合实际项目怎么去做举例.Block使用场景,可以在两个界面的传值,也可以对代码封装作为参数的传递等.用过GCD就知道Block的精妙之处. Block简介 Block是一种比较特殊的数据类型.它可以保存一段代码,在合适的时候取出来调用. Block的修饰 ARC情况下1.如果用copy修饰Block,该Block就会存储在堆空间.则会对Block的内部对象进行强引用,导致循环引用.内存无法释放.解决方法:新建一个…
block定义 struct Block_descriptor { unsigned long int reserved; unsigned long int size; void (*copy)(void *dst, void *src); void (*dispose)(void *); }; struct Block_layout { void *isa; int flags; int reserved; void (*invoke)(void *, ...); struct Block_…
block是代码块,其本质和变量类似.不同的是代码块存储的数据是一个函数体.使用Block,就可以像其他标准函数一样,传入参数,并得到返回值. 可以把Block当做Objective-C的匿名函数,Block允许开发者在两个对象之间将任意的语句当做数据进行传递,block的实现具有封闭性(closure),而又能够很容易获取上下文的相关状态信息. Block使用场景,可以在两个界面的传值,也可以对代码封装作为参数的传递等. ARC情况下 1.如果用copy修饰Block,该Block就会存储在堆…
1.block的基本概念及使用 blcok是一种特殊的数据结构,它可以保存一段代码,等到需要的时候进行调用执行这段代码,常用于GCD.动画.排序及各类回调. Block变量的声明格式为: 返回值类型(^Block名字)(参数列表); //声明一个没有传参和返回值的blcok void(^myBlock1)(void) ; //声明一个有两个传参没有返回值的blcok 形参变量名称可以省略,只留有变量类型即可 void(^myBlock2)(NSString *name,int age); //声…
深入理解oc中的block 苹果在Mac OS X10.6 和iOS 4之后引入了block语法.这一举动对于许多OC使用者的编码风格改变很大.就我本人而言,感觉block用起来还是很爽的,但一直以来,都是知其然,而不知所以然.这篇文章一共有两篇,其中基础篇讲解了block的基本的使用和创建,以及一些注意事项.在深入篇中,我将会对block的一些原理陈述出来,探讨block的内部. 深入篇 在这篇文章中,我主要记录一些block的原理性的知识. 为什么说block是一个结构体,也是一个对象,同时…
Target-Action: 目标-动作机制,所有的UIControl及子类都是这个机制:原理:在对象产生某个事件的特定时刻,给一个对象发送一个消息:类内部target去执行action方法 Delegate:  iOS2.0以后出现,delegate配合protocol,delegate 是一对一的关系,修饰符使用weak, 当 Block: iOS4.0以后出现,一对一 Notification: 一对多, KVC: 键值编码,即是指 NSKeyValueCoding,一个非正式的Proto…
iOS 开发工程师之面试总结一 好久没有出去面试了,大概一年的时间都很稳定,最近出去面试感觉心里特别慌,没有了当时的勇气了,其实还是感觉自己的准备不是特别的充分,这是主要原因. 这段时间待得太安逸没了紧张感,最近一段时间感觉自己要和突飞猛进的新技术脱节了,好多之前学过的东西也生疏了,决定好好总结一下自己和写下最近面试的经验. 1.Object-C 是如何实现内存管理的? 常用的内存管理语句有哪些? Object-C 中的内存管理也就是引用计数机制. 手动引用计数(MRC),当创建一个对象的时候系…