iOS
文章平均质量分 82
SkySuperWL
欢迎吐槽
展开
-
iOS 再说缓存
在上一篇中的关于REST说了一些缓存策略,这里再扩展一下。 既然缓存,一般情况下,我们都会给缓存设定一个版本号,因为随着用户体验或者客户需求的变化,模型类可能会发生变化,这就意味着之前归档的任何数据将不能回复到新的模型上。对于按需缓存,数据并没有那么重要,开发者可以删除数据并更新应用。缓存失效通常会把应用的当前版本号保存在某个地方,可以用NSUserDefaults。检测版本升级,每次应用启动都要原创 2016-08-18 09:31:59 · 417 阅读 · 0 评论 -
近期面试小结
Tecent: 聊项目。 视图的生命周期: init-初始化程序viewDidLoad-加载视图viewWillAppear-UIViewController对象的视图即将加入窗口时调用;viewDidApper-UIViewController对象的视图已经加入到窗口时调用;viewWillDisappear-UIViewController对象的视图即将消失、被覆盖或是隐藏时调用;view原创 2016-08-31 09:35:43 · 461 阅读 · 0 评论 -
iOS REST服务
做过iOS开发的人员都知道,iOS应用需要通过某种与远程Web服务器通信。有些应用可以在没有网络连接的情况下使用,只在网络连接可用时才与服务器同步数据的应用就是这样。当然还有一类应用需要在几乎连续的网络连接下才能为用户提供有效的价值。这类应用通常作为Web服务的移动客户端。大部分iOS应用都要用到这种功能,折让iPhone成为有史以来最好的互联网连接设备。不过,由于设备总是在移动,连接和接收信号可能原创 2016-08-17 17:22:38 · 1118 阅读 · 0 评论 -
iOS之AFNetworking
之前就看过一些大神对AFNetworking的剖析,感觉还是要总结记录一下,不然时间久了就容易忘。这里主要是对AFNetworking如何实现网络请求的解释,也会给出如何使用的一些小例子。AFNetworking底层实现网络请求我们都知道AFNetworking与ASIHttpRequest的区别就是AFNetworking是由NSURLConnection和NSOperation对CFNetWor原创 2016-08-13 20:44:05 · 336 阅读 · 0 评论 -
iOS之AFNetWorking
上一篇大致了解了AFNetworking。网络请求主要的核心就是建立连接传送自己的参数发送请求,然后得到返回结果,对数据进行解析。这里大致说一下AFNetworking的AFURLRequestserialization。构建请求 1)格式化参数 用户参数(NSArray,NSDictionary,NSSet等)转化为AFNetworking要求的数据,每一个key-value对都用一个对象AF原创 2016-08-13 21:10:27 · 394 阅读 · 0 评论 -
iOS之AFNetworking
上篇说的是AFNetworking的请求实现,这里来说一下AFURLResponseserialization. AFURLResponseserialization比AFURLRequestserialization要简单多了,主要是两个方法。-validateResponse:data:error:基类AFHTTPResponseSerializer的这个方法检测返回的HTTP状态码和数据类型原创 2016-08-13 21:21:39 · 378 阅读 · 0 评论 -
iOS之二维码扫描
最近复习,之前项目需求要实现一个二维码扫描的课程签到的功能。这里简单总结一下。根据文件的名字,相信也能猜出这俩文件实现的功能。首先说一下二维码扫描View的实现#import <UIKit/UIKit.h>@interface CaptureRectView : UIView- (void)setupView;@end这个接口里的方法被第一个文件调用的。- (void)setupView{原创 2016-08-13 21:47:07 · 1103 阅读 · 1 评论 -
iOS之NSURLConnection
NSURLConnection(1)NSURL:请求地址(2)NSURLRequest:封装一个请求,保存发给服务器的全部数据,包括一个NSURL对象,请求方法、请求头、请求体….(3)NSMutableURLRequest:NSURLRequest的子类(4)NSURLConnection:负责发送请求,建立客户端和服务器的连接。发送NSURLRequest的数据给服务器,并收集来自服务器的响应数原创 2016-08-14 11:14:43 · 561 阅读 · 0 评论 -
iOS之AFNetworking3.0
在AFNetworking升级到3.0之前,对于网络的请求是基于NSURLConnection,到3.0之后,已完全基于NSURLSession的API,这降低了维护的负担,同时支持苹果增强关于NSURLSession提供的任何额外功能。下面的类已从AFNetworking 3.0中废弃:AFURLConnectionOperation AFHTTPRequestOperation AFHTTP原创 2016-08-14 14:57:28 · 594 阅读 · 0 评论 -
微店笔试
1.编译器的工作原理?编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)首先编译器进行语法分析,也就是要把原创 2016-09-15 21:01:55 · 1611 阅读 · 0 评论 -
iOS 个别问题
ios获取设备唯一标识: http://www.360doc.com/content/15/0703/14/26281448_482362968.shtml服务器怎么判断客户端已断开: http://blog.csdn.net/god2469/article/details/8801356TCP设计就是无法获取实时连线状况,只有在Send时会主动产生Exception返回状态 你可以1分钟发送原创 2016-09-11 14:25:22 · 450 阅读 · 0 评论 -
iOS 性能优化
要知道作为一名开发人员,性能优化思维是必备的:产品是为了取悦用户才有存在价值。 设备是为了方便用户才有其价值。 要做到更好。 用户的体验质量才是最实际的。 关注能带来最大收益的方面。iOS开发用到的性能优化的工具最典型的非Instruments莫属了。Instruments 默认情况下,Instruments是在Release模式下编译构建的。这可能会表现跟Debug模式完全不同的性能,但原创 2016-08-20 15:22:57 · 509 阅读 · 0 评论 -
iOS 调试
调试 对于开发人员来说调试是不可少的。iOS开发目前用的调试器是LLDB,其是用LLVM中可重用组件构建的下一代高性能调试器,包括完成的LLVM编译器。对于我们开发人员来说,这就意味着LLDB能理解编译器所能理解的语法。在用LLDB之前我们再来看看还有哪些调试的方法。dSYM(调试信息文件)dSYM中存储着和目标有关的调试信息。任何一种编程语言写的代码都需要一个编译器,将这些代码翻译成可被运行时环原创 2016-08-20 14:29:04 · 1451 阅读 · 0 评论 -
iOS SDWebImage框架的整体流程
SDWebImage 支持异步的图片下载+缓存,提供了 UIImageView+WebCacha 的 category,方便使用。纪录一下 SDWebImage 加载图片的流程。入口 setImageWithURL:placeholderImage:options: 会先把 placeholderImage显示,然后 SDWebImageManager 根据 URL 开始处理图片。原创 2016-08-06 14:55:51 · 500 阅读 · 0 评论 -
iOS 多线程开发小结
多线程概念 进程 正在进行中的程序被称为进程,负责程序运行的内存分配 每一个进程都有自己独立的虚拟内存空间 线程 线程是进程中一个独立的执行路径(控制单元) 一个进程中至少包含一条线程,即主线程 可以将耗时的执行路径(如:网络请求)放在其他线程中执行 创建线程的目的就是为了开启一条新的执行路径,运行指定的代码,与主线程中的代码实现同时运行 说明:每个应用程序由操作系统分配的短暂的时原创 2016-08-06 15:16:03 · 437 阅读 · 0 评论 -
iOS 多线程编程小结(二)
GCD——大中央调度 串行队列,同步任务,不需要新建线程 串行队列,异步任务,需要一个子线程,线程的创建和回收不需要程序员参与! “是最安全的一个选择”串行队列只能创建!并行队列,同步任务,不需要创建线程 并行队列,异步任务,有多少个任务,就开N个线程执行,无论什么队列和什么任务,线程的创建和回收不需要程序员参与。 线程的创建回收工作是由队列负责的“并发”编程,为了让程序员从负责的原创 2016-08-06 15:22:58 · 351 阅读 · 0 评论 -
iOS 多线程编程小结(三)
Run Loop Run Loop提供了一种异步执行代码的机制,不能并行执行任务 在主队列中,Main Run Loop直接配合任务的执行,负责处理UI事件、计时器,以及其它内核相关事件 Run Loop的主要目的是保证程序执行的线程不会被系统终止Run Loop的工作特点 当有事件发生时,Run Loop会根据具体的事件类型通知应用程序做出响应 当没有事件发生时,Run Loop会进入休原创 2016-08-06 15:30:23 · 342 阅读 · 0 评论 -
WebView与iOS Native交互
Objective-C语言调用JavaScript语言 Objective-C语言调用JavaScript语言,是通过UIWebView的 — (NSString )stringByEvaluatingJavaScriptFromString:(NSString )script;的方法来实现的。 该方法向UIWebView传递一段需要执行的JavaScript代码最后获取执行结果。 Obj原创 2016-08-06 15:44:58 · 1637 阅读 · 0 评论 -
iOS 设计模式小结
工厂模式 工厂方法模式:定义创建对象的接口,让子类决定实例化哪一个类。工厂方法使得一个 类的实例化延迟到其子类。 在iOS开发中基本上每个类的initWithXXX方法都会这样用。//通过工厂方法创建类的实现举例- (id)initWithName:(NSString*)name{ if(self = [super init]){ self.name = name; //原创 2016-08-06 16:36:56 · 397 阅读 · 0 评论 -
iOS 开发问题小结one
IOS 开发文档: https://developer.apple.com/library/ios/releasenotes/General/WhatsNewIniOS/Introduction/Introduction.html#//apple_ref/doc/uid/TP40008246在cell里面添加视频,遇到的问题: 1. 黑屏的问题? MPMoviePlayerContr原创 2016-08-07 11:42:08 · 786 阅读 · 0 评论 -
iOS 开发问题小结two
UIPageViewController,值得注意的是设置了datasource,此外,datasource最好是一个直接继承NSObject的自定义类。 此外还需要设置initial content就是设置viewControllers这个是必须的,因为这个是第一页内容的显示。 Datasource Delegate Controllers(Array) Gestur原创 2016-08-07 11:59:31 · 690 阅读 · 0 评论 -
名企与iOS第三方框架
网易新闻 AppleReachability ASIHTTPRequest EGOTableViewPullRefresh GTMNSString+HTML MGTemplateEngine MPOAuth RegexKitLite SDWebImage SSZipArchive waxGarageband MurmurHash libpng zlib SBJson (j原创 2016-08-16 21:30:48 · 407 阅读 · 0 评论 -
iOS block解析
Block简介 Block 对象是 C 级别的语法和运行时特性。它们和标准 C 函数很类似,但是除了可执行代码外,它们还可能包含了变量自动绑定(栈)或内存托管(堆)。所以一个 block 维护一个状态集(数据),它们可以在执行的时候用来影响程序行为。 blocks 来编写函数表达式,这些表达式可以作为 API 使用,或可选的存储,或被多个线程使用。Blocks 作为回调特别有用, Bloc原创 2016-08-07 11:28:20 · 727 阅读 · 0 评论