- 博客(142)
- 资源 (103)
- 收藏
- 关注
转载 Markdown,你只需要掌握这几个
题记为什么使用Markdown?这是一个问题。答案有很多种。比如,不局限于格式啦,比如 .xls 文档得用excel打开吧, .doc 文档得用word打开吧, .xxx 得用xxx打开吧。如果你机子上没有这个软件,岂不是抓瞎了,还能不能愉快的学习了?!因此你需要一种能使用简单的文本编辑器就可以书写,有浏览器就可正常显示的格式或标记,Markdown很适合哦。什么,这个理由不好?那么就权当
2016-03-25 16:21:37
2842
转载 GitHub上7个非常值得学习的iOS开源项目
文/小麦麦子(简书作者)原文链接:http://www.jianshu.com/p/5cc3dc28bc5e著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。相信从事软件开发的童鞋应该都有这样的感触,不管怎么学,知识总是学不完的,而且入门一门技术不难,要深入学习一门技术才是真的难。任何计算机技术,如果不努力学习、进步,就会感觉自己停步不前,没成就赶不
2016-03-23 09:40:32
3157
转载 Objective-C Runtime 运行时之四:Method Swizzling
原文地址: http://blog.jobbole.com/79580/理解Method Swizzling是学习runtime机制的一个很好的机会。在此不多做整理,仅翻译由Mattt Thompson发表于nshipster的Method Swizzling一文。Method Swizzling是改变一个selector的实际实现的技术。通过这一技术,我们可以在运行时
2016-03-22 14:43:20
1501
转载 直接拿来用!Facebook移动开源项目大合集
摘要:移动开发生态圈日益成熟,基础的开源组件也越来越丰富,而Facebook不仅取之开源,更不断地开源其内部项目,将成果与开发者共享。本文特对Facebook在移动开发方面所推出的众多开源项目进行了系统的盘点与介绍。随着iOS依赖管理工具CocoaPods和大量第三方开源库成熟起来,业界积累了大量的优秀开源项目。不久之前,Facebook推出了旗下移动新闻阅读应用Paper,便动用
2016-03-21 18:15:02
4521
转载 iOS安全攻防(二十三):Objective-C代码混淆
原文地址: http://blog.youkuaiyun.com/yiyaaixuexi/article/details/29201699iOS安全攻防(二十三):Objective-C代码混淆class-dump可以很方便的导出程序头文件,不仅让攻击者了解了程序结构方便逆向,还让着急赶进度时写出的欠完善的程序给同行留下笑柄。所以,我们迫切的希望
2016-03-21 17:55:01
2405
1
转载 Fishhook
Fishhook众所周知,Objective-C的首选hook方案为Method Swizzle,于是大家纷纷表示核心内容应该用C写。接下来进阶说说iOS下C函数的hook方案,先介绍第一种方案————fishhook .什么是fishhookfishhook是facebook提供的一个动态修改链接Mach-O符号
2016-03-21 17:40:45
2213
转载 IOS网络开发NSURLSession详解(一)概述
前言:这个IOS网络编程的系列计划6篇文章,NSURLSession3篇(一篇概述,一篇详细阐述三种task和delegate的使用,一篇阐述授权,证书等内容),网络的基础知识两篇(一篇REST API讲解已经写完了,一篇我会把写博客的过程中遇到的概念总结出来),AFNetWorking库的使用写一篇。这是初步的计划,如果写的过程的当中,发现内容涵盖不完整,适当再加几篇。这
2016-03-21 15:02:31
2195
转载 采用dlopen、dlsym、dlclose加载动态链接库【总结】
1、前言 为了使程序方便扩展,具备通用性,可以采用插件形式。采用异步事件驱动模型,保证主程序逻辑不变,将各个业务已动态链接库的形式加载进来,这就是所谓的插件。linux提供了加载和处理动态链接库的系统调用,非常方便。本文先从使用上进行总结,涉及到基本的操作方法,关于动态链接库的本质及如何加载进来,需要进一步学习,后续继续补充。如何将程序设计为插件形式,挖掘出主题和业务之间的关系,需要进一
2016-03-21 14:04:16
2967
转载 对iOS锁的一些研究
目录(?)[+][objc] view plain copy #import #import #import #import #define ITERATIONS (1024*1024*32) - (void)testLock { double then, n
2016-03-21 11:33:33
1555
转载 ssl双向认证和单向认证原理
有朋友在搞一个项目,周末有聊到一些安全性的东西,很自然会想起https,但https究竟如何实施,其原理又是什么? 基于ssl,一般的应用都是单向认证,如果应用场景要求对客户来源做验证也可以实现成双向认证。 网上google一下: 为了便于更好的认识和理解 SSL 协议,这里着重介绍 SSL 协议的握手协议。SSL 协议既用到了公钥加
2016-03-21 11:29:09
1752
转载 iOS开发之玩转字符串
在每个应用里我们都大量使用字符串。下面我们将快速看看一些常见的操作字符串的方法,过一遍常见操作的最佳实践。字符串的比较、搜索和排序排序和比较字符串比第一眼看上去要复杂得多。不只是因为字符串可以包含代理对(surrogate pairs )(详见 Ole 写的这篇关于 Unicode 的文章) ,而且比较还与字符串的本地化相关。在某些极端情况下相当棘手。苹果文档中 Str
2016-03-21 11:07:35
2095
转载 iOS实现能接受格式化字符串的方法
有时在我们自己的类中提供一个能接受格式化字符串的方法会很方便使用。假设我们要实现的是一个 To Do 应用,它包含一个 Item 类。我们想要提供:+ (instancetype)itemWithTitleFormat:(NSString *)format, ...如此我们就可以使用:Item *item = [Item itemWithFormat:@"Need to buy
2016-03-21 11:06:13
2802
转载 AFNetworking源码解析<三>
续AFNetworking源码解析、 本篇说说安全相关的AFSecurityPolicy模块,AFSecurityPolicy用于验证HTTPS请求的证书,先来看看HTTPS的原理和证书相关的几个问题。HTTPSHTTPS连接建立过程大致是,客户端和服务端建立一个连接,服务端返回一个证书,客户端里存有各个受信任的证书机构根证书,用这些根证书对服务端 返回的证书进行验证,经验证如
2016-03-21 10:29:49
2080
原创 NSRegularExpression
最近遇到一个需要进行字符串匹配的问题,我就想到用正则表达式来解决,通过ios中的NSRegularExpression这个类就可以帮助我们实现这个。问题陈述:现在我要对一个语句进行匹配: "[self.label setText: @\"hello world\";" 这个语句其实就是设置一个label的内容,其中label字符串中的内容可以任意。那么根据这个字符
2016-03-21 09:44:47
1370
转载 iOS开发之--- NSURLProtocol
文/树下的老男孩(简书作者)原文链接:http://www.jianshu.com/p/7c89b8c5482a著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。最近在项目里由于电信那边发生dns发生域名劫持,因此需要手动将URL请求的域名重定向到指定的IP地址,但是由于请求可能是通过NSURLConnection,NSURLSession或者AFNetworking等
2016-03-18 18:06:27
2144
转载 NSURLProtocol和NSRunLoop的那些坑
最近用AFNetworking替换掉了工程里的ASIHttpRequest,结果陆续碰到很多问题:·如何统一地添加全局的HTTP头(不仅仅是UA而已)·如何优雅地进行流量统计·对特定的地址进行CDN加速(URL到IP的替换)·怎么实现HTTP的同步请求前三个需求对于ASIHttpReqeust来说都不是问题,只需要在几个统一的点进行修改即可。而使用AFNet
2016-03-18 17:28:59
2409
转载 va_start和va_end使用详解
本文主要介绍va_start和va_end的使用及原理。 在以前的一篇帖子Format MessageBox 详解中曾使用到va_start和va_end这两个宏,但对它们也只是泛泛的了解。 介绍这两个宏之前先看一下C中传递函数的参数时的用法和原理: 1.在C中,当我们无法列出传递函数的所有实参的类型和数目时,可以用省略号指定参数表void foo(
2016-03-18 17:04:27
1244
转载 Objective-C的方法替换
Objective-C的方法替换(Method Replacement for Fun and Profit)本文将要讨论Objective-C中的方法替换(method replacement)和swizzling(移魂大法)。 重写类的方法(Overriding Methods)Overriding methods在任何面向对象语言中都很常见
2016-03-18 16:28:13
1836
转载 volatile变量
volatile变量的意思是易变的,它的主要作用是避免编译器优化,编译器优化是什么意思? 举个例子,为了避免过多的访问内存,编译器会为变量作一个cache,里面会存放上变量的copy, 这样就会提高程序执行效率,而变量如果加了volatile, 那么编译器就不会做这样的优化,每次用到该变量时,都会去内存取一次,从而保证取到的是变量的最新的值。通常下面情况下要用到该变量。
2016-03-18 16:15:49
1464
转载 可变参数宏__VA_ARGS__
在 GNU C 中,宏可以接受可变数目的参数,就象函数一样,例如:#define pr_debug(fmt,arg...) \printk(KERN_DEBUG fmt,##arg)用可变参数宏(variadic macros)传递可变参数表你可能很熟悉在函数中使用可变参数表,如:void printf(const char* format, …);直到
2016-03-18 09:35:28
1596
转载 DBL_EPSILON和 FLT_EPSILON的用法
版权声明:本文为博主原创文章,未经博主允许不得转载。DBL_EPSILON和 FLT_EPSILON主要用于单精度和双精度的比较当中:[cpp] view plain copy double a = 0.5; if (a == 0.5) //正确 x++; doub
2016-03-18 09:20:14
1051
转载 NSRunLoop 概述和原理
1.什么是NSRunLoop?我们会经常看到这样的代码:- (IBAction)start:(id)sender{pageStillLoading = YES;[NSThread detachNewThreadSelector:@selector(loadPageInBackground:)toTarget:self withObject:nil];[progress
2016-03-12 22:39:03
294
转载 NSURLSession使用说明及后台工作流程分析
NSURLSession是iOS7中新的网络接口,它与咱们熟悉的NSURLConnection是并列的。在程序在前台时,NSURLSession与NSURLConnection可以互为替代工作。注意,如果用户强制将程序关闭,NSURLSession会断掉。 NSURLSession提供的功能:1.通过URL将数据下载到内存2.通过URL将数据下载到文件系统3
2016-03-09 17:38:47
527
转载 HTTP/2 新特性浅析
HTTP/2 源自 SPDY/2SPDY 系列协议由谷歌开发,于 2009 年公开。它的设计目标是降低 50% 的页面加载时间。当下很多著名的互联网公司都在自己的网站或 APP 中采用了 SPDY 系列协议(当前最新版本是 SPDY/3.1),因为它对性能的提升是显而易见的。主流的浏览器(谷歌、火狐、Opera)也都早已经支持 SPDY,它已经成为了工业标准,HTTP Working-Gr
2016-03-09 10:33:34
1139
转载 深入浅出iOS事件机制
本文章将讲解有关iOS事件的传递机制,如有错误或者不同的见解,欢迎留言指出。转载自:http://zhoon.github.io/ios/2015/04/12/ios-event.htmliOS的事件有好几种:Touch Events(触摸事件)、Motion Events(运动事件,比如重力感应和摇一摇等)、Remote Events(远程事件,比如用耳机上得按键来控制手机),其中最常用的应
2016-02-23 14:41:46
1539
转载 详解 CALayer 和 UIView 的区别和联系
前言前面发了一篇iOS 面试的文章,在说到 UIView 和 CALayer 的区别和联系的时候,被喵神指出没有切中要点,所以这里就 CALayer 和 UIView 这个问题重新整理了下。这里会先分条解释,最后会在文章的结尾给出概括性总结。1.首先UIView可以响应事件,Layer不可以.UIKit使用UIResponder作为响应对象,来响应系统传递过来的事件并进行处
2016-02-23 14:29:17
431
转载 UIView和CALayer的区别 说的比较清楚了
如果这篇帖子能够给出每个代码中所带来的页面效果 就更好理解了 以后我自己写之类的介绍可以从中吸取教训记录园子里的一篇有关CALayer与UIView的关系CALayer属于Core Animation部分的内容,比较重要而不太好理解。以下是园子中看到的一篇文章的摘录:1. UIView是iOS系统中界面元素的基础,所有的界面元素都是继承自它。它本身完全是由Cor
2016-02-23 14:23:39
384
转载 深入探究frame和bounds的区别以及setbounds使用
在iOS开发中经常遇到两个词Frame和bounds,本文主要阐述Frame和bound的区别,尤其是bound很绕,很难理解。一、首先,看一下公认的资料先看到下面的代码你肯定就明白了一些:123456-(CGRect)frame{ return CGRectMake(se
2016-02-23 14:04:27
530
转载 iOS设计模式-工厂方法
工厂方法工厂方法模式:定义创建对象的接口,让子类决定实例化哪一个类。工厂方法使得一个类的实例化延迟到其子类。工厂方法的使用场景编译时无法准确预期要创建的对象的类;类想让子类决定在运行时创建什么;类有若干辅助类为其子类,而你想将返回哪个子类这一信息局部话;工厂方法在CocoaTouch中的应用在Objective-C中两步对象创建法[[SomeClass allo
2016-02-19 17:09:12
838
转载 iOS开发中的几种设计模式介绍
ios开发学习中,经常弄不清楚ios的开发模式,今天我们就来进行简单的总结和探讨~(一)代理模式应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现。优势:解耦合敏捷原则:开放-封闭原则实例:tableview的 数据源delegate,通过和protocol的配合,完成委托诉求。列表row个数delegate自定义的delegate
2016-02-19 17:01:59
1344
转载 iOS开发:设计模式那点事
说起设计模式,感觉自己把握不了笔头,所以单拿出iOS开发中的几种常用设计模式谈一下。单例模式(Singleton)概念:整个应用或系统只能有该类的一个实例在iOS开发我们经常碰到只需要某类一个实例的情况,最常见的莫过于对硬件参数的访问类,比如UIAccelerometer.这个类可以帮助我们获得硬件在各个方向轴上的加速度,但是我们仅仅需要它的一个实例就够了,再多,只会浪费内
2016-02-19 16:53:19
719
转载 iOS多线程编程技术之NSThread、Cocoa NSOperation、GCD
简介iOS有三种多线程编程的技术,分别是:(一)NSThread(二)Cocoa NSOperation(三)GCD(全称:Grand Central Dispatch)这三种编程方式从上到下,抽象度层次是从低到高的,抽象度越高的使用越简单,也是Apple最推荐使用的。三种方式的优缺点介绍:1)NSThread:优点:NSThread 比其他两个轻量级缺
2016-02-19 15:55:27
543
转载 iOS开发之理解iOS中的MVC设计模式
模型-视图-控制器(Model-View-Controller,MVC)是Xerox PARC在20世纪80年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已广泛应用于用户交互应用程序中。在iOS开发中MVC的机制被使用的淋漓尽致,充分理解iOS的MVC模式,有助于我们程序的组织合理性。模型对象模型对象封装了应用程序的数据,并定义操控和处理该数据的逻辑
2016-02-19 14:47:39
947
转载 KVC 与 KVO 理解
KVC 与 KVO 是 Objective C 的关键概念,个人认为必须理解的东西,下面是实例讲解。Key-Value Coding (KVC)KVC,即是指 NSKeyValueCoding,一个非正式的 Protocol,提供一种机制来间接访问对象的属性。KVO 就是基于 KVC 实现的关键技术之一。一个对象拥有某些属性。比如说,一个 Person 对象有一个 na
2016-02-18 23:47:33
389
转载 JSPatch – 动态更新iOS APP
JSPatch是最近业余做的项目,只需在项目中引入极小的引擎,就可以使用JavaScript调用任何Objective-C的原生接口,获得脚本语言的能力:动态更新APP,替换项目原生代码修复bug。用途是否有过这样的经历:新版本上线后发现有个严重的bug,可能会导致crash率激增,可能会使网络请求无法发出,这时能做的只是赶紧修复bug然后提交等待漫长的AppStore审核,再
2016-02-18 21:59:51
404
转载 继承自NSObject的不常用又很有用的函数(2)
函数调用Objective-C是一门动态语言,一个函数是由一个selector(SEL),和一个implement(IML)组成的。Selector相当于门牌号,而Implement才是真正的住户(函数实现)。和现实生活一样,门牌可以随便发(@selector(XXX)),但是不一定都找得到住户,如果找不到系统会给程序几次机会来程序正常运行,实在没出路了才会抛出异常。下图是objc
2016-02-18 20:27:06
823
转载 Objective-C中的instancetype和id区别
一、什么是instancetypeinstancetype是clang 3.5开始,clang提供的一个关键字,表示某个方法返回的未知类型的Objective-C对象。我们都知道未知类型的的对象可以用id关键字表示,那为什么还会再有一个instancetype呢?二、关联返回类型(related result types)根据Cocoa的命名规则,满足下述规则的方法:1、类方法中,以alloc或
2016-02-17 22:01:50
375
转载 MVC,MVP 和 MVVM 的图示
作者: 阮一峰日期: 2015年2月 1日复杂的软件必须有清晰合理的架构,否则无法开发和维护。MVC(Model-View-Controller)是最常见的软件架构之一,业界有着广泛应用。它本身很容易理解,但是要讲清楚,它与衍生的 MVP 和 MVVM 架构的区别就不容易了。昨天晚上,我读了《Scaling Isomorphic Javascript C
2016-02-17 21:16:08
644
转载 iOS: 枚举类型 enum,NS_ENUM,NS_OPTIONS
一般情况下,我们采用C风格的enum关键字可以定义枚举类型。[cpp] view plain copyenum{ UIViewAnimationTransitionNone, UIViewAnimationTransitionFlipFromLeft, UIViewAnimationTr
2016-02-17 20:35:41
658
转载 JavaScript世界的一等公民 - 函数
简介在很多传统语言(C/C++/Java/C#等)中,函数都是作为一个二等公民存在,你只能用语言的关键字声明一个函数然后调用它,如果需要把函数作为参数传给另一个函数,或是赋值给一个本地变量,又或是作为返回值,就需要通过函数指针(function pointer)、代理(delegate)等特殊的方式周折一番。而在JavaScript世界中函数却是一等公民,它不仅拥有一切传统函数
2016-01-29 22:54:08
399
JQUERY权威指南(完整版,附源码)
2012-02-23
Two Pass Scaling
2012-02-21
ASP.NET MVC Tabbed Menu Control
2012-02-14
vs_upgrade_enabler.exe
2012-02-03
cocoa设计模式(Cocoa Design Patterns)[英文版].pdf
2011-10-17
JAVA网络编程.第3版.哈诺德著.扫描版.含源码
2015-03-19
[网络游戏服务器编程].(韩)全洪.扫描版
2012-09-05
Apress.Pro.HTML5.Programming.2nd.Edition
2012-04-17
AnimeCall(来电动漫大头贴)
2012-02-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人