随笔分类 -  iOS开发相关

摘要:在iOS开发中,我们接触比较多的是MVC架构,下面我们先来分析一下MVC架构。 1.MVC MVC是一种软件架构模式,在1978年由Trygve Reenskaug提出,它把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller): 视图(View):用户界面。 阅读全文
posted @ 2017-04-22 11:57 LeeGof 阅读(507) 评论(0) 推荐(0)
摘要:做项目一般都会要求写技术文档,特别是提供SDK或者基础组件的。如果手写这类技术文档的话,工作量比编写代码也少不了多少。比如 Java 语言本身就自带 javadoc 命令,可以从源码中抽取文档。本篇我们看一下OC中的一个类似工具:appledoc。 1.简介 基于命令行的操作、使用方便,默认生成的文 阅读全文
posted @ 2017-04-18 15:45 LeeGof 阅读(858) 评论(0) 推荐(0)
摘要:在看下面的知识点之前,看一下这几篇文章: 孙源博客; 禅与 Objective-C 编程艺术; Adopting Modern Objective-C; 1.代码风格 先看一段代码: 上面代码存在什么问题呢? 【解说】: 修改之后的完整代码如下: 2.属性关键字 在讲属性关键字之前,我们先来看看都有 阅读全文
posted @ 2017-04-17 18:16 LeeGof
摘要:1.目录和文件 显示当前目录路径: pwd 创建/打开目录: //创建目录 mkdir IOS //打开目录 open IOS 移动文件: //File为要移动的文件 TargetPath为要移动到的目录路径 mv File TargetPath 2.Git库 git配置: git config - 阅读全文
posted @ 2017-04-17 11:21 LeeGof 阅读(671) 评论(0) 推荐(0)
摘要:上篇介绍了Runtime类和对象的相关知识点,在4.5和4.6小节,也介绍了成员变量和属性的一些方法应用。本篇将讨论实现细节的相关内容。 在讨论之前,我们先来介绍一个很冷僻但又很有用的一个关键字:@encode 1.类型编码 为了协助运行时系统,编译器用字符串为每个方法的返回值、参数类型和方法选择器 阅读全文
posted @ 2017-04-11 22:31 LeeGof 阅读(1310) 评论(0) 推荐(0)
摘要:我们知道,Objective-C是一门动态语言,它将很多静态语言在编译时期做的事放到了运行时来处理。用C++编写的程序通过编译器直接把函数地址硬编码进入可执行文件;而Objective-C无法通过编译器直接把函数地址硬编码进入可执行文件,而是在程序运行的时候,利用Runtime根据条件判断作出决定, 阅读全文
posted @ 2017-04-11 22:31 LeeGof 阅读(876) 评论(0) 推荐(0)
摘要:通过前面几篇对Runtime的讲解,本篇汇总一下Runtime实际中常用的一些场景。 1.获取类的基本信息 获取类名: 获取成员变量: 获取属性: 获取类的实例方法: 2.动态创建类和类的基本信息 创建类: 添加成员变量: 添加属性: 添加方法: 3.关联对象 4.消息转发/方法交换 详见Runti 阅读全文
posted @ 2017-04-11 22:30 LeeGof 阅读(427) 评论(0) 推荐(0)
摘要:1.在自己的私有服务器上创建Git仓库 第一步:连接私有服务器: 第二步:使用cd命令进入到要创建Git仓库的目录。 第三步:使用如下命令创建并初始化Git仓库: 第四步:赋权: 至此,在私有服务器创建Git仓库已经完成。 2.编写自己的代码并实时更新到Git仓库 第一步:通过如下指令,将上面创建的 阅读全文
posted @ 2017-03-28 20:20 LeeGof 阅读(7986) 评论(0) 推荐(0)
摘要:1.什么是Runloop 在开始聊RunLoop之前,我们先来了解一下程序的执行原理。一般来说,程序是在线程中执行,一个线程一次只能执行一个任务(关于GCD,可看上篇文章介绍),执行完成后线程就会退出。类似这样: 在我们的App中,我们需要的是这样一个机制:线程能随时处理事件但不退出。这种机制叫做E 阅读全文
posted @ 2017-03-13 16:14 LeeGof 阅读(741) 评论(1) 推荐(0)
摘要:1.关于GCD Grand Central Dispatch是异步执行任务的技术之一。我们先看一个简单的示例: 这个示例实现的功能很简单:在后台线程中执行长时间的处理,处理结束后,在主线程中使用处理结果。上面实现方式是使用NSObject类的performSelectorInBackground和p 阅读全文
posted @ 2017-03-09 20:49 LeeGof 阅读(1038) 评论(0) 推荐(0)
摘要:1. 总体指导原则 【规则1-1】首先是为人编写程序,其次才是计算机。 说明:这是软件开发的基本要点,软件的生命周期贯穿产品的开发、测试、生产、用户使用、版本升级和后期维护等长期过程,只有易读、易维护的软件代码才具有生命力,所以提倡写代码之前多思考,特别是逻辑复杂或者技术难点较高的地方,个人思考不清 阅读全文
posted @ 2016-12-28 16:51 LeeGof 阅读(412) 评论(0) 推荐(0)
摘要:在WWDC 15,Apple提出的ATS (App Transport Security) ,是 Apple 在推进网络通讯安全的一个重要方式。在 iOS 9 和 OS X 10.11 中,默认情况下非 HTTPS 的网络访问是被禁止的。当然,因为这样的推进影响面非常广,作为缓冲,我们可以在 Inf 阅读全文
posted @ 2016-12-28 16:26 LeeGof 阅读(668) 评论(0) 推荐(0)
摘要:这里对HTTP请求的抓包操作不做讲解了,只讲解HTTPS的抓包要进行的操作。 【说明】:下面以MAC电脑示例,Windows版本可参考:http://weibo.com/ttarticle/p/show?id=2309404009801469264549 1.电脑安装Charles的根证书 操作路径 阅读全文
posted @ 2016-12-28 16:18 LeeGof 阅读(738) 评论(0) 推荐(0)
摘要:CocoaPods 是开发 OS X 和 iOS 应用程序的一个第三方库的依赖管理工具。利用 CocoaPods,可以定义自己的依赖关系库 (称作 pods),并且随着时间的变化,在整个开发环境中对第三方库的版本管理非常方便。 1.为什么要用CocoaPods? 在iOS项目开发过程中,我们经常会使 阅读全文
posted @ 2016-08-04 20:43 LeeGof 阅读(3562) 评论(0) 推荐(0)
摘要:【前言】:本篇为同事崔桂祥分享资料。 随着Xcode 5的发布,LLDB调试器已经取代了GDB,成为了Xcode工程中默认的调试器。它与LLVM编译器一起,带给我们更丰富的流程控制和数据检测的调试功能。LLDB为Xcode提供了底层调试环境,其中包括内嵌在Xcode IDE中的位于调试区域的控制面板 阅读全文
posted @ 2016-08-02 11:39 LeeGof 阅读(1207) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2016-08-02 11:09 LeeGof 阅读(94) 评论(0) 推荐(0)
摘要:1名词解释 1.1. UUID 一个字符串,在iOS上每个可执行文件或库文件都包含至少一个UUID,目的是为了唯一识别这个文件。 1.2. dwarfdump 苹果提供的命令行工具,其中一些功能就是查看可执行文件或库文件的UUID。示例: 1.3. symbolicatecrash 苹果提供的命令行 阅读全文
posted @ 2016-08-02 10:13 LeeGof 阅读(3319) 评论(0) 推荐(0)
摘要:在iOS开发中,我们常会用CocoaPods来进行依赖库的管理。CoaoaPods 是一套整体解决方案,我们在 Podfile 中指定好我们需要的第三方库,然后 CocoaPods 就会进行下载,集成,然后修改或者创建我们项目的 workspace 文件。 相比之下,Carthage 就要轻量很多, 阅读全文
posted @ 2016-08-01 17:49 LeeGof 阅读(2206) 评论(0) 推荐(0)