![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
IOS
文章平均质量分 56
baxiaxx
这个作者很懒,什么都没留下…
展开
-
KVO/KVC 实现机理分析
作者:杨登峰 (dengfengyang@gmail.com)时间:2010-03-12转帖请注明转之 苹果开发中文网(http://www.CocoaDev.cn)以上说明是本文不可分割的一部分。Objective-C里面的Key-Value Observing (KVO)机制,非常不错,可以很好的减少浇水代码。关于KVO的学习,可以参考文章:《Key-V转载 2013-05-09 14:43:12 · 661 阅读 · 0 评论 -
关于performSelectorXXX的延迟的使用
- (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay;这个方法是单线程的,也就是说只有当前调用次方法的函数执行完毕后,selector方法才会被调用。比如:- (void)changeText:(NSString *)st转载 2013-05-17 18:16:38 · 713 阅读 · 0 评论 -
IPhone中UIView中动画及其属性说明
areAnimationsEnabled返回一个布尔值表示动画是否结束。+ (BOOL)areAnimationsEnabled返回值如果动画结束返回YES,否则NO。 beginAnimations:context:开始一个动画块+ (void)beginAnimations:(NSString *)animationID context:(voi转载 2013-03-19 17:43:27 · 675 阅读 · 0 评论 -
如何让IOS应用从容地崩溃
文/donglin注:鉴于多名网友对文中代码提出的质疑,小编联系了作者,迅速给予更正并更新。感谢大家的监督与支持!虽然大家都不愿意看到程序崩溃,但可能崩溃是每个应用必须面对的现实,既然崩溃已经发生,无法阻挡了,那我们就让它崩也崩得淡定点吧。IOS SDK中提供了一个现成的函数 NSSetUncaughtExceptionHandler 用来做异常处理,但功能非常有限,而引起转载 2013-03-18 18:02:29 · 824 阅读 · 0 评论 -
IOS:Handling unhandled exceptions and signals
Handling unhandled exceptions and signalsWhen an application crashes on the iPhone, it disappears without telling the user what happened. However, it is possible to add exception and signal hand转载 2013-03-18 18:07:54 · 1065 阅读 · 0 评论 -
iOS5中 UIViewController新方法的使用
前言在苹果的WWDC2011大会视频的 《Session 101 - What’s New in Cocoa》 和 《Session 102 - Implementing UIViewController Containment》 中介绍了苹果在iOS5中给UIViewController新增加的5方法以及一个属性:12345678转载 2013-01-22 19:07:09 · 977 阅读 · 0 评论 -
stretchableImageWithLeftCapWidth的使用
- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight 这个函数是UIImage的一个实例函数,它的功能是创建一个内容可拉伸,而边角不拉伸的图片,需要两个参数,第一个是左边不拉伸区域的宽度,第二个参数是上面不拉伸的高度。根据设转载 2013-01-22 15:31:46 · 765 阅读 · 0 评论 -
iPhone图片拉伸:resizableImageWithCapInsets
今天做了一个温度计的应用,需要一个图,能够根据输入的数据将温度计里面的红色图片拉伸。为了达到这个效果,使用了iOS5的函数:resizableImageCapInsets:(UIEdgeInsets)Insets。其中Insets这个参数的格式是(top,left,bottom,right),从上、左、下、右分别在图片上画了一道线,这样就给一个图片加了一个框。只有在框里面的部分才会被拉伸,转载 2013-01-22 15:26:55 · 732 阅读 · 0 评论 -
关于ios异步加载图片的几个开源项目
一、HjCache 原文:http://www.markj.net/hjcache-iphone-image-cache/获取 HJCache:HJCache is up on github here: https://github.com/markofjohnson/HJCacheHjCache 是iOS上的一个开源的库,用于异步加载网络图片并在滚动中的tab转载 2013-02-01 13:53:07 · 811 阅读 · 0 评论 -
AFNetwork作用和用法详解
AFNetwork是一个轻量级的网络请求api类库。是以NSURLConnection, NSOperation和其他方法为基础的。下面这个例子是用来处理json请求的:NSURL *url = [NSURL URLWithString:@"https://alpha-api.app.net/stream/0/posts/stream/global"];NSURLRequest *转载 2013-01-29 11:20:31 · 1497 阅读 · 0 评论 -
iphone ios 屏幕,statusbar,状态栏,标签栏尺寸,高度
app尺寸,去掉状态栏CGRect r = [ UIScreen mainScreen ].applicationFrame;r=0,20,320,460屏幕尺寸CGRect rx = [ UIScreen mainScreen ].bounds;r=0,0,320,480状态栏尺寸 CGRect rect;rect =转载 2013-01-25 15:04:43 · 1056 阅读 · 0 评论 -
IOS正则判断手机号码,电话号码函数
// 正则判断手机号码地址格式 - (BOOL)isMobileNumber:(NSString *)mobileNum { /** * 手机号码 * 移动:134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188 * 联通:130,13转载 2013-01-25 14:53:22 · 3264 阅读 · 0 评论 -
ObjC: 使用KVO
KVC很多人都知道,那么什么是KVO呢?Key Value Observing,直译为:基于键值的观察者。主要用于有关视图界面交互编程中,比如,实体(或者叫名词、或者叫域模型),在应用中表示名词的部分,类似Java中的Java Bean。再具体点儿,在下文的示例中。图书(Book类),就是个实体。它的属性有书名(name)和价格(price)。那么,在界面开发中,可能有多个视图和这个实体有转载 2013-05-09 15:26:50 · 747 阅读 · 0 评论 -
ObjC: 使用KVC
KVC是什么?即:Key-Value Coding,直译是:键值编码。还是没明白什么意思?先看看下面的代码。Book类的代码,头文件:#import @interface Book : NSObject { NSString *name;}@end 实现文件:#import "Book.h"@implementation转载 2013-05-09 15:39:51 · 629 阅读 · 0 评论 -
UITableView学习笔记
看TableView的资料其实已经蛮久了,一直想写点儿东西,却总是因为各种原因拖延,今天晚上有时间静下心来记录一些最近学习的TableView的知识。下面进入正题,UITableView堪称UIKit里面最复杂的一个控件了,使用起来不算难,但是要用好并不容易。当使用的时候我们必须要考虑到后台数据的设计,tableViewCell的设计和重用以及tableView的效率等问题。下面分9个方面转载 2013-05-09 17:38:31 · 690 阅读 · 0 评论 -
简述UITextField的属性和用法
UITextField属性0. enablesReturnKeyAutomatically默认为No,如果设置为Yes,文本框中没有输入任何字符的话,右下角的返回按钮是disabled的。1.borderStyle设置边框样式,只有设置了才会显示边框样式 text.borderStyle = UITextBorderStyleRoundedRect;转载 2014-10-12 15:34:58 · 709 阅读 · 0 评论 -
ios即时通讯客户端开发之-mac上搭建openfire服务器
一、下载并安装openfire1.到http://www.igniterealtime.org/downloads/index.jsp下载最新openfire for mac版比如:Openfire 3.8.1,下载后的文件:openfire_3_8_1.dmg2.点击安装,并执行默认操作3.启动openfire服务在系统偏好设置的其他里,点击o转载 2014-09-03 23:33:07 · 657 阅读 · 0 评论 -
Optimizing table views for performance
Tables views are a very powerful and ubiquitous in iPhone and iPad, and in order to make them perfect, it is important to know a little bit about the structure of the cell.The cell is the very bas转载 2014-01-10 23:27:55 · 746 阅读 · 0 评论 -
那些不能错过的Xcode插件
古人云“工欲善其事必先利其器”,打造一个强大的开发环境,是立即提升自身战斗力的绝佳途径!以下是搜集的一些有力的XCode插件。 1.全能搜索家CodePilot 2.0你要找的是文件?是文件夹?是代码?Never Mind,CMD+SHIFT+X调出CodePilot,输入任何你想到搜的东西吧!想搜appFinishLaunchingWithOptions?忘记咋拼了?没关系强大的代码转载 2013-12-07 23:38:04 · 908 阅读 · 0 评论 -
SVN 在 Xcode中的状态说明
最近同事总是问我关于SVN状态的问题,‘C’是什么意思啦?‘A’是什么意思啦?等等一系列问题。为了方便以后查阅,以及新同事的快速融入,特在此记录一下^_^。当然了大家也可以google一下,一搜一大把。SVN Status 字符含义如下:' ' - NO Modifications. 没有改动'A' - Added. 新增加的文件'C' - Con转载 2013-11-13 00:47:10 · 909 阅读 · 0 评论 -
对比iOS中的四种数据存储
你是用什么方法来持久保存数据的?这是在几乎每一次关于iOS技术的交流或讨论都会被提到的问题,而且大家对这个问题的热情持续高涨。本文主要从概念上把“数据存储”这个问题进行剖析,并且结合各自特点和适用场景给大家提供一个选择的思路,并不详细介绍某一种方式的技术细节。谈到数据储存,首先要明确区分两个概念,数据结构和储存方式。所谓数据结构就是数据存在的形式。除了基本的NSDictionary、NSA转载 2013-10-30 21:24:05 · 794 阅读 · 0 评论 -
iOS应用性能调优的25个建议和技巧
本文来自iOS Tutorial Team 的 Marcelo Fabri,他是Movile的一名 iOS 程序员。这是他的个人网站:http://www.marcelofabri.com/,你还可以在Twitter上关注@marcelofabri_。性能对 iOS 应用的开发尤其重要,如果你的应用失去反应或者很慢,失望的用户会把他们的失望写满App Store的评论。然而由于iOS设备的转载 2013-10-22 22:48:12 · 1185 阅读 · 0 评论 -
iOS设计模式之一:MVC模式和单例模式
原文出处: raywenderlich 译文出处: xmuzyq(@Krq_Tiger)iOS设计模式-你可能已经听说过这个词,但是你真正理解它意味着什么吗?虽然大多数的开发者可能都会认为设计模式是非常重要的,然而关于设计模式这一主题的文章却不多,并且有时候我们开发者在写代码的时候也不会太关注它。在软件设计领域,设计模式是对通用问题的可复用的解决方案。设计模式是一系列帮你写转载 2013-10-20 10:37:07 · 1004 阅读 · 0 评论 -
如何给你iOS项目选择最合适的XML解析方式
XML也许是我们储存数据和通讯数据中最常见的一种简易方式,当我们来到XML的海洋时,我们会发现当我们用iPhone程序解析XML时,我们是有如此多的选项,让人眼花缭乱。iOS SDK本身就带有两种不同的解析库可以使用,除此之外还有很多很受欢迎的第三方的库,比如说 TBXML, TouchXML, KissXML, TinyXML, 和 GDataXML,我们究竟如何选择呢?真是个问题。转载 2013-08-06 00:41:52 · 820 阅读 · 0 评论 -
iOS平台XML解析类库对比和安装说明
在iPhone开发中,XML的解析有很多选择,iOS SDK提供了NSXMLParser和libxml2两个类库,另外还有很多第三方类库可选,例如TBXML、TouchXML、KissXML、TinyXML和GDataXML。问题是应该选择哪一个呢?解析 XML 通常有两种方式,DOM 和 SAX:DOM解析XML时,读入整个XML文档并构建一个驻留内存的树结构(节点树),通过遍历转载 2013-08-06 00:29:03 · 699 阅读 · 0 评论 -
核心动画 CoreAnimation
第一章 核心动画概念核心动画,开发人员可以为他们的应用创建动态用户界面,而无需使用低级别的图形 API,如 OpenGL 来获取高效的动画性能。 前言,核心动画的好处1.简单易用的高性能混合编程模型。2.类似视图一样,你可以通过使用图层来创建复杂的接口。 通过是CALayer来使用更复杂的一些动画。 3.轻量级转载 2013-06-18 18:05:25 · 813 阅读 · 0 评论 -
NSSet使用介绍
NSSet集合对象的关键字是NSSet与NSMutableSet。前者是不可变集合,后者是可变集合,Objective-C语言中大部分数据结构都存在可变与不可变两种数据。这里的集合很像Java语言与C语言中的Set,用法基本一样。但是在Objective-C语言中同一个集合可以储存不同对象的数据。下面分享一个例子就很清楚的看出。1. 创建不可变集合对象[NSNumber numbe转载 2013-06-08 14:56:19 · 971 阅读 · 0 评论 -
IOS开发:关于在恰当的地方初始化界面设置layout
参考http://stackoverflow.com/questions/9539676/uiviewcontroller-returns-invalid-frame/9540935#9540935,先记下来:Is this a bug any suggestions?- (void)viewDidLoad{ [super viewDidLoad]; NSLog(@原创 2013-01-10 16:29:35 · 1176 阅读 · 0 评论 -
正则表达式:ios 手机号车牌号 正则验证
/*手机号码验证 MODIFIED BY HELENSONG*/ BOOL validateMobile(NSString* mobile) { //手机号以13, 15,18开头,八个 \d 数字字符 NSString *phoneRegex = @"^((13[0-9])|(15[^4,\\D])|(18[0,0-9]))\\d{8}$"; NSPre转载 2013-01-25 14:50:47 · 1429 阅读 · 0 评论 -
mac系统如何显示和隐藏文件
苹果Mac OS X操作系统下,隐藏文件是否显示有很多种设置方法,最简单的要算在Mac终端输入命令。显示/隐藏Mac隐藏文件命令如下(注意其中的空格并且区分大小写):显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true隐藏Mac隐藏文件的命令:defaults write com.apple.finder转载 2013-01-23 11:13:37 · 618 阅读 · 0 评论 -
[Cocoa]XCode的一些调试技巧
XCode的一些调试技巧罗朝辉 (http://blog.csdn.net/kesalin/)CC 许可,转载请注明出处XCode 内置GDB,我们可以在命令行中使用 GDB 命令来调试我们的程序。下面将介绍一些常用的命令以及调试技巧。po 命令:为 print object 的缩写,显示对象的文本描述(显示从对象的 description 消息获得的字符串信息)。转载 2012-08-31 16:17:48 · 705 阅读 · 0 评论 -
Objective-C的消息传递机制
各种语言都有些传递函数的方法:C语言中可以使用函数指针,C++中有函数引用、仿函数和lambda,Objective-C里也有选择器(selector)和block。不过由于iOS SDK中的大部分API都是selector的方式,所以本文就重点讲述selector了。Objective-C和我接触过的其他面向对象的语言不同,它强调消息传递,而非方法调用。因此你可以对一个对象传递任何消转载 2012-08-31 15:24:17 · 985 阅读 · 0 评论 -
Objective-C 2.0的运行时编程(转)
Objective-C 2.0 的运行时环境叫做Morden Runtime,iOS 和Mac OS X 64-bit 的程序都运行在这个环境,也就是说Mac OS X 32-bit 的程序运行在旧的Objective-C 1.0 的运行时环境LegacyRuntime,这里我们只讲解Morden Runtime。 同运行时交互主要在三个不同的地方,分别是A.Objective-C转载 2012-08-31 15:23:27 · 1523 阅读 · 0 评论 -
iPhone开发之深入浅出Object-C之消息
在入门级别的ObjC 教程中,我们常对从C++或Java 或其他面向对象语言转过来的程序员说,ObjC 中的方法调用(ObjC中的术语为消息)跟其他语言中的方法调用差不多,只是形式有些不同而已。譬如C++ 中的:Bird * aBird = new Bird();aBird->fly();在ObjC 中则如下:转载 2012-08-31 15:20:54 · 1603 阅读 · 1 评论 -
objective-c 编程总结(第九篇)运行时操作 - 序列化
学习到目前为止,我看到oc实现的序列化方式有两种:NSKeyedArchiver,NSPropertyListSerialization。在这两种序列化方式中,NSData都是序列化的目标。两种方式的不同点在于NSPropertyListSerialization只是针对字典类型的,而NSKeyedArchiver是针对对象的。(补充一下,在Mac OS环境下,还可以使用NSArchive转载 2012-08-30 17:19:19 · 1227 阅读 · 0 评论 -
objective-c 编程总结(第八篇)运行时操作 - 消息转发
第七篇中讲动态属性时,提到了resolveInstanceMethod,这个方法不仅在这里用,还用来实现消息的转发。消息的转发就是向对象发送一个它本身并没有实现的消息,在运行时确定它实际产生的行为。举个例子来说,一个Person对象,在运行时根据实际情况,决定是否响应fly这样的方法。如果条件具备,则fly被响应。否则,则不具备这样的方法。类似于AoP的做法。要实现消息转发转载 2012-08-30 17:20:31 · 1098 阅读 · 0 评论 -
IOS开发:关于performSelectorXXX的延迟的使用
- (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay;这个方法是单线程的,也就是说只有当前调用次方法的函数执行完毕后,selector方法才会被调用。比如:- (void)changeText:(NSString *)st原创 2012-08-17 17:18:10 · 11723 阅读 · 0 评论 -
performSelector延时调用导致的内存泄露
前几天在给游戏做收尾测试时,发现了一个关于内存泄露的问题,一直没找着问题所在,经过反复调试和查找资料今天终于解决了,特此记录下来以免以后再犯!关于objective-c的内存管理,我们都知道一个原则就是“谁创建,谁释放”,换句话说,不是我们创建的,就不用我们去释放。但是实际上objective-c的内存管理远远没那么简单,我的情况是这样的:我在debug模式下面用CCLOG转载 2012-08-17 16:31:09 · 1653 阅读 · 0 评论 -
IOS开发:关于UILabel阴影设置的问题
今天用了一下UILable的setShadowoffset方法,想通过此方法设置一下阴影,但是却发现没效果,代码如下:UILabel *lab = [[UILabelalloc]initWithFrame:CGRectMake(350,450, 100, 30)];lab.text = @"我的博客";[labsetShadowOffset:CGSi原创 2012-08-15 11:05:38 · 7788 阅读 · 0 评论 -
IOS开发:一个关于UIPopoverController设置contentsize大小的问题
今天第一次用了UIPopoverController这个类,但是在设置大小的时候出现了一个问题,先把代码贴出来:- (void)popoverView{ UIViewController *viewController = [[UIViewControlleralloc]init]; viewController.view.backgroundC原创 2012-08-10 11:29:59 · 3953 阅读 · 1 评论