代码编织梦想

基本知识篇:iOS开发·runtime原理与实践-爱代码爱编程

摘要:这篇文章首先介绍runtime原理,包括类,超类,>元类,super_class,isa,对象,方法,SEL,IMP等概念,同时分别介绍与这些概念有关的API。接着介绍方法调用流程,以及寻找IMP的过程。然后,介绍一下这些API的常见用法,并介绍runtime的冷门知识。最后介绍一下runtime的实战指南。 Tips :苹果公开的

学习编程需要什么基础?你举得呢?-爱代码爱编程

程序员薪酬高、工作环境好,是很多同学向往的职业,让很多非计算机专业的同学羡慕不已。非计算机专业难道就不能成为程序员了吗? 一、学编程需要什么基础? 1、数学基础 从计算机发展和应用的历史来看计算机的数学模型和体系结构等都是有数学家提出的,最早的计算机也是为数值计算而设计的。因此,要学好计算机就要有一定的数学基础,初学者有高中水平就差不多了。

iOS开发Objective-C基础之──多态性-爱代码爱编程

Objective-C语言是面向对象的高级编程语言,因此,它具有面向对象编程所具有的一些特性,即:封装性、继承性和多态性。 今天介绍一下Objective-C中的多态性。 多态的3个条件: 继承:各种cell继承自BaseCell 重写:子类cell重写BaseCell的setModel:方法 指向:父类cell指针指向子类cell 一

iOS Texture <AsyncDisplayKit> ASViewController-爱代码爱编程

ASViewController是UIViewController的一个子类,它为承载ASDisplayNode层次结构添加了一些有用的特性。 ASViewController可以代替任何UIViewController,包括UINavigationController、UITabBarController和UISplitViewController,或

iOS马甲包上架招式-爱代码爱编程

一、什么是马甲包 马甲包是利用App store 规则漏洞,通过技术手段,多次上架同一款产品的方法。马甲包和主产品包拥有同样的内容和功能,除了icon和应用名称不能完全一致,其他基本一致。 二、为什么做马甲包,做马甲包有什么好处? 1、导量、刷榜、增加关键字覆盖 一个App的关键字是有限的,马甲包能增加我们的搜索关键词,增加我们的App被用户搜索和下

iOS内存相关的知识点整理-爱代码爱编程

一、原起 iOS的内存相关知识是我们开发iOS APP的基石之一,也是面试中必然会问的问题。内存知识的融会贯通,与及内存相关问题的解决,是iOS开发者必须要掌握的。 作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是我的iOS交流圈: 不管你是小白还是大牛欢迎入驻!! 分享内容包括逆向安防、算法、架构设计、多线程,网络进阶,还有底层、音

iOS Texture<AsyncDisplayKit> Subclassing-爱代码爱编程

Subclassing 创建子类时最重要的区别是您是编写ASDKViewController还是ASDisplayNode。这听起来很明显,但由于其中一些差异是微妙的,所以记住这一点很重要。 ASDisplayNode 虽然子类化node类似于编写UIView子类,但要遵循一些准则,以确保充分利用框架的潜力,并确保node的行为符合预期。 -ini

iOS Texture <AsyncDisplayKit> 智能预加载-爱代码爱编程

智能预加载 当一个node能够被异步并发地渲染和测量时,它非常强大,另一个对纹理至关重要的层是智能预加载的思想。 正如在《入门》中指出的那样,在一个node容器的上下文之外使用一个node很少是有利的。这是因为所有node都有其当前接口状态的概念。 此interfaceState属性由所有容器在内部创建和维护的ASRangeController不断更

iOS Texture <AsyncDisplayKit> 学习之入门-爱代码爱编程

入门 Texture的基本单位是node。ASDisplayNode是UIView上的抽象,而UIView又是CALayer上的抽象。与只能在主线程上使用的视图不同,node是线程安全的:您可以在后台线程上并行实例化和配置它们的整个层次结构。 为了保持用户界面的流畅和响应,你的应用程序应该以每秒60帧的速度呈现——这是iOS上的黄金标准。这意味着主线程

《禅与摩托车维修艺术》(罗伯特·M·波西格)骑行路上的哲学思考 Zen and the Art of Motorcycle Mt...-爱代码爱编程

我们常常太忙而没有时间好好聊聊,结果日复一日地过着无聊的生活,单调乏味的日子让人几年后想起来不禁怀疑,究竟自己是怎么过的,而时间已悄悄溜走了。 现代人为事业,为赚钱,已经远离了自己,变成机器,忘记自己是人。 认知、心灵、感情的支离破碎,是否整合之道? 西方世界的二分法或二元论,如: 人文与科技、精神与物质、神秘主义与机械论、

结构体与类,值类型与引用类型-爱代码爱编程

结构体与类的重要区别 Swift中,结构体与类的一个重要区别就是结构体是一个值类型而类是一个引用类型。如果定义一个全局变量的结构体,其数据将存储在数据段;而如果定义一个全局变量的类对象,数据段将存放其在堆空间的指针,其实际的数据将存储在堆空间(和类型信息与引用计数一起)。 值类型与引用类型 值类型与引用类型之间的一个重要差异在于,如果将一个值类型赋值

xcode增加复制一行、删除一行快捷键-爱代码爱编程

修改文件权限 sudo chmod 666 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist 编辑文件 vim /Applications/Xcode.app/Contents/Frameworks/IDE

IOS UIView 对象详解-爱代码爱编程

UIView 是所有可以显示在屏幕的对象的父类,是一个矩形的对象 名称类型说明默认值boundsCGRect以自己左上角为原点坐标设置位置和尺寸nilframeCGRect以父级视图点左上角为原点设置位置和尺寸niltagNSInteger当前对象点标识,可以当作idnilconterCGPoint视图的中心点,可动画niltransformC

iOS 边学边记 sizeToFit 与 sizeThatFit 区别-爱代码爱编程

先看看苹果官方文档对这连个的方法的解释: // return 'best' size to fit given size. does not actually resize view. Default is return existing view size - (CGSize)sizeThatFits:(CGSize)size; // call

【解决方式】M1芯片使用cocoapods进行pod install 时,报错[!] Oh no, an error occurred-爱代码爱编程

【解决方式】 命令行: sudo arch -x86_64 gem install ffi   arch -x86_64 pod install   原出处:https://github.com/CocoaPods/CocoaPods/issues/10220#issuecomment-730963835   ---------------

把已有项目用添加到oschina的gitee仓库中使用xcode提交,命令行提交sourceTree提交-爱代码爱编程

三种方法把已有项目添加到gitee中 注册或者登陆创建仓库把已有项目的git设置换成自己新建的仓库把已有项目添加到仓库中一、命令行操作把项目提交到暂存区提交到本地:提交到远程共享仓库二、在xcode里面提交三、sourcetree里面提交 如果从来没操作过git,本文需要操作20分钟以上,如果已经使用过git,本文只用方法1,需要观看5分钟,学会

2020年最新全国彩礼地图出炉,你那儿娶媳妇儿需要多少彩礼钱呢?数据分析来告诉你...-爱代码爱编程

点击上方“蓝字”关注我们吧! 彩礼是中国婚姻的一个传统,其本身并没有固定的数额,一般也都是由女方父母提出,但是随着社会进步,彩礼随之也变了味,面对丈母娘的漫天要价,很多男同胞也感觉到力不从心。近年来“天价彩礼”也屡屡登上热搜,成为了不少人迈入婚姻殿堂最大的一道坎儿,也成了压垮男人的最后一根稻草 近日抖音上的一段视频也是登上了热搜,视频中的男子

IOS 代理模型-爱代码爱编程

代理模式在IOS经常使用,在IOS中使用代理模式非常简单。 A类文件(协议) a.h 中声明协议 @protocol Button <NSObject> // 声明代理协议 - (void) onClick; // 可以代理的方法 - (void) onDown: (UIButton*) event; // 可以代理的方法

iOS 边学边记 NSSet于NSArray的区别及基本用法-爱代码爱编程

首先,NSSet和NSArray功能性质一样,用于存储对象,属于集合。但是和NAArray不一样的是它属于 “无序集合”,在内存中存储方式是不连续的,而NSArray是 “有序集合” 它内存中存储位置是连续的。 其次,NSSet的效率确实是比NSArray高的,因为它主要用的是hash算法,我的理解中,NSSet在集合中寻找一个元素的时候是一针见血,找到

iOS App转让流程-爱代码爱编程

工作中避免不了,公司要求App账号改变,需要转让App.记录一下转让流程. 例如,A账号中有一个App需要转让到B账号中. 如果只有你一个人来操作这些,那么,先登录A账号记录一下App的信息,已经A账号中的一些信息. 如果是两个人一起 ,那就直接开始操作就行了. 登录A账号AppStoreConnect 找到App.进入App详细信息,默认在AppSto