![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OC
文章平均质量分 59
CharType
这个作者很懒,什么都没留下…
展开
-
iOS内存管理基础
一,内存管理是什么?移动设备的内存极其有限,每个app 所能占用的内存是有限制的当app所占用的内存较多的时候系统会发出内存警告,这时候就需要在回收一些不需要在使用的内存空间,比如回收一些不需要使用的对象,和变量等管理范围:任何继承了NSObject的对象,其他基本数据类型(int,char,float,dauble,struct,enum等)无效二,对象的基本结构:原创 2016-03-04 10:23:35 · 363 阅读 · 0 评论 -
关于一个时间间隔bug的来源
需求,客户端互动添加3秒发言限制,用户本次方言后3秒之内发言提示:发言太快,请慢慢来。1.第一次想法:在每一次发言成功的时候在本地存储当前发言的时间,在下次发言的时候拿两次的时间对比,小于3秒 提示发言太快,请慢慢来。leader让使用项目中已经封装好的mach_absolute_time()来计算每次时间间隔,这个效率比直接使用Data高mach_absolute_time()代码:原创 2017-02-14 16:51:17 · 597 阅读 · 0 评论 -
策略设计模式
刘备要到江东娶老婆了,走之前诸葛亮给赵云(伴郎)三个锦囊妙计,说是按天机拆开解决棘手问题,嘿,还别说,真是解决了大问题,搞到最后是周瑜陪了夫人又折兵呀,那咱们先看看这个场景是什么样子的。先说这个场景中的要素:三个妙计,一个锦囊,一个赵云,妙计是小亮同志给的,妙计是放置在锦囊里,俗称就是锦囊妙计嘛,那赵云就是一个干活的人,从锦囊中取出妙计,执行,然后获胜 三个锦囊妙计是同一个东西,需要写原创 2016-09-25 23:07:27 · 314 阅读 · 0 评论 -
对象回收时Weak指针自动被置为nil的实现原理
我们都知道Weak指针不会增加所引用对象的计数,并在引用对象被回收的时候自动被置为nil。通常用于解决循环引用问题。那么,自动被置为nil内部是如何实现的呢?内部实现 —— Weak表Runtime维护了一个Weak表,用于存储指向某个对象的所有Weak指针。Weak表其实是一个哈希表,Key是所指对象的地址,Value是Weak指针的地址(这个地址的值是所指对象的地址)的数组。转载 2016-10-09 14:16:13 · 2744 阅读 · 0 评论 -
iOS9新特性,泛型
泛型:限制类型开发中使用场景: 1.限制集合中的类型,只能检测方法的调用,因为声明的泛型只能存在方法中 2.当一个类在声明的时候,某个对象的属性不确定,只有创建对象的时候才能确定,就可以使用泛型。 定义泛型 书写格式:放在类型的后面,表示限制这个类型 // 定义泛型:确定类型@property (nonatomic, strong) NS原创 2016-05-06 11:24:49 · 5004 阅读 · 0 评论 -
block问题
看block的本质原创 2016-04-09 16:52:43 · 642 阅读 · 0 评论 -
Objective-C 和 Core Foundation 对象相互转换内存管理
iOS允许Objective-C 和 Core Foundation 对象之间可以轻松的转换,拿 NSString 和 CFStringRef 来说,直接转换豪无压力CFStringRef aCFString = (CFStringRef)aNSString; NSString *aNSString = (NSString *)aCFString; 针对内存管理问题,ARC原创 2016-02-29 22:09:52 · 359 阅读 · 0 评论 -
ARC下OC对象使用assign和使用weak的区别
面试总会被问到这个问题,但是自己一直没有真正的测试过。在ARC下使用wek 对象被释放后,指向对象的指针就会变成空指针,后面在调用相关的对象方法不会出现异常@interface ViewController () @property(weak,nonatomic)Persion *p;@property(weak,nonatomic)BOOK *b;@end@imple原创 2016-03-10 09:21:10 · 1949 阅读 · 0 评论 -
iOS 使用AudioRecorder录音后在使用AVPlayer播放不了声音的问题
说说今天踩的一个坑叨叨项目有个语音频道和音乐频道,语音频道使用AudioRecorder录音之后使用AFSoundManager播放音乐,后来增加了音乐频道之后 录音的时候我将音乐停止后 返回到语音频道内容页 点击音乐播放条上的播放按钮,显示在播放状态,但是没有声音了,检查了代码一遍又一遍,没有发现任何问题无意中发现录完音后按手机的音量调节按钮没有任何反应,于是思考是原创 2016-02-23 15:39:39 · 3742 阅读 · 0 评论 -
OC中的点语法,成员变量,@property和@synthesize:id类型,构造函数
Xcode特有的注释 #pragma mark - 年龄的geter和seter方法 快速寻找到对应的代码一.点语法:1. 利用点语法替换set方法和get方法 方法调用: Person *p = [Person new]; p.age=10; [p setAge:原创 2016-02-21 10:04:37 · 375 阅读 · 0 评论 -
面向对象三大特性
一:封装set方法:1.作用:提供一个方法给外界设置成员变量值,可以在方法里面对参数进行相应的过滤2.命名规范:方法名必须以set开头set后面跟上成员变量的名称,成员变量的首字母必须大写返回值一定是void一定要接收一个参数,而且参数类型跟成员变量类型一致形参的名称不能跟成员变量名称一样get方法:1.作用:返回对象内部的成员变量2.命名规范:一定原创 2016-02-21 09:57:30 · 336 阅读 · 0 评论 -
关于NSTimer
关于NSTimer 在工作中经常会做一些延时任务,或者周期性任务,有时候也需要对取消延时任务操作。 延时任务一般有三种NSObject的 -(void)performSelector:(SEL)aSelector withObject:(nullable id)anArgument afterDelay:(NSTimeInterval)delay;使用NSTimer的一些函数 +原创 2017-03-26 11:43:22 · 319 阅读 · 1 评论