- 博客(57)
- 收藏
- 关注
转载 iOS微信安装包瘦身
转自:http://www.cocoachina.com/ios/20151211/14562.html前提微信经过多次版本迭代,产生不少冗余代码和无用资源。之前微信也没有很好的手段知道哪个模块增量多少。另外去年10月微信开始做ARC支持,目的是为了减少野指针带来的Crash,但代价是可执行文件增大20%左右。而苹果规定今年6月提交给Appstore的应用必须支持64位
2015-12-11 10:31:56
1660
转载 Objective C运行时(runtime)技术的几个要点总结
转载前言: Objective C的runtime技术功能非常强大,能够在运行时获取并修改类的各种信息,包括获取方法列表、属性列表、变量列表,修改方法、属性,增加方法,属性等等,本文对相关的几个要点做了一个小结。目录:(1)使用class_replaceMethod/class_addMethod函数在运行时对函数进行动态替换或增加新函数
2014-02-18 17:44:46
1075
转载 iOS应用开发最佳实践:编写高质量的Objective-C代码
转载:http://www.cocoachina.com/applenews/devnews/2013/1129/7445.html点标记语法属性和幂等方法(多次调用和一次调用返回的结果相同)使用点标记语法访问,其他的情况使用方括号标记语法。 良好的风格:view.backgroundColor = [UIColor orangeColor];[UI
2013-12-09 16:28:17
965
转载 深入Block(二)
转载:http://www.cocoachina.com/applenews/devnews/2013/0711/6575.html 深度围观block:第一集&第二集本文由破船译自galloway! 深度围观block:第一集 小引还记得之前的两篇文章吗:iOS汇编教程:ARM(1)和iOS汇编教程:ARM(2),里面介绍了Objective-C生成的汇
2013-08-02 19:51:41
791
转载 深入Block(一)
转载:http://www.cocoachina.com/applenews/devnews/2013/0710/6569.html 本文转自破船的博客:小引本周末微博上朋友发了一个关于block的MV,只能说老外太逗了。大家也可以去看看怎么回事:Cocoa Got Blocks。虽然之前也有接触过block,不过没有深入完整的学习过,借此机会来学习一下,顺便翻译几篇block相关的文
2013-08-02 19:50:23
786
转载 Block编程值得注意的那些事儿
转载:http://www.cocoachina.com/macdev/cocoa/2013/0527/6285.html一,前言 block 是在 iOS 4 中引入的新特性,它和 C++ 11 中的 lamba 表达式概念相似,有时候也被称为闭包。经过一段时间的使用,我发现要用对用好 block 还是有不少需要注意的地方,今天就来八一八这些值得注意的事儿。
2013-05-30 16:28:44
571
转载 Objective-C 的“多继承”
转载:http://www.cocoachina.com/newbie/basic/2013/0528/6295.html当单继承不够用,很难为问题域建模时,我们通常都会直接想到多继承。多继承是从多余一个直接基类派生类的能力,可以更加直接地为应用程序建模。但是Objective-C不支持多继承,由于消息机制名字查找发生在运行时而非编译时,很难解决多个基类可能导致的二义性问题。不过其实 Ob
2013-05-30 10:34:29
756
转载 25个增强iOS应用程序性能的提示和技巧--高级篇
在开发iOS应用程序时,让程序具有良好的性能是非常关键的。这也是用户所期望的,如果你的程序运行迟钝或缓慢,会招致用户的差评。然而由于iOS设备的局限性,有时候要想获得良好的性能,是很困难的。在开发过程中,有许多事项需要记住,并且关于性能影响很容易就忘记。本文收集了25个关于可以提升程序性能的提示和技巧。分为3个不同的等级:初级、中级和高级: 高级当且仅当下面这些技巧能够解决问题
2013-05-23 11:21:06
593
转载 25个增强iOS应用程序性能的提示和技巧(初级篇)
在开发iOS应用程序时,让程序具有良好的性能是非常关键的。这也是用户所期望的,如果你的程序运行迟钝或缓慢,会招致用户的差评。然而由于iOS设备的局限性,有时候要想获得良好的性能,是很困难的。在开发过程中,有许多事项需要记住,并且关于性能影响很容易就忘记。 本文收集了25个关于可以提升程序性能的提示和技巧,把性能优化技巧分为3个不同的等级:初级、中级和高级 初级
2013-05-23 11:19:43
557
转载 iOS SDK:iOS调试技巧
转载:http://www.cocoachina.com/newbie/basic/2013/0517/6225.html 为什么你的数组包含3个项目而不是5个?为什么你的游戏运行缓慢?这些都跟调试有关,调试是开发过程中必不可少的一部分。本文所列举了一些重要的调试功能(当然并不全面)可以帮你用更少的时间来解决bug问题。 本文内容主要包括3个方面:使用console
2013-05-21 10:54:20
666
转载 iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
1、UIGestureRecognizer介绍手势识别在iOS上非常重要,手势操作移动设备的重要特征,极大的增加了移动设备使用便捷性。 iOS系统在3.2以后,为方便开发这使用一些常用的手势,提供了UIGestureRecognizer类。手势识别UIGestureRecognizer类是个抽象类,下面的子类是具体的手势,开发这可以直接使用这些手势识别。 UIT
2013-05-10 10:58:35
904
转载 NSPredicate的用法
一般来说这种情况还是蛮多的,比如你从文件中读入了一个array1,然后想把程序中的一个array2中符合array1中内容的元素过滤出来。正常傻瓜一点就是两个for循环,一个一个进行比较,这样效率不高,而且代码也不好看。其实一个循环或者无需循环就可以搞定了,那就需要用搞 NSPredicate这个类了~膜拜此类~1)例子一,一个循环NSArray *arrayFil
2013-05-07 16:52:00
637
转载 IOS开发之__bridge,__bridge_transfer和__bridge_retained
转自:http://blog.csdn.net/sanpintian/article/details/8139878Core Foundation 框架Core Foundation框架 (CoreFoundation.framework) 是一组C语言接口,它们为iOS应用程序提供基本数据管理和服务功能。下面列举该框架支持进行管理的数据以及可提供的服务:群体数据类型
2013-04-24 09:57:48
572
转载 Objective-C的Initialize初始化方法研究
看到一篇讲init和initialize初始化的文章,只是对流程的讲解,其实很简单,大家看一下就明白了。 原文地址:http://kupuk.com/2008/03/23/objective-c-initialize-method/作者:Paul Robinson 有了这个在每个Objective-C程序中都会起作用的附加运行时间,给了它一些动态
2013-04-17 10:04:57
825
转载 25个增强iOS应用程序性能的提示和技巧--中级篇
转自:http://www.cocoachina.com/newbie/tutorial/2013/0412/5980.html本文收集了25个关于可以提升程序性能的提示和技巧,分为3个不同的等级:初级、中级和高级。您也可以点击查看初级篇。 在性能优化时,当你碰到一些复杂的问题,应该注意和使用如下技巧:9.重用和延迟加载View10.缓存、缓存、缓存11.考
2013-04-12 14:10:09
673
转载 深入浅出 Cocoa 之消息
要想很好掌握一门编程语言或者一个架构需要对他的内部有深入了解,下面这篇Cocoa之消息讲的不错,还有第二集。第一集主要讲了基础的Cocoa框架是如何实现消息转发,以及当找不到对应消息的时候如何做的。深入浅出 Cocoa 之消息 罗朝辉(http://blog.csdn.net/kesalin)转载请注明出处在入门级别的ObjC 教程中,我们常对从C++或
2013-04-11 10:53:18
767
转载 iOS中一些常用的宏
收集起来,丢到一个头文件中,这样开发起来就快多啦!我先分享一些,大家可以拿出自己私藏的,盖楼,吼吼~ #define NavigationBar_HEIGHT 44 #define SCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width)#define SCREEN_HEIGHT ([UIScreen mainScre
2013-03-29 11:32:34
849
转载 如何升级程序以适应4英寸的iPhone5显示屏
本文是由 iOS Tutorial 小组成员Adam Burkepile撰写,他是一名全职的软件咨询师和iOS独立开发者。 iPhone 5配备了更大的屏幕——你的程序有更多的使用空间:额外增加了88点(176像素)。 不过这跟之前的Retina显示屏一样,你需要对程序做一些修改,以利用更大的屏幕带来的好处。 如果你的程序还没有更新至适配新的4英寸屏
2013-03-27 10:07:53
915
转载 iOS动画效果和实现
转载:http://www.cocoachina.com/gamedev/2013/0122/5589.html动画效果提供了状态或页面转换时流畅的用户体验,在iOS系统中,咱们不需要自己编写绘制动画的代码,Core Animation提供了丰富的api来实现你需要的动画效果。UIKit只用UIView来展示动画,动画支持UIView下面的这些属性改变:frame b
2013-03-04 09:53:38
837
转载 Ios常用一些小代码整理
转载:http://www.cocoachina.com/newbie/tutorial/2012/1220/5377.html1.判断邮箱格式是否正确的代码//利用正则表达式验证-(BOOL)isValidateEmail:(NSString *)email{NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-
2013-02-04 15:39:34
698
转载 优化UITableView滚动速度
转贴:http://blog.csdn.net/tongzhitao/article/details/7839933在iOS应用中,UITableView应该是使用率最高的视图之一了。iPod、时钟、日历、备忘录、Mail、天气、照片、电话、短信、Safari、App Store、iTunes、Game Center⋯几乎所有自带的应用中都能看到它的身影,可见它的重要性。然而在使用第三方应
2012-12-18 18:51:24
975
转载 UITextField
//初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)]; //设置边框样式,只有设置了才会显示边框样式 text.borderStyle = UITextBorderStyleRoundedRect;
2012-12-06 11:01:30
801
转载 coreText自定义富文本Label by Gphone
转载:转载自DEVDIV博客-History,地址:http://blog.devdiv.com/coretext自定义富文本label.htmlcoreText自定义富文本Label by GphoneUILabel是经常使用的一种控件,iOS上的UILabel已经能很好满足一些需求。比如设置对齐方式,换行模式等等。但如果需求是需要一串字符中不同的字符颜色,字体都单独
2012-12-05 16:09:12
1731
转载 Xcode调试技巧
//转自:http://article.ityran.com/archives/1006有这样一种情形:当我们正在快乐的致力于我们的app时,并且什么看都是无比顺利,但是突然,坑爹啊,它崩溃了。(悲伤地音乐响起)我们需要做的第一件事就是:不要惊慌。修复崩溃不是很困难的。假如你崩溃了,并且胡乱的改些东西,而且还在不停的念着咒语希望bug神奇的自动消
2012-12-04 16:50:00
1984
转载 GDB的调试技巧
转载:http://www.cocoachina.com/bbs/read.php?tid=66525原作地址:http://www.mikeash.com/pyblog/friday-qa-2011-06-17-gdb-tips-and-tricks.html 作者:mikeash 这是作者Friday Q&A 中的一篇。觉得很好于是翻译了一下。 \******
2012-10-24 15:01:02
996
转载 UIApplication深入学习
转发:这个很有用http://www.cocoachina.com/applenews/devnews/2012/1023/4958.html很多时候,我们不需要关心这个类,我们很少继承这个类,偶尔会调用这个类的api来实现一些功能,但是不可否认,这个类是iOS编程中很重要的一个概念。UIApplication的核心作用是提供了iOS程序运行期间的控制和协作工作。每一个程序在运行期
2012-10-24 14:39:15
553
转载 关于Autorelease和RunLoop
学习Iphone开发,Autorelease的何时释放一直是困扰我的一个问题,总觉得大部分文档提到的延迟释放,但是这个延迟感念非常模糊,5s叫延迟还是5min叫延迟?所以总觉得担心我用到标明Autorelease对象的时候由于它坚持不到已经被释放了。最近查了一下Autorelease到底什么时候释放,发现和RunLoop有关,再查RunLoop发现有一大堆的解释,但是感觉大概意思就是RunLoop
2012-10-19 10:28:47
1604
转载 view的加载流程
loadView的用法转自:http://haoxiang.org/page/5/ UIViewController的loadView用UIViewController有一段时间了,才发现以前对loadView的理解完全不到位。假如我们用Xcode新建一个View-based Application,在ViewController.m中加上- (void) lo
2012-09-25 23:45:36
870
原创 强大的C++
这段时间学习Ios和Android开发,所以要学习Object-c和Java语言,先学习的Object-c这个学过的知道有C基础和C++的学习起来算是比较容易,这两天学习java更加有感触,很多都是类似C++的一些改进或者一些功能的更加完整和系统化如:package类似名字空间域,继承的抽象基类和接口类,封装数据结构,多态的使用,都非常的熟悉,学习了Java回头看Object-c又有很
2012-09-06 14:31:45
730
转载 Objective-C KVC机制
这篇KVC的机制写的比较清楚,转载地址:http://blog.csdn.net/omegayy/article/details/73813011. 基本概念MODEL主要是英文文档里面经常出现的一些概念,讲解一下,方便英文文档的阅读。IOS应用开发是遵循MVC设计模式的,Cocoa框架用Object Modeling的规则来规范一个Model的实现。
2012-09-03 15:57:14
983
转载 IOS 如何选择delegate、notification、KVO?
前面分别讲了delegate、notification和KVO的实现原理,以及实际使用步骤,我们心中不禁有个疑问,他们的功能比较类似,那么在实际的编程中,如何选择这些方式呢? 在网上看到一个博客上详细的分析了三者之间的区别以及各自的优势,博文地址为http://blog.shinetech.com/2011/06/14/delegation-notification-and-o
2012-09-03 14:13:46
1141
转载 Xcode调试技巧之二 crash之后的定位问题
转载:http://blog.163.com/gf_zl818/blog/static/8380806820125435918564/论坛里经常有朋友会问Crash的问题。Crash最多的无非就两种,一种就是signal SIGABRT,大概的意思就是发送Message出现问题,信号迷失了。这种的Crash其实是很好定位,Crash了后直接看Console里出的最后日志,比如这
2012-08-16 16:26:42
1180
转载 Xcode调试技巧之一 GDB输出
好吧,年初开始学习ios编程,不得不承认很二 调试一直用nslog 结果打日志有时候很麻烦,最近才学会了用GDB命令来输出一些日志 转载:http://www.cocoachina.com/macdev/tips/2012/0515/4250.htmlXCode 内置GDB,我们可以在命令行中使用 GDB 命令来调试我们的程序。下面将介绍一些常用的命令以及调试技巧。 po 命令
2012-08-16 16:07:53
1692
转载 核心动画渲染架构(Core Animation Rendering Architecture)
转载:http://www.devdiv.com/forum.php?mod=viewthread&tid=123582显而易见,core animation层和cocoa试图有很多相似之处,但是,最大的概念上的不同是,core animation层从不直接渲染到屏幕。显然,NSView和UIView在MVC设计模式中属于视图对象,不过Core animation层实际上是模型对象。虽
2012-08-02 10:53:54
2141
转载 IOS四种保存文件的方式
转载地址:http://blog.csdn.net/tianyitianyi1/article/details/7713103 在iOS开发过程中,不管是做什么应用,都会碰到数据保存的问题。将数据保存到本地,能够让程序的运行更加流畅,不会出现让人厌恶的菊花形状,使得用户体验更好。下面介绍一下数据保存的方式:1.NSKeyedArchiver:采用归档的形式来保存数据,该数据对象需要
2012-08-01 00:16:21
1788
转载 ios 深浅拷贝学习
转载:http://my.oschina.net/jeans/blog/67840首先我们需要有这样的一个前提: [array addObject:obj];这样obj的引用计数会增加1,如果使用remove则obj的引用计数会减一。ios对集合的内存处理就是这样的。那么,假设obj只被array拥有:id temp = [array obj
2012-07-24 17:29:31
577
转载 IOS沙盒(sandbox)机制和文件操作(三)
转载:http://www.oschina.net/ios/302/ios-file-operations1、在Documents里创建目录创建一个叫test的目录,先找到Documents的目录,[cpp] view plain copyNSArray *paths = NSSearchPathForDirectoriesInDomains(NSDoc
2012-07-24 17:02:14
2080
转载 IOS沙盒(sandbox)机制和文件操作(二)
转载:http://www.oschina.net/ios/302/ios-file-operations1、获取程序的Home目录[cpp] view plain copyNSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
2012-07-24 17:01:15
1567
转载 IOS沙盒(sandbox)机制和文件操作(一)
转载:http://my.oschina.net/jackyyang/blog/671271、IOS沙盒机制 IOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等。 1.1、每个应用程序都有自己的存储空间 1.2、应用程序不能翻过自己的围墙去
2012-07-24 17:00:20
1391
转载 UILable和UITextField的详细讲解
一、UILabel(1)初始化UILabelUILabel *scoreLabel = [ [UILabel alloc ] initWithFrame:CGRectMake((self.bounds.size.width / 2), 0.0, 150.0, 43.0) ];scoreLabel.textAlignment = UITextAlignmentCenter;scor
2012-07-20 14:58:20
518
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人