iOS开发进阶
jiangrenju
为梦醒而奋斗!
展开
-
为什么设置了view的Opaque性能会提高(GPU)
转自:http://blog.csdn.net/u011452278/article/details/51555806Opaque该属性为BOOL值,UIView的默认值是YES,但UIButton等子类的默认值都是NO。opaque表示当前UIView是否不透明,不过搞笑的是事实上它却决定不了当前UIView是不是不透明,比如你将opaque设为NO,该UIView照样是可见的(转载 2017-03-14 19:40:25 · 729 阅读 · 0 评论 -
iOS 多播委托(GCDMulticastDelegate)
转自:http://www.cnblogs.com/dagehaoshuang/p/4043264.html在IOS中为了实现回调一般有如下几个方法:delegate通知中心blockKVO(较特殊的回调,姑且也算一种)以上四种中在我自己的项目中比较常用的就是delegate和block了。在现实中回调的需求也分两种一对一的回调。一对多的回调。转载 2015-01-27 14:35:39 · 1950 阅读 · 0 评论 -
iOS--LLDB调试命令简要使用
LLDB调试命令初探MAR 17TH, 2014如果你在平时的开发中从未使用过调试器,那你恐怕不知道一个调试器的作用有多大。你可能只满足于通过printf或者NSLog输出信息用于调试。但你只要试着尝试在调试中开始使用调试器LLDB,你会马上感受到调试器给你带来的便利。LLDB是LLVM转载 2015-01-27 11:32:09 · 684 阅读 · 0 评论 -
如何更安全的使用Block
前段时间,在公司的项目中发现了内存泄露。查到最后发现是由于没有正确使用Block导致的内存引用循环。简单的解决方案就是补上关键字__weak。那么问题来了,为何[UIView animateWithDuration:animations:completion:]或者GCD中可以不需要声明__weak呢? 如何选择回调方式在讲这个问题之前,我们先看看Objcio上是怎么判断使转载 2015-01-27 12:52:30 · 506 阅读 · 0 评论 -
关于OS端/iOS端QQ表情白边处理方案
转自:http://www.yixieshi.com/ucd/12314.html也许你已经发现了,MacQQ的系统表情有两次的更换,分别是2.1版本和2.2版本。而更换的主要原因,是由于在2.1版本时QQ表情的白边问题,因此我们当时选择了折中的方式,使用了在Mac端展现并不理想的一套系列表情。直到2.2版本,Leo同学对QQ表情的白边进行了优化处理,才使得MacQQ又回到了大家熟悉的经典转载 2014-11-21 13:42:28 · 2285 阅读 · 0 评论 -
iOS解析iPhone内省机制
转自:点击打开链接iPhone内省机制是本文要介绍的内容,从评估继承关系、方法实现和协议遵循、对象的比较等方面来详细的学习iPhone内省机制,我们先来看详细内容。内省(Introspection)是面向对象语言和环境的一个强大特性,Objective-C和Cocoa在这个方面尤其的丰富。内省是对象揭示自己作为一个运行时对象的详细信息的一种能力。这些详细信息包括对象在继承树上的位置转载 2014-10-17 17:31:30 · 587 阅读 · 0 评论 -
最快Android模拟神器Genymotion之Eclipse插件安装过程
转自:http://mobile.51cto.com/aengine-404920.htm最近看安卓运行, 真机有时候数据线也不给力, 就发现这个全世界最快的安卓模拟器, 确实很快. 因为它是运行在VirtualBox虚拟机中的, 所以先装个VirtualBox虚拟机, 安装方法, 比较简单, 不做赘述, 其次就是去Genymotion的官网去注册下载安装包, http://www.g转载 2014-11-18 15:48:43 · 843 阅读 · 0 评论 -
Xcode6 怎么创建一个不带storyboard的空白工程?
升级了Xcode6以后会自带一个原创 2014-11-18 15:34:36 · 1454 阅读 · 0 评论 -
IAP 苹果官方文档翻译 超级详解
gangcai一、In App Purchase概览Store Kit代表App和App Store之间进行通信。程序将从App Store接收那些你想要提供的产品的信息,并将它们显示出来供用户购买。当用户需要购买某件产品时,程序调用StoreKit来收集购买信息。Store Kit的API只是为程序添加In App Purchase功能的一小部分。你需要决定如何去记录转载 2014-10-30 14:59:35 · 736 阅读 · 0 评论 -
转载iOS开发一年知识点总结
IOS开发总结 by mhmwadm 2013/4/101 XCode快捷键..............................................................................................................................................转载 2014-10-13 14:30:16 · 1084 阅读 · 0 评论 -
iOS 在UILabel显示不同的字体和颜色(转)
在项目开发中,我们经常会遇到在这样一种情形:在一个UILabel 使用不同的颜色或不同的字体来体现字符串,在iOS 6 以后我们可以很轻松的实现这一点,官方的API 为我们提供了UILabel类的attributedText, 使用不同颜色和不同字体的字符串,我们可以使用NSAttributedText 和 NSMutableAttributedText 类来实现。现实代码:转载 2014-11-14 09:05:56 · 507 阅读 · 0 评论 -
AFNetworking 使用总结 (用法+JSON解析)
转自:http://blog.sina.com.cn/s/blog_af73e7a70102v0l0.htmlAFNetwork是一个轻量级的网络请求api类库。是以NSURLConnection, NSOperation和其他方法为基础的。 下面这个例子是用来处理json请求的: NSURL *url = [NSURL URLWithString:转载 2014-12-18 11:28:45 · 902 阅读 · 0 评论 -
从堆栈解析OC中的Block
转自:http://www.cocoachina.com/ios/20150109/10891.html1.相关概念在这篇笔记开始之前,我们需要对以下概念有所了解。1.1 操作系统中的栈和堆注:这里所说的堆和栈与数据结构中的堆和栈不是一回事。我们先来看看一个由C/C++/OBJC编译的程序占用内存分布的结构: 栈区(stack):由系统自转载 2015-01-12 17:42:40 · 2653 阅读 · 0 评论 -
NSDictionary实现原理
转自:http://blog.csdn.net/linshaolie/article/details/41494303 NSDictionary(字典)是使用 hash表来实现key和value之间的映射和存储的, hash函数设计的好坏影响着数据的查找访问效率。数据在hash表中分布的越均匀,其访问效率越高。而在Objective-C中,通常都是利用NSString 来作为键转载 2017-02-23 17:55:41 · 6178 阅读 · 0 评论 -
Core Foundation(C对象)与 Foundation(OC对象)之间的转换 理解
Core Foundation 框架Core Foundation框架 (CoreFoundation.framework) 是一组C语言接口,它们为iOS应用程序提供基本数据管理和服务功能。下面列举该框架支持进行管理的数据以及可提供的服务:群体数据类型 (数组、集合等)程序包字符串管理日期和时间管理原始数据块管理偏好管理URL及数据流操作线程和RunLoo转载 2014-08-16 15:29:11 · 510 阅读 · 0 评论 -
iOS图片AVMakeRectWithAspectRatioInsideRect妙用
转自:http://www.jianshu.com/p/827090aa933b?utm_campaign=maleskine&utm_content=note&utm_medium=writer_share&utm_source=weibo1.神器计算图片位置的函数:AVMakeRectWithAspectRatioInsideRect()是根据image的比例进行居中显示, 如转载 2015-04-28 10:32:50 · 6260 阅读 · 0 评论 -
iOS中消息分发 objc_msgSend的作用
转自:http://book.51cto.com/art/201403/432144.htm第11条:理解objc_msgSend的作用在对象上调用方法是Objective-C中经常使用的功能。用Objective-C的术语来说,这叫做“传递消息”(pass a message)。消息有“名称”(name)或“选择子”(selector),可以接受参数,而且可能还有返回转载 2015-03-19 18:25:34 · 1172 阅读 · 0 评论 -
iOS锁synchronized OSSpinlock NSLock
原文: http://perpendiculo.us/2009/09/synchronized-nslock-pthread-osspinlock-showdown-done-right/转自: http://blog.csdn.net/meegomeego/article/details/39546765[objc] view plaincopy转载 2015-03-19 17:28:09 · 2556 阅读 · 2 评论 -
ios---githup上的优秀开源库
根据star排名:https://github.com/search?l=Objective-C&p=2&q=location%3Achina&ref=simplesearch&type=Repositories&utf8=%E2%9C%93原创 2015-03-03 09:56:05 · 505 阅读 · 0 评论 -
iOS--main函数简析
转自:http://www.cnblogs.com/EverNight/p/3820981.html 如同任何基于C的应用程序,程序启动的主入口点为iOS应用程序的main函数。在iOS应用程序,main函数的作用是很少的。它的主要工作是控制UIKit framework。因此,你在Xcode中创建任何新的项目都配备了一个默认的主函数。除了少数特例外,你永远不应该改变这个函数的实现。转载 2015-01-26 14:58:23 · 526 阅读 · 0 评论 -
NSTimer容易陷进去的坑
前面个项目有用NSTimer做个短信验证码的定时器, 遇到了这个问题. 关于NSTimer, 有一点需要特别注意:NSTimer会持有target(Remember that NSTimer Retains Its Target)。一个NSTimer对象在触发时会保留目标直到计时器被显式的设置无效。(NSTimer invalidate)如果调用者保存了NST转载 2015-01-23 14:09:36 · 1088 阅读 · 0 评论 -
iOS程序猿编写优质代码的小总结
转自:https://github.com/objc-zen/objc-zen-bookZen and the Art of the Objective-C CraftsmanshipPrefaceSwiftFor the CommunityAuthorsConditionalsYoda conditionsnil and BOOL checksGold转载 2015-01-04 14:09:45 · 2488 阅读 · 0 评论 -
iOS XMPP App run background (by voip)
本文转自stackoverflo:http://stackoverflow.com/questions/5257580/iphone-xmpp-app-run-background原创 2014-10-16 11:35:04 · 2887 阅读 · 0 评论 -
NSPredicate谓词的用法 数组过滤
转自:NSPredicate是什么NSPredicate:谓词字面翻译是这个意思,但是我觉得谓词这个词太难以理解了NSPredicate的具体用途应该还是过滤,类似于过滤条件之类的,相当于一个主语的谓语,所以说会是谓词这个名字。(我是这么理解的)NSPredicate的创建我们看到创建谓词使用类方法predicateWithFormat: (NSStri转载 2014-10-30 15:39:18 · 1233 阅读 · 0 评论 -
android开发初期常见错误(待续更新)
今天在写Android代码的过程中,编译器一直报错,错误出在这一行代码:setContentView(R.layout.activity_main)提示信息是:activity_main cannot be resolved or is not a field我就觉得很奇怪,我在R.layout里面明明看到自动生成了默认的布局activity_main,为什么在这里引用就出错呢原创 2014-10-10 09:10:07 · 505 阅读 · 0 评论 -
关于block的实现和注意
转自:http://blog.csdn.net/jasonblog/article/details/7756763?reloadBlock是iOS4.0+ 和Mac OS X 10.6+ 引进的对C语言的扩展,用来实现匿名函数的特性。就是创建闭包, 什么是闭包呢, 我觉得阮一峰的一句话解释简洁明了:闭包就是能够读取其它函数内部变量的函数.具体实现机理看上面那篇博客, 可以学到很多东转载 2014-11-14 15:52:47 · 538 阅读 · 0 评论 -
IOS学习笔记 -- 音频视频
IOS支持的音频格式AAC,ALAC,IMA4,linear,MP3,caf(苹果推荐格式),在使用音频时需要引入AVFoundation.framework,然后使用AVAudioPlayer类:AVAudioPlayer *audioplayer;NSString *filePath = [[NSBundle mainBundle]pathForResource:@转载 2014-08-18 10:18:13 · 430 阅读 · 0 评论 -
Sqlite常用语句
一、基础1、说明:创建数据库CREATE DATABASE database-name 2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNw转载 2014-08-27 14:01:54 · 1237 阅读 · 0 评论 -
iOS 事件响应链机制 及 触摸事件(hitTest)
对于IOS设备用户来说,他们操作设备的方式主要有三种:触摸屏幕、晃动设备、通过遥控设施控制设备。对应的事件类型有以下三种:1、触屏事件(Touch Event)2、运动事件(Motion Event)3、远端控制事件(Remote-Control Event)响应者链条概念: iOS系统检测到手指触摸(Touch)操作时会将其打包成一个UIEvent对象,并放入当前转载 2014-08-27 11:03:30 · 1171 阅读 · 0 评论 -
iOS 两个程序之间的跳转
转自CSDN博客: http://blog.csdn.net/benbenxiongyuan/article/details/8955520转载 2014-08-26 15:41:51 · 503 阅读 · 0 评论 -
UIView的layoutSubviews和drawRect方法何时调用
转自:http://jianyu996.blog.163.com/blog/static/112114555201305113018814/首先两个方法都是异步执行。layoutSubviews方便数据计算,drawRect方便视图重绘。 layoutSubviews在以下情况下会被调用: 1、init初始化不会触发layoutSubviews。转载 2014-08-22 16:21:44 · 369 阅读 · 0 评论 -
NSNotification、delegate和KVO的区别
【NSNotification、delegate和KVO的区别】1.效率肯定是delegate比nsnotification高。2. delegate方法比notification更加直接,最典型的特征是,delegate方法往往需要关注返回值, 也就是delegate方法的结果。比如-windowShouldClose:,需要关心返回的是yes还是no。所以delegate方法往往包含 s转载 2014-08-21 13:39:17 · 866 阅读 · 0 评论 -
iOS性能优化的一些操作(补充)
缓存图片: iOS中从程序bundle中加载UIImage一般有两种方法。第一种比较常见:imageNamed。第二种方法很少使用:imageWithContentsOfFile为什么有两种方法完成同样的事情呢? imageNamed的优点在于可以缓存已经加载的图片。苹果的文档中有如下说法: This method looks in the system cache转载 2014-08-21 11:25:50 · 513 阅读 · 0 评论 -
快速排序
上一节的冒泡排序可以说是我们学习第一个真正的排序算法,并且解决了桶排序浪费空间的问题,但在算法的执行效率上却牺牲了很多,它的时间复杂度达到了O(N2)。假如我们的计算机每秒钟可以运行10亿次,那么对1亿个数进行排序,桶排序则只需要0.1秒,而冒泡排序则需要1千万秒,达到115天之久,是不是很吓人。那有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。转载 2014-08-21 09:09:32 · 438 阅读 · 0 评论 -
IOS 字符串中去除特殊符号 stringByTrimmingCharactersInSet
先上个例子:NSString * str1 =[nameInput.text stringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceAndNewlineCharacterSet]];NSString * str2 =[passwdInput.text stringByTrimmingCharactersInSet:[NSC转载 2014-08-08 12:05:07 · 516 阅读 · 0 评论 -
颜色值 # 转 成RGB的方法
颜色值 # 转 成RGB的方法 分享类型:游戏开发相关将一个 NSString = @“#FF0000”转换成 RGB的方法NSString *color = @“#FF0000”;// 转换成标准16进制数 [color replaceCharactersInRange:[color rangeOfString:@"#" ]转载 2014-04-30 11:53:06 · 4423 阅读 · 0 评论 -
IOS6新特性集合视图<UICollectionView>CircleLayout实践
针对IOS6提出的全新特性UICollectionView做了一个实际的使用,有很多地方还是很有意义的,定制化貌似更加的灵活了,这样对于大量的自定义来说更是“万事俱备,东风已来”矣。在Apple Developer 中心也有Demo,那个Demo也是很有意思的,文章最后会给出下载地址。一、战果展示,呵呵~~实现了一个圆形的UICollectionView的使用,当触摸非圆周的部分时,C转载 2014-08-14 09:23:59 · 610 阅读 · 0 评论 -
状态栏提示控件的实现原理
现在很多流行的软件都加入了状态栏提示的功能,比如手机qq,微信等,今天我们就一起来看看状态栏提示控件的原理与实现。 一、状态栏提示的实现原理 不知道大家看到状态栏提示控件,第一感觉它是怎么实现的呢? 我们知道即使平时写的view是充满全屏的,也始终不会显示到statusBar的上层的。也就是说statusBar应该是一个特殊的view,始终位于程序的t转载 2014-09-11 10:10:57 · 544 阅读 · 0 评论 -
#define 宏
1.简单的define定义#define MAXTIME 1000一个简单的MAXTIME就定义好了,它代表1000,如果在程序里面写if(i编译器在处理这个代码之前会对MAXTIME进行处理替换为1000。这样的定义看起来类似于普通的常量定义CONST,但也有着不同,因为define的定义更像是简单的文本替换,而不是作为一个量来使用,这个问题在下面反映的尤转载 2014-08-28 17:45:28 · 407 阅读 · 0 评论 -
<objc/runtime.h>中Associative机制(在button以及block传值)
@前段时间面试找工作的时候,面试官问我有没有了解OC语言的动态性,objc/runtime是什么,当时的我真的是一头雾水,只是知道OC动态性,其余的还真没实际的用到过. @回去后百度下:objective-c有两个扩展机制:category和associative。我们可以通过category来扩展方法,但是它有个很大的局限性,不能扩展属性。于是,就有了专门用来扩展属转载 2014-10-09 13:16:27 · 591 阅读 · 0 评论