摘要:一,前言 最近老是突然对Workspace,Project,Scheme,Target四者的关系有些疑惑,所以查阅资料总结一下。 二,Workspace,Project,Scheme,Target四者的定义1. Xcode Workspace(可类比为“办公大楼”)定义:Workspace是组织pr
阅读全文
摘要:1.Xcode IDE概览 说明: 从左到右,依次是“导航窗格(Navigator)->边列(Gutter)->焦点列(Ribbon)->代码编辑窗口(Standard/Primary Editor)”。 边列(Gutter):显示行号和断点。(上图未显示,可通过command + , 找到 Tex
阅读全文
摘要:一、HTTP协议的演进 HTTP(HyperText Transfer Protocol)协议是基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端的数据传输格式,最初是用来向客户端传输HTML页面的内容。默认端口是80。 1.HTTP 0.9版本 1991年 这个版本就是最
阅读全文
摘要:1. 前言 Block:带有自动变量(局部变量)的匿名函数。它是C语言的扩充功能。之所以是拓展,是因为C语言不允许存在这样匿名函数。 1.1 匿名函数 匿名函数是指不带函数名称函数。C语言中,函数是怎样的呢?类似这样: int func(int count); 调用的时候: int result =
阅读全文
摘要:苹果APP启动,分为两个过程:系统dylib动态链接库 app的main函数启动过程。 main函数过程直接对iOS开发者。这里备忘的dylib过程: 一、dyld加载到虚拟内存 1. load dylibs image 2. Rebase image 3. Bind image 4. Objc s
阅读全文
摘要:如果我们有些功能要给别人用,但是又不想公开代码实现,比如高德地图、第三方登录分享等等,这时候我们就要打包成库了。库分静态库和动态库两种: 静态库:以.a 和 .framework为文件后缀名。动态库:以.tbd(之前叫.dylib) 和 .framework 为文件后缀名。 静态库与动态库的区别 静
阅读全文
摘要:我是前言 我是前言 一个iOS app的main()函数位于main.m中,这是我们熟知的程序入口。但对objc了解更多之后发现,程序在进入我们的main函数前已经执行了很多代码,比如熟知的+ load方法等。本文将跟随程序执行顺序,刨根问底,从dyld到runtime,看看main函数之前都发生了
阅读全文
摘要:1.分类(category)的作用 1.1作用:可以在不修改原来类的基础上,为一个类扩展方法。1.2最主要的用法:给系统自带的类扩展方法。 2.分类中能写点啥? 2.1分类中只能添加“方法”,不能增加成员变量。2.2分类中可以访问原来类中的成员变量,但是只能访问@protect和@public形式的
阅读全文