11 2016 档案

摘要:Xcode8中处理打印日志的配置 阅读全文
posted @ 2016-11-24 10:22 李洪强 阅读(476) 评论(0) 推荐(0) 编辑
摘要:iOS开发之记录用户登录状态 我们知道:CoreData的配置和使用步骤还是挺复杂的。但熟悉CoreData的使用流程后,CoreData还是蛮好用的。今天要说的是如何记录我们用户的登陆状态。例如微信,QQ等,在用户登陆后,关闭应用在打开就直接登陆了。那么我们在App开发中如何记录用户的登陆状态呢? 阅读全文
posted @ 2016-11-21 09:29 李洪强 阅读(1283) 评论(0) 推荐(0) 编辑
摘要:热修复也是在线修复。由于苹果的审核周期相对较长,遇到重大bug怎么办呢?这时候热修复就显得特别重要。 我也是最近了解到热修复,参考相关资料,来和大家分享一下我所了解到的热修复。 JSPatch,也是今天的主角,这个方案小巧易懂,一个IOS开发者很容易就能上手,它巧妙的运用了runtime的消息转发机 阅读全文
posted @ 2016-11-04 15:09 李洪强 阅读(354) 评论(0) 推荐(0) 编辑
摘要:多线程实现多图片下载 在没有步入正文之前先给大家展示下效果图,如果大家觉得很满意请继续往下阅读全文。 大家可以看到这个界面很简单,其实就是UITableView的布局,但是难点是在于如何从网上下载这些图片,下载之后应如何进行存储! 我们一步一步进行解析,先从单线程(主线程)进行多图片下载我们布局上的 阅读全文
posted @ 2016-11-03 19:18 李洪强 阅读(230) 评论(0) 推荐(0) 编辑
摘要:李洪强iOS经典面试题156 - Runtime详解(面试必备) 一、runtime简介 RunTime简称运行时。OC就是运行时机制,也就是在运行时候的一些机制,其中最主要的是消息机制。 对于C语言,函数的调用在编译的时候会决定调用哪个函数。 对于OC的函数,属于动态调用过程,在编译的时候并不能决 阅读全文
posted @ 2016-11-03 19:12 李洪强 阅读(625) 评论(0) 推荐(0) 编辑
摘要:李洪强iOS经典面试题155 - const,static,extern详解(面试必备) 一、const与宏的区别(面试题): const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量。 执行时刻:宏是预编译(编译之前处理),const是编译阶段。 编 阅读全文
posted @ 2016-11-03 19:11 李洪强 阅读(412) 评论(0) 推荐(0) 编辑
摘要:李洪强经典面试题 154- 性能优化 性能优化 文字是以前收集的,国外大牛写的,忘记原文链接了。 入门级 用ARC管理内存 在正确的地方使用 reuseIdentifier 尽量把views设置为透明 避免过于庞大的XIB 不要阻塞主线程 在Image Views中调整图片大小。如果要在UIImag 阅读全文
posted @ 2016-11-03 19:10 李洪强 阅读(958) 评论(0) 推荐(0) 编辑
摘要:李洪强iOS经典面试题154- 通知与推送 通知与推送 本地通知和远程推送通知对基本概念和用法? image 本地通知和远程推送通知都可以向不在前台运行的应用发送消息,这种消息既可能是即将发生的事件,也可能是服务器的新数据.不管是本地通知还是远程通知,他们在程序界面的显示效果相同,都可能显示为一段警 阅读全文
posted @ 2016-11-03 19:10 李洪强 阅读(382) 评论(0) 推荐(0) 编辑
摘要:李洪强iOS经典面试题153- 补充 补充 有空就来解决几个问题,已经懒癌晚期没救了。。。 UML 统一建模语言(UML,UnifiedModelingLanguage)是面向对象软件的标准化建模语言。UML因其简单、统一的特点,而且能表达软件设计中的动态和静态信息,目前已成为可视化建模语言的工业标 阅读全文
posted @ 2016-11-03 19:09 李洪强 阅读(603) 评论(0) 推荐(0) 编辑
摘要:李洪强经典面试题152-Runtime Runtime Runtime是什么 Runtime 又叫运行时,是一套底层的 C 语言 API,其为 iOS 内部的核心之一,我们平时编写的 OC 代码,底层都是基于它来实现的。比如: [receiver message]; // 底层运行时会被编译器转化为 阅读全文
posted @ 2016-11-03 19:08 李洪强 阅读(776) 评论(1) 推荐(0) 编辑
摘要:李洪强经典面试题151-安全机制 安全机制 苹果的安全机制有哪些 没经过用户同意,你不能随便获取用户信息。 所有的程序都在沙盒里运行,B程序不能进入A程序的运行范围。 如果跟钱有关,比如说支付宝,这些底层的实现都是保密的,只提供接口供开发者调用,这样的话安全性得到保障。 如果要防止代码被反编译,可以 阅读全文
posted @ 2016-11-03 19:07 李洪强 阅读(203) 评论(0) 推荐(0) 编辑
摘要:李洪强经典面试题149-多媒体 多媒体 iPhone OS主要提供了几种播放音频的方法? SystemSound Services AVAudioPlayer 类 Audio Queue Services OpenAL 使用AVAudioPlayer类调用哪个框架、使用步骤? AVFoundatio 阅读全文
posted @ 2016-11-03 19:06 李洪强 阅读(219) 评论(0) 推荐(0) 编辑
摘要:李洪强经典面试题150-设计模式 设计模式 从设计模式的角度分析Delegate、Notification、KVO的区别 三者优缺点: delegate的优势: 1.非常严格的语法。所有将听到的事件必须是在delegate协议中有清晰的定义。 2.如果delegate中的一个方法没有实现那么就会出现 阅读全文
posted @ 2016-11-03 19:06 李洪强 阅读(337) 评论(0) 推荐(0) 编辑
摘要:李洪强经典面试题148-多线程 多线程 你们项目中为什么多线程用GCD而不用NSOperation呢? 你有没有发现国外的大牛他们多线程都是用NSOperation? 你能告诉我他们这样做的理由吗? 关系: ①:先搞清两者的关系,NSOpertaionQueue用GCD构建封装的,是GCD的高级抽象 阅读全文
posted @ 2016-11-03 19:05 李洪强 阅读(484) 评论(0) 推荐(0) 编辑
摘要:李洪强iOS经典面试题147-WebView与JS交互 WebView与JS交互 iOS中调用HTML 1. 加载网页 NSURL *url = [[NSBundle mainBundle] URLForResource:@"index" withExtension:@"html"]; NSURLR 阅读全文
posted @ 2016-11-03 19:04 李洪强 阅读(1063) 评论(0) 推荐(0) 编辑
摘要:李洪强经典面试题145-Runloop Runloop 什么是 Runloop? 从字面上讲就是运行循环。 它内部就是do-while循环,在这个循环内部不断地处理各种任务。 一个线程对应一个RunLoop,主线程的RunLoop默认已经启动,子线程的RunLoop得手动启动(调用run方法) Ru 阅读全文
posted @ 2016-11-03 19:03 李洪强 阅读(384) 评论(0) 推荐(0) 编辑
摘要:李洪强经典面试题146-网络 网络 http请求方式? 通常,HTTP的请求方式有3种,分别是:POST、GET、HEAD。POST和GET方法是用于数据发送的。 POST:它将要发送的数据单独放在一个流中进行发送,而不是附加在URL地址后面,这样做的好处是这些数据不会出现在URL地址中。 GET: 阅读全文
posted @ 2016-11-03 19:03 李洪强 阅读(334) 评论(0) 推荐(0) 编辑
摘要:李洪强iOS经典面试题144-数据存储 数据存储 sqlite中插入特殊字符的方法和接收到处理方法。 除’其他的都是在特殊字符前面加“/”,而 ' -> '' 。方法:keyWord = keyWord.replace("/","//"); 什么是NSManagedObject模型? NSManag 阅读全文
posted @ 2016-11-03 19:02 李洪强 阅读(482) 评论(0) 推荐(0) 编辑
摘要:李洪强iOS经典面试题143-绘图与动画 绘图与动画 CAAnimation的层级结构 CAPropertyAnimation是CAAnimation的子类,也是个抽象类,要想创建动画对象,应该使用它的两个子类:CABasicAnimation和CAKeyframeAnimation 属性解析:ke 阅读全文
posted @ 2016-11-03 19:01 李洪强 阅读(437) 评论(0) 推荐(0) 编辑
摘要:李洪强iOS经典面试题142-第三方框架及其管理 第三方框架及其管理 使用过CocoaPods吗?它是什么?CocoaPods的原理? CocoaPod是一个第三方库的管理工具,用来管理项目中的第三方框架。 在终端中进入(cd命令)你项目所在目录,然后在当前目录下,利用vim创建Podfile,运行 阅读全文
posted @ 2016-11-03 19:00 李洪强 阅读(437) 评论(0) 推荐(0) 编辑
摘要:李洪强iOS经典面试题141-报错警告调试 报错警告调试 你在实际开发中,有哪些手机架构与性能调试经验 刚接手公司的旧项目时,模块特别多,而且几乎所有的代码都写在控制器里面,比如UI控件代码、网络请求代码、数据存储代码 接下来采取MVC模式进行封装、重构 自定义UI控件封装内部的业务逻辑 封装网络请 阅读全文
posted @ 2016-11-03 18:59 李洪强 阅读(517) 评论(0) 推荐(0) 编辑
摘要:李洪强iOS经典面试题140-UI UI viewcontroller的一些方法的说明viewDidLoad,viewWillDisappear, viewWillAppear方法的 顺序和作用? viewWillAppear:视图即将可见时调用。默认情况下不执行任何操作 viewDidAppear 阅读全文
posted @ 2016-11-03 18:58 李洪强 阅读(893) 评论(0) 推荐(0) 编辑
摘要:李洪强经典面试题53-Swift Swift 网上有很多Swift的语法题,但是Swift现在语法还未稳定,所以在这里暂时不贴出语法题,可以自行搜索。 Swift和Objective-C的联系 Swift与Objective-C共用同一套运行时环境我们编写程序,让程序运行起来,被机器执行的代码并非全 阅读全文
posted @ 2016-11-03 18:56 李洪强 阅读(342) 评论(0) 推荐(0) 编辑
摘要:李洪强经典面试题52-Block Block Block底层原理实现 首先我们来看四个函数 void test1() { int a = 10; void (^block)() = ^{ NSLog(@"a is %d", a); }; a = 20; block(); // 10 } void t 阅读全文
posted @ 2016-11-03 18:55 李洪强 阅读(343) 评论(0) 推荐(0) 编辑
摘要:李洪强经典面试题51-KVO-KVC KVC-KVO KVC的底层实现? 当一个对象调用setValue方法时,方法内部会做以下操作: ①检查是否存在相应key的set方法,如果存在,就调用set方法 ②如果set方法不存在,就会查找与key相同名称并且带下划线的成员属性,如果有,则直接给成员属性赋 阅读全文
posted @ 2016-11-03 18:54 李洪强 阅读(344) 评论(0) 推荐(0) 编辑
摘要:李洪强经典面试题50-内存管理 内存管理 ARC处理原理 ARC是Objective-C编译器的特性,而不是运行时特性或者垃圾回收机制,ARC所做的只不过是在代码编译时为你自动在合适的位置插入release或autorelease,只要没有强指针指向对象,对象就会被释放。 前端编译器 前端编译器会为 阅读全文
posted @ 2016-11-03 18:53 李洪强 阅读(1056) 评论(0) 推荐(0) 编辑
摘要:李洪强经典面试题49-Objective-C 面试笔试都是必考语法知识的。请认真复习和深入研究OC。 Objective-C 方法和选择器有何不同?(Difference between method and selector?) selector是一个方法的名字,method是一个组合体,包含了名 阅读全文
posted @ 2016-11-03 18:51 李洪强 阅读(600) 评论(0) 推荐(0) 编辑
摘要:可能碰到的iOS笔试面试题(4)--C语言 C语言,开发的基础功底,iOS很多高级应用都要和C语言打交道,所以,C语言在iOS开发中的重要性,你懂的。里面的一些问题可能并不是C语言问题,但是属于计算机的一些原理性的知识点,所以我就不再另外写一篇文章了,直接写在这里。 当你写下面的代码时会发生什么事? 阅读全文
posted @ 2016-11-03 18:49 李洪强 阅读(238) 评论(0) 推荐(0) 编辑
摘要:可能碰到的iOS笔试面试题(3)--UNIX常用命令 做开发说用不到命令行,那肯定是不可能的。所以记住几个常用的命令还是很有用。 cd 改变工作目录 pwd 输出当前工作目录的绝对路径在UNIX中要执行什么命令,一定要知道自己当前所在的工作目录 ls 查看文件$ ls 显示文件$ ls -a 显示所 阅读全文
posted @ 2016-11-03 18:48 李洪强 阅读(270) 评论(0) 推荐(0) 编辑
摘要:面试过程中,可能会问及一些关于版本控制的问题,理解下SVN和Git的原理,记住常用命令即可。 SVN SVN 是集中式源代码管理工具 SVN服务器安装(略) SVN常用命令 Git git是一款开源的分布式版本控制工具 为什么要用源代码管理工具 能追踪一个项目从诞生一直到定案的过程 记录一个项目的所 阅读全文
posted @ 2016-11-03 18:46 李洪强 阅读(333) 评论(0) 推荐(0) 编辑
摘要:培训机构量产iOS程序员,导致了现在iOS就业的浮躁和困难。但是技术好的人仍然不愁工作,而一些想进入行业捞一笔就走的人,势必在今年这种艰难就业形式下,被迫淘汰,转行。 look.jpg look.jpg 这张图是github上一位大牛所制作。建议找工作的同学,把这张图打印出来,自己对着看,有哪些知识 阅读全文
posted @ 2016-11-03 18:45 李洪强 阅读(209) 评论(0) 推荐(0) 编辑
摘要:绘图与动画 CAAnimation的层级结构 CAPropertyAnimation是CAAnimation的子类,也是个抽象类,要想创建动画对象,应该使用它的两个子类:CABasicAnimation和CAKeyframeAnimation 属性解析:keyPath:通过指定CALayer的一个属 阅读全文
posted @ 2016-11-03 18:44 李洪强 阅读(152) 评论(0) 推荐(0) 编辑
摘要:详解CALayer 和 UIView的区别和联系 前言 前面发了一篇iOS 面试的文章,在说到 UIView 和 CALayer 的区别和联系的时候,被喵神指出没有切中要点,所以这里就 CALayer 和 UIView 这个问题重新整理了下。这里会先分条解释,最后会在文章的结尾给出概括性总结。 1. 阅读全文
posted @ 2016-11-03 18:39 李洪强 阅读(223) 评论(0) 推荐(0) 编辑
摘要:李洪强iOS经典面试题下 21. 下面的代码输出什么? @implementation Son : Father - (id)init { self = [super init]; if (self) { NSLog(@"%@", NSStringFromClass([self class])); 阅读全文
posted @ 2016-11-03 14:12 李洪强 阅读(408) 评论(0) 推荐(0) 编辑
摘要:李洪强iOS经典面试题上 李洪强iOS经典面试题上 1. 风格纠错题 修改完的代码: 修改方法有很多种,现给出一种做示例: // .h文件 // http://weibo.com/luohanchenyilong/ // https://github.com/ChenYilong // 修改完的代码 阅读全文
posted @ 2016-11-03 14:09 李洪强 阅读(317) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示