
ios开发
bravegogo
知行合一,积学养气
展开
-
Xcode中other linker flag的设置
-all_load 加载静态库文件中的所有成员;-ObjC 加载静态库文件中的一个类或者分类的所有成员;-force_load 加载指定路径的静态库文件中的成员。so,在使用runtime加载类或者方法时,要使用这些设置中的某个,以供调用。原创 2014-02-26 17:00:14 · 856 阅读 · 0 评论 -
iOS 中 点击事件响应的方法hitTest与pointInside
当点击手机屏幕时,传感器会将响应传给系统,系统将响应事件放在事件队列中。最终,传给响应的UIView, UiView 调用-(id)hitTest:(CGPoint)point withEvent:(UIEvent *)event hitTest:withEvent:调用过程调用当前视图的pointInside:withEvent:方法判断触摸点是否在当前视图内;原创 2014-02-25 22:25:12 · 1842 阅读 · 0 评论 -
iOS内存告警情况下地内存处理
在iOS6 : viewDidUnload事件在iOS6下任何情况都不会被触发,所以,处理放到didReceiveMemoryWarning中执行。代码如下- (void)didReceiveMemoryWarning{ [super didReceiveMemoryWarning]; // Dispose of any resources that c原创 2014-02-28 10:34:55 · 761 阅读 · 0 评论 -
一个异步网络请求的坑:关于NSURLConnection和NSRunLoopCommonModes
一个异步网络请求的坑:关于NSURLConnection和NSRunLoopCommonModes 我们开发App时,常常需要异步下载网络资源或者实现REST API调用,目前流行的HTTP库有ASIHTTPRequest(已经停止开发维护)和AFNetWorking。两者实现异步网络请求的方式不太相同,ASIHTTPRequest使用的是NSOperation+CFNet转载 2015-11-09 13:53:58 · 557 阅读 · 0 评论 -
mac &ios 获取cup &内存 值
float cpu_usage(){ kern_return_t kr; task_info_data_t tinfo; mach_msg_type_number_t task_info_count; task_info_count = TASK_INFO_MAX; kr = task_info(mach_task_self(),原创 2015-11-09 14:54:12 · 560 阅读 · 0 评论 -
OS安全系列之一:HTTPS2
上一篇《iOS安全系列之一:HTTPS》被CocoaChina转载,还顺便上了下头条: 打造安全的App!iOS安全系列之 HTTPS,但那篇文章只是介绍了比较偏应用的初级知识,对于想要深入了解HTTPS的同学来说是远远不够的,刚好本人最近工作上也遇到并解决了一些HTTPS相关的问题,以此为契机,决定写这篇更深入介绍HTTPS的文章。本文分为以下五节:中间人攻击:介绍中间人转载 2015-12-30 19:41:48 · 1755 阅读 · 0 评论 -
URL filtering for UIWebView on the iPhone
本文译者:candeladiao,原文:URL filtering for UIWebView on the iPhone说明:译者在做app开发时,因为页面的javascript文件比较大导致加载速度很慢,所以想把javascript文件打包在app里,当UIWebView需要加载该脚本时就从app本地读取,但UIWebView并不支持加载本地资源。最后从下文中找到了解决方法,第一次翻译转载 2015-12-30 19:43:46 · 410 阅读 · 0 评论 -
iOS url重定向
使用NSURLConnetion类的NSURLConnectionDataDelegate委托NSURLConnectionDataDelegate委托中的这个方法-(void) connection:(NSURLConnection *)connection willSendRequest:(NSURLRequest *)reques redirectRespo原创 2016-03-02 13:17:06 · 1138 阅读 · 0 评论 -
iOS 中单例写法
static AccountManager *DefaultManager = nil; + (AccountManager *)defaultManager { if (!DefaultManager) DefaultManager = [[self allocWithZone:NULL] init]; return Defa原创 2016-03-02 13:45:07 · 346 阅读 · 0 评论 -
iOS 中 set,get方法
set方法:-(void)setName:(NSString *)name{ if (_name != name) { [_name release]; [name retain]; _name = name; }} get方法:-(UILabel *)title原创 2016-03-02 13:46:34 · 3133 阅读 · 0 评论 -
谈Objective-C Block的实现
转自唐巧的博客前言这里有关于block的5道测试题,建议你阅读本文之前先做一下测试。 先介绍一下什么是闭包。在wikipedia上,闭包的定义)是: In programming languages, a closure is a function or reference to a function together with a referenc转载 2016-03-02 14:29:12 · 380 阅读 · 0 评论 -
ARC下OC对象和CF对象之间的桥接(bridge)
在开发iOS应用程序时我们有时会用到Core Foundation对象简称CF,例如Core Graphics、Core Text,并且我们可能需要将CF对象和OC对象进行互相转化,我们知道,ARC环境下编译器不会自动管理CF对象的内存,所以当我们创建了一个CF对象以后就需要我们使用CFRelease将其手动释放,那么CF和OC相互转化的时候该如何管理内存呢?答案就是我们在需要时可以使用__bri原创 2016-03-02 19:20:29 · 618 阅读 · 0 评论 -
Objective-C 和 Core Foundation 对象相互转换的内存管理总结
iOS允许Objective-C 和 Core Foundation 对象之间可以轻松的转换,拿 NSString 和 CFStringRef 来说,直接转换豪无压力:[cpp] view plain copy print?CFStringRef aCFString = (CFStringRef)aNSString; NSString转载 2016-03-02 19:30:08 · 288 阅读 · 0 评论 -
ios frame和bounds
frame: 该view在父view坐标系统中的位置和大小。(参照点是,父亲的坐标系统) bounds:该view在本地坐标系统中的位置和大小。(参照点是,本地坐标系统,就相当于ViewB自己的坐标系统,以0,0点为起点) center:该view的中心点在父view坐标系统中的位置和大小。(参照电是,父亲的坐标系统)我个人认为,bounds稍微有点原创 2016-03-02 23:44:42 · 268 阅读 · 0 评论 -
UIView与CALayer的区别,很详细
研究Core Animation已经有段时间了,关于Core Animation,网上没什么好的介绍。苹果网站上有篇专门的总结性介绍,但是似乎原理性的东西不多,看得人云山雾罩,感觉,写那篇东西的人,其实是假设读的人了解界面动画技术的原理的。今天有点别的事情要使用Linux,忘掉了ssh的密码,没办法重新设ssh,结果怎么也想不起来怎么设ssh远程登陆了,没办法又到网上查了一遍,太浪费时间了,痛感忘转载 2016-03-02 23:50:08 · 245 阅读 · 0 评论 -
iOS开发UI篇—CAlayer层的属性
转载地址 :http://www.cnblogs.com/wendingding/p/3800736.html一、position和anchorPoint1.简单介绍CALayer有2个非常重要的属性:position和anchorPoint@property CGPoint position;用来设置CALayer在父层中的位置以父层的左上角为原点(0, 0) @转载 2016-03-03 10:11:31 · 332 阅读 · 0 评论 -
GCD
基础知识,block是很多高级特性的基础,包括GCD,ReactiveCocoa。GCD操作方式有两种: 同步dispatch_sync(, ), 异步dispatch_async(, ).同步则是等block代码执行完毕才回跳转到方法下一步,异步则是直接顺序执行完当前方法,线程处理block。串行和并行队列介绍: serial queues(串行队列)又称私有调度队列转载 2016-02-02 18:16:39 · 398 阅读 · 0 评论 -
如何写线程安全的方法
在没有GCD之前,处理同步可以用@synchronized或NSLock这种方式来加锁。但是效率上就不尽如人意。 如何用GCD写好用的线程安全方法? _queue=dispatch_queue_create("com.navy.queue", NULL);- (NSString)someString{ __block NSString *str; dispatch_s转载 2016-02-02 18:17:57 · 567 阅读 · 0 评论 -
signal exception
IOS 现成的函数 NSSetUncaughtExceptionHandler 用来做异常处理,但功能非常有限,引起崩溃的大多数原因如:内存访问错误,重复释放等错误 , 这种错误它抛出的是Signal,所以必须要做Signal处理。 看附件代码:原创 2016-02-04 14:52:32 · 860 阅读 · 0 评论 -
iOS 崩溃日志 Backtrace的符号化
iOS 崩溃日志 Backtrace的符号化iOS的崩溃日志配合dsym文件可以找到崩溃时的backtrace,这是解决崩溃的最重要的信息.如果是在同一台mac上打包, 导入crash log时候会自动将backtrace符号化,可以看到方法名, 文件名和行号但是,有时候发版的包不是在你的mac上打包的,xcode找不到对应的符号表, backtrace没能符号化如下所示:转载 2016-02-04 13:11:58 · 4712 阅读 · 0 评论 -
OC的类对象 与 类的加载方法和初始化方法
1.类也是个对象类是一个对象是Class类型的对象简称类对象Class类型的定义// 一个任意的类型,表示一个Objective-C类 typedef struct objc_class *Class; 类名就代表着类对象,每个类只有一个类对象 获取类对象// 获取类对象两种方式person1 和 person2 Class person1 =转载 2016-03-03 22:09:05 · 1267 阅读 · 0 评论 -
NSMutableArray 与 block
如果局部变量是数组或者指针的时候只复制这个指针,两个指针指向同一个地址,block只修改指针上的内容。如:NSMutableArray *mArray = [NSMutableArray arrayWithObjects:@"a",@"b",@"abc",nil]; NSMutableArray *mArrayCount = [NSMutableArray arr原创 2016-03-03 23:05:05 · 2770 阅读 · 0 评论 -
ios中集合遍历方法的比较和技巧
ios中集合遍历方法的比较和技巧我是前言集合的遍历操作是开发中最常见的操作之一,从C语言经典的for循环到利用多核cpu的优势进行遍历,开发中ios有若干集合遍历方法,本文通过研究和测试比较了各个操作方法的效率和优略势,并总结几个使用集合遍历时的小技巧。ios中常用的遍历运算方法遍历的目的是获取集合中的某个对象或执行某个操作,所以能满足这个条件的方法都可以作转载 2016-02-18 18:59:30 · 399 阅读 · 0 评论 -
64-bit 与32-bit 简单数据类型的坑
64-bit Tips终究还是来了。Apple下发了支持64位的最后通牒:As we announced in October, beginning February 1, 2015 new iOS apps submitted to the App Store must include 64-bit support and be built with the iOS 8转载 2016-02-18 19:04:25 · 1305 阅读 · 0 评论 -
调用ios私有方法,而不被审查出来的方法
简述:1. 动态的生成私有方法的方法名字,例如,用几个str串 动态的拼接成 方法名字。或者将方法名字加密写着文件中,只有在运行时,读取,解密 加载 调用。2. 用@selecter()进行调用。原创 2016-02-18 19:31:57 · 2631 阅读 · 0 评论 -
iOS 集合的深复制与浅复制
概念对象拷贝有两种方式:浅复制和深复制。顾名思义,浅复制,并不拷贝对象本身,仅仅是拷贝指向对象的指针;深复制是直接拷贝整个对象内存到另一块内存中。一图以蔽之再简单些说:浅复制就是指针拷贝;深复制就是内容拷贝。集合的浅复制 (shallow copy)集合的浅复制有非常多种方法。当你进行浅复制时,会向原始的集合发送retain消息,引用计数转载 2016-03-05 15:11:45 · 295 阅读 · 0 评论 -
run loop
原文:https://github.com/ming1016/study/wiki/CFRunLoop简单的说run loop是事件驱动的一个大循环,如下代码所示int main(int argc, char * argv[]) { //程序一直运行状态 while (AppIsRunning) { //睡眠状态,等待唤醒事件转载 2016-03-05 16:50:34 · 348 阅读 · 0 评论 -
apple用什么方式实现对一个对象的KVO
Apple 的文档对 KVO 实现的描述:Automatic key-value observing is implemented using a technique called isa-swizzling... When an observer is registered for an attribute of an object the isa pointer of the ob转载 2016-02-19 17:44:22 · 1463 阅读 · 0 评论 -
黑幕背后的Autorelease
黑幕背后的Autorelease我是前言Autorelease机制是iOS开发者管理对象内存的好伙伴,MRC中,调用[obj autorelease]来延迟内存的释放是一件简单自然的事,ARC下,我们甚至可以完全不知道Autorelease就能管理好内存。而在这背后,objc和编译器都帮我们做了哪些事呢,它们是如何协作来正确管理内存的呢?刨根问底,一起来探究下黑幕背后的Au转载 2016-02-19 19:35:24 · 384 阅读 · 0 评论 -
微信iOS卡顿监控系统
原创 2015-09-10 guoling WeMobileDev引子微信 iOS 团队在值班的时候,时不时会收到这样的卡顿反馈:“用户A 刚才碰到从后台切换前台卡了一下,最近偶尔会遇到几次”、“用户B 反馈点对话框卡了五六秒”、“现网有用户反馈切换 tab 很卡”。这些反馈有几个特点,导致跟进困难:不易重现。可能是特定用户的手机上才转载 2016-03-05 22:03:57 · 1369 阅读 · 0 评论 -
iOS微信小视频优化心得
iOS微信小视频优化心得 原文来自微信公众号: 微信微信WeMobileDev小视频是微信6.0版本重大功能之一,在开发过程中遇到不少问题。本文先叙述小视频的产品需求,介绍了几个实现方案,分析每个方案的优缺点,最后总结出最优的解决方案。小视频播放需求可以同时播放多个视频用户操作界面时视频可以继续转载 2016-03-05 21:49:05 · 2074 阅读 · 0 评论 -
Mac&iOS Socket编程
转自 https://github.com/kejinlu/objc-doc/blob/master/Socket%E7%BC%96%E7%A8%8B.md大纲一.Socket简介二.BSD Socket编程准备1.地址2.端口3.网络字节序4.半相关与全相关5.网络编程模型三.socket接口编程示例四.使用select五.使用kqueue六.使用流注转载 2016-03-20 20:32:25 · 923 阅读 · 0 评论 -
Iphone开发-NSdata 与 NSString,Byte数组,UIImage 的相互转换
[cpp] view plain copy print?1. NSData 与 NSString NSData-> NSString NSString *aString = [[NSString alloc] initWithData:adataencoding:NSUTF8StringEncoding];转载 2016-03-20 20:39:15 · 355 阅读 · 0 评论 -
iOS开发网络篇—NSURLConnection基本使用
http://www.cnblogs.com/wendingding/p/3813572.html一、NSURLConnection的常用类(1)NSURL:请求地址(2)NSURLRequest:封装一个请求,保存发给服务器的全部数据,包括一个NSURL对象,请求方法、请求头、请求体....(3)NSMutableURLRequest:NSURLR转载 2016-03-20 22:04:55 · 294 阅读 · 0 评论 -
OC对象的内存销毁步骤
General InformationWe take advantage of the documented Deallocation Timeline (WWDC 2011, Session 322, 36:22).1. -release to zero* Object is now deallocating and will die.* New __we原创 2016-03-23 19:24:27 · 5230 阅读 · 0 评论 -
IOS开发UI篇--使用CAShapeLayer实现复杂的View的遮罩效果
一、案例演示最近在整理一个聊天的项目的时候,发送图片的时候,会有一个三角的指向效果,指向这张图片的发送者。服务端返回给我们的图片只是一张矩形的图片,我们如何把一张矩形的图片或者View,加上一层自定义遮罩效果,就是本文要讲的内容。效果演示如下:第一张是一个View的遮罩效果,第二张是UIImageView的遮罩效果。 二、实现机制在每一View的layer层中有一个mask属性,他转载 2016-03-23 22:27:07 · 528 阅读 · 0 评论 -
copy与mutableCopy
记住:1.对于容器类本身,与非容器类对象的结论相同,即如果对一不可变对象复制,copy是指针复制(浅拷贝)和mutableCopy就是对象复制(深拷贝)。如果是对可变对象复制,都是深拷贝,但是copy返回的对象是不可变的。关键要注意的是复制后容器内对象的变化,比如添加、删除元素,修改某个元素的值。2.对于容器而言,其元素对象始终是指针复制。如果需要元素对象也转载 2016-03-05 15:10:17 · 702 阅读 · 1 评论 -
小心别让圆角成了你列表的帧数杀手
原文 http://www.cocoachina.com/ios/20150803/12873.html前言在iOS的世界,圆角无处不在,而且必须存在。因为圆角是符合人类视觉安全体验的,圆角让人觉得舒适,而方角在潜意识层次是具有伤害体验的,因为尖尖的东西总是有可能对人造成伤害的,所以我们更喜欢圆角。在我之前的文章中讲过,在iOS的中设置圆角是非常容易的一件事情,这也体现出苹果也是非转载 2016-03-13 17:01:59 · 298 阅读 · 0 评论 -
iOS开发UI篇—核心动画简介
一、简单介绍Core Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍。也就是说,使用少量的代码就可以实现非常强大的功能。Core Animation是跨平台的,可以用在Mac OS X和iOS平台。Core Animation的动画执行过程都是在后台操作的,不会阻塞主线程。不阻塞主线程,可以理解为在执行动画的转载 2016-03-13 21:17:57 · 255 阅读 · 0 评论 -
iOS开发UI篇—核心动画(基础动画)
一、简单介绍CAPropertyAnimation的子类属性解析:fromValue:keyPath相应属性的初始值toValue:keyPath相应属性的结束值随着动画的进行,在长度为duration的持续时间内,keyPath相应属性的值从fromValue渐渐地变为toValue如果fillMode=kCAFillModeForwards和removedOnComle转载 2016-03-13 21:19:09 · 283 阅读 · 0 评论