iOS进阶
文章平均质量分 85
iOS进阶知识
劉光軍_Shine
身后是苍茫黑夜,唯有拼命向前奔跑
展开
-
iOS 对属性变量setter和getter方法的理解
关于成员变量、实例变量、属性变量 成员变量 @implementation ViewController { UILabel *textLabel; int count; } 成员变量是用于类的内部,无需与外界接触的变量。成员变量默认是protected,因为成员变量不会生成set、get方法,所以无法和外界接触,从上面代码可以看出来,成员变量是定义在{ }中的变...原创 2017-06-18 00:35:25 · 196 阅读 · 0 评论 -
iOS 利用runTime进行“私有方法”替换
写在前面 首先声明:题目中所说的“私有方法”只是我们感官上的感觉,OC 中没有绝对的私有变量和私有方法。 关于私有变量和“私有方法” 私有变量 用@private来声明私有变量,只允许本类访问。 “私有方法”OC中没有提供关键字来声明私有方法,可以通过category的匿名类Extension通过在一个只在类的.m文件中来声明一个只能被本类访问的方法。 但是要注意的是:O...原创 2017-11-28 17:08:54 · 287 阅读 · 0 评论 -
iOS中UITableView性能优化
在iOS应用中,UITableView应该是使用率最高的视图之一了。iPod、时钟、日历、备忘录、Mail、天气、照片、电话、短信、Safari、App Store、iTunes、Game Center⋯几乎所有自带的应用中都能看到它的身影,可见它的重要性。 然而在使用第三方应用时,却经常遇到性能上的问题,普遍表现在滚动时比较卡,特别是table cell...原创 2015-10-21 23:09:23 · 130 阅读 · 0 评论 -
iOS 关于Category
写在前面 最近终于抽出时间来对这篇文章进行更改了,在这个过程中多谢大家的指导和意见,当时写这篇文章的时候原本是想记录自己的一些理解和想法,可能也是自己水平有限,在很多表达上没有表达清楚,给大家造成了困扰,说声抱歉,也很感谢大家能不吝赐教,虽然经过修改了,还是希望大家在看的时候能多多提出不同的见解,一起交流一起进步。 一 类别的简介 在开发中有时会用到Category,类别有三个作...原创 2016-03-15 22:49:37 · 1463 阅读 · 0 评论 -
iOS-RunTime介绍及使用
一、RunTime概念 RunTime简称运行时,我们总是听说OC是动态语言运行时机制,也就是系统在运行时候的一些机制,其中最重要的是消息机制。C语言,函数的调用在编译的时候会决定调用哪个函数,如果调用未实现的函数就会报错,而OC语言属于动态调用过程,在编译时并不能决定真正调用哪个函数,只有在真正的运行的时候才会根据函数的名称找到对应函数来调用,当调用该对象上某个方法,而该对象上没...原创 2017-11-01 23:00:21 · 117 阅读 · 0 评论 -
iOS视频弹幕
前言 项目中要在原有的视频基础上添加弹幕功能,主要包含开始、停止、暂停、恢复、发送弹幕、弹幕点击等小功能。找到之前一个封装的弹幕库,在原有的基础上做了些功能改动和添加,写在这里记录一下。 项目层级关系 屏幕快照 2019-11-25 下午4.09.19.png DanmuSend 这块儿主要是负责发送弹幕功能 包含DanmuSendView和DanmuOperateVi...原创 2019-11-25 16:54:09 · 331 阅读 · 0 评论 -
iOS 进阶原理知识笔记
KVO实现原理 KVO基本原理: 1 kvo是基于runtime机制实现的 2 当某个类的属性对象第一次被观察时,系统就会在运行期动态的创建该类的一个派生类,在这个派生类中重写基类中任何被观察属性的setter方法,派生类在被重写的setter方法内实现真正的通知机制 3 如果原类为Person,那么生成的派生类名为NSKVONotifying_Person 4 每个类对象中都有...原创 2018-03-05 18:29:58 · 84 阅读 · 0 评论