- 博客(69)
- 资源 (2)
- 收藏
- 关注
转载 iOS NSString 和NSData 转换
NSString 转换成NSData 对象 NSData* xmlData = [@"testdata" dataUsingEncoding:NSUTF8StringEncoding]; NSData 转换成NSString对象 NSData * data; NSString *result = [[NSString alloc] initWithData:data encodin
2014-09-29 11:48:15 486
转载 IOS atomic与nonatomic,assign,copy与retain的定义和区别
atomic和nonatomic用来决定编译器生成的getter和setter是否为原子操作。 atomic 设置成员变量的@property属性时,默认为atomic,提供多线程安全。 在多线程环境下,原子操作是必要的,否则有可能引起错误的结果。加了atomic,setter函数会变成下
2014-09-28 08:26:18 377
转载 NONATOMIC与ATOMIC的区别
它要与@synthesize一起使用才有意义。atomic的意思就是setter/getter这个函数是一个原语操作。如果有多个线程同时调用setter的话,不会出现某一个线程执行setter全部语句之前,另一个线程开始执行setter情况,相当于函数头尾加了锁一样。nonatomic不保证setter/getter的原语行,所以你可能会取到不完整的东西。比如setter函数里面改
2014-09-28 08:24:40 417
转载 iOS CGContextRef画图小结
CGContextRef context = UIGraphicsGetCurrentContext(); //设置上下文 //画一条线 CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);//线条颜色 CGContextSetLineWidth(con
2014-09-25 16:53:15 468
转载 iOS CGContextRef画图小结
CGContextRef context = UIGraphicsGetCurrentContext(); //设置上下文 //画一条线 CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);//线条颜色 CGContextSetLineWidth(conte
2014-09-25 16:52:43 572
转载 nsstring 如何判断字符串含有中文字符?
UTF8编码:汉字占3个字节,英文字符占1个字节NSString *text = @"i'm a 苹果。...";int length = [text length];for (int i=0; i{NSRange range = NSMakeRange(i, 1);NSString *subString = [text substringWithRange:ran
2014-09-18 17:32:54 1067
转载 iOS开发之runtime的运用-获取当前网络状态
iOS开发之runtime的运用-获取当前网络状态2014-03-27 我来说两句 收藏 我要之前写过runtime的一些东西,这次通过runtime获取一些苹果官方不想让你拿到的东西,比如,状态栏内部的控件属性。本文将通过runtime带你一步步拿到状态栏中显示网络状态的控件,然后通过监测该控件的属性来获取当前精确网络状态,比如2G/3G/4G
2014-09-18 17:30:18 533
转载 iOS面试攻略,你必须拥有
还在面试的时候感觉自己像一只无头苍蝇么?本文为大家整理了一系列iOS面试题,其中包括一些Objective-C的关键字和概念,少编也祝各位马到功成。@看到这个关键字,我们就应该想到,这是Object-C对C语言的扩展,例如@interface XXX。@interface声明类@implementation实现类@protocol声明
2014-09-18 16:27:19 1044
转载 block
1.block 目前主要作为回调使用2.block 的基本 格式 void (^block)(int )=^(int x){return x;};3.block可以修改全局变量,静态变量,__block变量,但不能修改局部非静态变量(这种情况是把变量作为const拷贝一份到block内)
2014-09-18 16:25:10 384
转载 IOS-runtime-1(笔记版)
文档:Objective-C Runtime Programming Guide大概意思(有时间详细整理该章节):Objectvie-c RuntimeThe runtime system acts as a kind of opeatim system for the Objective-C language.1.Runtime Versi
2014-09-18 16:19:11 453
转载 ios的runtime
1. 什么是runtime运行时刻是指一个程序在运行(或者在被执行)的状态。也就是说,当你打开一个程序使它在电脑上运行的时候,那个程序就是处于运行时刻。在一些编程语言中,把某些可以重用的程序或者实例打包或者重建成为"运行库"。这些实例可以在它们运行的时候被连接或者被任何程序调用。程序员有时候会在什么东西应该在编译的时候加载进来以及什么东西该在运行的时候使用之间做出抉择,前者有时候成为编
2014-09-18 16:07:42 405
转载 iOS-浅谈runtime运行时机制02-runtime简单使用
由于OC是运行时语言,只有在程序运行时,才会去确定对象的类型,并调用类与对象相应的方法。利用runtime机制让我们可以在程序运行时动态修改类、对象中的所有属性、方法。 下面就介绍运行时一种很简单的使用方式,将字典对象转为模型。当然,你可能会问,我用KVO直接调用 setValuesForKeysWithDictionary:方法,传入一个字典一样可以快速将字典转模型啊,但是这种方法有它
2014-09-18 15:52:07 512
转载 iOS-浅谈runtime运行时机制01-类与对象的内部结构
最近一直在研究runtime运行时机制的问题,我想可能也有很多人不太清楚这个问题吧?在这里跟大家沟通分享下我对与runtime机制的理解。 要理解runtime,首先我们要了解类和对象的内部结构,下面将首先介绍下OC中类与对象的结构层次。 一、首先,从 runtime.h头文件中找到对 class 与 object 的定义/// An opaque type tha
2014-09-18 15:49:09 519
转载 IOS多线程处理
IOS多线程处理在Object-c中,常用的多线程处理类分别为NSThread和NSOperationQueue。使用这两个类处理多线程,让复杂的多线程处理变得简单高效。下面分别介绍。一、NSThread类苹果公司的Cocoa框架共支持三种多线程机制,分别为NSThread、GCD(Grand Central Dispatch)、Cocoa NSOper
2014-09-18 09:51:09 713
转载 IPhone之NSXMLParser的使用
NSXMLParser解析xml格式的数据 用法如下: 首先,NSXMLParser必须继续NSXMLParserDelegate协议 @interface XMLHelper : NSObject 首先设置XML数据,并初始化NSXMLParser - (void)viewDidLoad {NSMutabl
2014-09-10 21:39:48 456
原创 用NSMutableString来说明retain和copy的区别
NSMutableString *str1 = [[NSMutableStringalloc] initWithString:@"aaa"]; NSMutableString *str2 = [str1 retain]; NSMutableString *str3 = [str1 copy]; [str1appendSt
2014-09-06 15:14:37 429
转载 如何使用 EGOCache 来缓存和加载网页的速度更快
我有 UIWebView 我加载不同的 url 的根据上一个操作的 iOS 应用程序中。我不这些页加载尽可能快。发现了类EGOCache (源) 和我有工作来存储库/缓存目录中的 cacheData。但不知道如何检索此缓存更快地加载它,我不能看出的区别。也许使用 NSCache 吗?我错过了什么?- (void)webViewDidStartLoad:(UIWebView *)webVie
2014-09-06 14:35:25 793
转载 NSFileManager和NSFileHandle(附:获取文件大小 )
NSFileManager和NSFileHandle(附:获取文件大小 )//file文件操作NSFileManager 常见的NSFileManager文件的方法:-(BOOL)contentsAtPath:path 从文件中读取数据-(BOOL)createFileAtPath:path contents:(BOOL)data at
2014-09-06 14:27:46 547
转载 清除UIWebView的缓存
//清除UIWebView的缓存 [ [NSURLCache sharedURLCache ]removeAllCachedResponses];
2014-09-06 13:54:24 638
转载 NSURLConnection
如何使用NSURLConnection是IOS SDK偏于上层的网络API,NSURLConnection对象通过加载URL请求来实现网络连接。NSURLConnection的接口非常少,只提供了控制启动和取消异步加载的相关方法。NSURLConnection的委托NSURLConnection准许对象接受一个URL请求的异步回调,并在一个网络请求的生命周期的关键点上都提供了相关的
2014-09-06 13:40:02 421
转载 iOS问题
1. 请解释下method swizzling,并说出你一般什么时候会用到它?MethodSwizzling是一种在运行时修改方法名与方法实现映射关系的技术,常用于在系统内部方法的基础上增加新的处理流程。2. 假设有三个对象,一个父类的父类,一个父类和一个子类。父类的父类持有父类的引用(retain),父类持有子类的引用(retain),子类持有父类的引用(reta
2014-09-05 22:18:24 444
转载 关于NSString字符串反转的问题
今天看到这个“Objective-C分割NSString”,有人用正则表达式进行解答,感觉很特别。所以就把以前遇到的字符串反转的问你拿出来讨论讨论,可不可以用正则表达式来解决呢?下面是个最简单的实现的如有什么效率问题,边界问题也希望多给意见。/**** NSString+Reverse.h ****/#import @interface NSString (Reverse)- (
2014-09-05 22:10:24 1085
转载 iOS面试问题
准备技术方面的面试: 在直接切入问题之前,我们先讨论下一些基本的要领来确保你的技术面试尽可能顺利进行。 为每个可能出现的问题准备好答案是不可能的。所以需要更加关注基础方面的内容。确保你对Objective-C 2.0的特性都非常熟悉。可以猜的到会有一些关于通知(messaging),协议(protocols),动态类型(dynamic types),转发(forwa
2014-09-05 22:01:58 627
转载 ios nil、NULL和NSNull 的使用
nil用来给对象赋值(Objective-C中的任何对象都属于id类型),NULL则给任何指针赋值,NULL和nil不能互换,nil用于类指针赋值(在Objective-C中类是一个对象,是类的meta-class的实例), 而NSNull则用于集合操作,虽然它们表示的都是空值,但使用的场合完全不同。示例如下:id object = nil; // 判断对象不为空 if
2014-09-05 21:35:20 315
转载 从定时任务看NSRunLoop和Autorelease
2012年5月28日foreveryh没有评论 -(void)uploadPhotos{ NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init]; NSTimer* timer = [NSTimer timerWithTimeInterval:60
2014-09-05 17:35:50 365
转载 关于Autorelease和RunLoop
学习Iphone开发,Autorelease的何时释放一直是困扰我的一个问题,总觉得大部分文档提到的延迟释放,但是这个延迟感念非常模糊,5s叫延迟还是5min叫延迟?所以总觉得担心我用到标明Autorelease对象的时候由于它坚持不到已经被释放了。最近查了一下Autorelease到底什么时候释放,发现和RunLoop有关,再查RunLoop发现有一大堆的解释,但是感觉大概意思就是RunLoop
2014-09-05 17:18:49 454
转载 CALayer和View的关系
一个UIView包含CALayer树,CALayer是一个数据模型,包含了一些用于显示的对象,但本身不用于显示。 CALayer相当于photoshop的一个层,很多动画可以通过设置CALayer来实现。据说有人用CALayer显示图片来播放视频。Core animation应该是用CAlayer来实现各种动画。
2014-09-05 15:09:27 635
转载 NSDate实例的类方法
1. 创建或初始化可用以下方法 用于创建NSDate实例的类方法有 + (id)date; 返回当前时间 + (id)dateWithTimeIntervalSinceNow:(NSTimeInterval)secs; 返回以当前时间为基准,然后过了secs秒的时间 + (id)dateW
2014-09-04 22:11:26 533
转载 关于ios中的setNeedsDisplay和setNeedsLayout
我们可能对这两个命令并不陌生,setNeedsDisplay调用drawRect方法来实现view的绘制,而setNeedsLayout则调用layoutSubView来实现view中subView的重新布局,问题是为何要如此设计呢,直接调用drawRect和layoutSubView不是更省事吗,何必多次一举呢。 假设我们采用的是直接调用drawRect的机制,先考虑这样一个
2014-09-04 22:09:40 439
转载 IOS UIView 自动调整尺寸
UIView中有个属性是autoresizingMask,该属性是用来控制控件的自适应。 UIViewAutoresizingNone = 0,UIViewAutoresizingFlexibleLeftMargin = 1 UIViewAutoresizingFlexibleWidth = 1 UIViewAutore
2014-09-04 22:02:32 1141
转载 截屏,裁剪图片,缩放图片
// 截屏// UIGraphicsBeginImageContext(self.view.frame.size);// [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];// UIImage *viewImage = UIGraphicsGetImageFromCurrentIma
2014-09-04 22:01:40 626
转载 农历转换函数
//农历转换函数+(NSString *)LunarForSolar:(NSDate *)solarDate{ //天干名称 NSArray *cTianGan = [NSArray arrayWithObjects:@"甲",@"乙",@"丙",@"丁",@"戊",@"己",@"庚",@"辛",@"壬",@"癸", nil]; //地支名称
2014-09-04 22:00:08 1142
转载 ios各种动画效果
最普通动画: //开始动画 [UIView beginAnimations:nil context:nil]; //设定动画持续时间 [UIView setAnimationDuration:2]; //动画的内容 frame.origin.x += 150; [img setFrame:frame]; //动画结束 [UIView commitAnimati
2014-09-04 21:52:49 334
转载 忙碌指示器UIActivityIndicatorView用法
UIActivityIndicatorView *progress = [[UIActivityIndicatorViewalloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];[self.viewaddSubview:progress];progress.frame =CG
2014-09-04 21:17:10 408
转载 个人理解:笔记
笔记1:自定义空间一般继承与UIview,需要实现的方法有-(id)initWithFrame:(CGRect)frame{ slef = [super initWithFrame:frame]; if(self) { //输入加载这个控件时你想要现实的内容,类似于ViewController的-(void)ViewDidLo
2014-09-04 21:13:55 410
转载 IOS中类和对象还有,nil/Nil/NULL的区别
类与对象的概念类是对同一类事物高度的抽象,类中定义了这一类对象所应具有的静态属性(属性)和动态属性(方法)。对象是类的一个实例,是一个具体的事物。类与对象是抽象与具体的关系。类其实就是一种数据类型,它的变量就是对象。类与类之间的关系——继承关系A是B如果这句话说的通,在设计程序的时候就可以看成是继承关系。例如:学生与小学生 小学生也是
2014-09-04 20:44:43 338
转载 CALayer的动画属性
CALayer的动画属性,mark一下,备忘。以下CALayer类的属性可以被核心动画执行动画。可以查看CALayer来获取更多的信息。 anchorPoint使用表 1 中所述默认隐式 CABasicAnimation。 backgroundColor使用表 1 中所述默认隐式 CABasicAnimation。(子属性是使用基本的动画动画) backgr
2014-09-04 17:29:47 479
转载 iOS开发笔记--Layer 图层圆角、边框 、底纹其他常用操作
#import // 添加系统框架 layer.backgroundColor = [UIColor cyanColor].CGColor; // 给图层添加背景色 layer.contents = (id)[UIImage imageNamed:@"view_BG.png"].CGImage; // 给图层添加背景图片 layer.cornerRadius
2014-09-04 16:48:10 665
转载 核心动画渲染框架
虽然核心动画的图层和 Cocoa的视图在很大程度上没有一定的相似性,但是他们两者最大的区别是,图层不会直接渲染到屏幕上。在模型-视图-控制器(model-view-controller)概念里面NSView和 UIView是典型的视图部分,但是在核心动画里面图层是模型部分。图层封装了几何、时间、可视化属性,同时它提供了图层现实的内容,但是实际显示的过程则不是由它来完成。每个
2014-09-04 11:48:18 565
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人