- 博客(99)
- 收藏
- 关注
转载 UIView与CALayer的区别,很详细
研究Core Animation已经有段时间了,关于Core Animation,网上没什么好的介绍。苹果网站上有篇专门的总结性介绍,但是似乎原理性的东西不多,看得人云山雾罩,感觉,写那篇东西的人,其实是假设读的人了解界面动画技术的原理的。今天有点别的事情要使用Linux,忘掉了ssh的密码,没办法重新设ssh,结果怎么也想不起来怎么设ssh远程登陆了,没办法又到网上查了一遍,太浪费时间了,痛感忘
2014-06-17 16:20:43
644
转载 iOS运行时获取对象的成员变量和成员方法
1、包含运行时头文件 #import 2、获取某个类的成员变量或则属性;unsigned int numIvars; //成员变量个数 Ivar *vars = class_copyIvarList(NSClassFromString(@"UIView"), &numIvars); //Ivar *vars = class_copyIvar
2014-06-17 16:07:18
832
转载 main函数中argc,argv
argc,argv 用命令行编译程序时有用。主函数main中变量(int argc,char *argv[ ])的含义有些编译器允许将main()的返回类型声明为void,这已不再是合法的C++main(int argc, char *argv[ ], char **env)才是UNIX和Linux中的标准写法。argc: 整数,用来统计你运行程序时送给main函数的命令行参数的个
2014-06-17 13:56:48
774
转载 Core Foundation(C对象)与 Foundation(OC对象)之间的转换 理解
Core Foundation 框架Core Foundation框架 (CoreFoundation.framework) 是一组C语言接口,它们为iOS应用程序提供基本数据管理和服务功能。下面列举该框架支持进行管理的数据以及可提供的服务:群体数据类型 (数组、集合等)程序包字符串管理日期和时间管理原始数据块管理偏好管理URL及数据流操作线程和RunLoop
2014-06-17 10:34:15
3020
转载 JSON数据
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括
2014-06-13 14:57:51
623
转载 Objective-c 特性之多态、动态类型和动态绑定
Objective-c 语言是动态语言,所以使它具有动态类型和动态绑定的特性。多态:来自不同类的对象可以定义相同名字的方法(之前有专门一篇博文具体讲解在iOS中的多态实现)动态类型:这一特性是程序直到执行时才确定对象所属的类动态绑定:它能使程序直到执行时才确定对象需要调用的实际方法(它与SEL一起实现了objc的多态) 多态在实际的使用中简单概括就叫相同的名称,不同的类
2014-06-12 11:19:12
463
转载 SEL和IMP
1. SEL和IMP最早我把SEL理解为函数指针,现在看来,不是这样的。1.1 SEL类型SEL类型的变量,可以通过@selector(方法名)来取得,当然了,Objective C的方法名,我们也知道了,多么恶心(比Java废话还多)。而它真正得到的,只要方法名一样,它的值就是一样的,不管这个方法定义于哪个类,是不是实例方法【再说了,@selector的时候,除了方法名也没有什么
2014-06-12 11:07:58
783
转载 typed的使用
注意typedef并不创建新的类型。它仅仅为现有类型添加一个同义字。 typedef NSString SuSong; SuSong *line = [(NSString *)[SuSong alloc] initWithString:@"123"]; NSLog(@"%@", line);
2014-06-11 16:18:20
997
转载 NSSortDescriptor(数组排序)
如果数组里面的每一个元素都是一个个model,例如DepartsDate.h文件#import @interface DepartsDate : NSObject@property (nonatomic, retain) NSDate *date;@property (nonatomic, assign) int price;@endDepartsDate.m文件#
2014-06-10 16:25:05
482
转载 c printf \t \b \r
printf("\tfirst\b\b\bsh\\\r\'No.1\'\n"); printf("1\n2\n"); printf("\tfirst\b\b\bsh\\\r"); printf("1\n2\n");输出结果是:'No.1' fish\ 1 2 1 fish\ 2 分析:转义字符\\t 输出制表符相当于tab键;\b
2014-06-10 15:47:50
5759
转载 char
假如我想存1个汉字,char a[n]中的n应该给多少汉字每一个是占用2个char的。串末尾要加零。所以要3个,2个汉字要5个char。5个汉字要11个charchar a[11];char * p = "汉字串数组";strcpy(a,p);printf( "%s\n"a);
2014-06-10 15:25:13
491
转载 GCD
Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法。dispatch queue分成以下三种:1)运行在主线程的Main queue,通过dispatch_get_main_queue获取。/*!* @function dispatch_get_main_queue** @abstract* Returns the defa
2014-06-05 16:42:01
486
转载 C语言中的const
(1)可以定义 const 常量 (2)const 可以修饰函数的参数、返回值.详细内容: 1、什么是const? 常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。(当然,我们可以偷梁换柱进行更新:) 2、为什么引入const? const 推出的初始目的,正是为了取代预编译指令,消除它的缺点,同时继承它的优点。 3、cons有什么主要的作用
2014-06-04 14:08:52
431
转载 C语言中void的作用
1.概述 许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误。本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧。2.void的含义 void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。 void几乎只有“注释”和限制程序的作用,因为从来没有人会定
2014-06-04 11:31:56
1436
转载 iPhone程序开发 KVO/KVC实现机理分析
iPhone程序开发KVO/KVC实现机理分析是本文要介绍的内容,不多说,直接进入话题。我们来看详细内容。Objective-C里面的Key-Value Observing (KVO)机制,非常不错,可以很好的减少浇水代码。关于KVO的学习,可以参考文章:《Key-Value Observing快速入门》:http://www.cocoadev.cn/Objective-C/Key-Value
2014-06-03 15:27:17
534
转载 CGContextRef用法
quartz 是主要的描画接口,支持基于路径的描画、抗锯齿渲染、渐变填充模式、图像、颜色、坐标空间变换、以及PDF 文档的创建、显示、和分析。UIKit 为Quartz 的图像和颜色操作提供了Objective-C 的封装。Core Animation 为很多UIKit 的视图属性声明的动画效果提供底层支持,也可以用于实现定制的动画。在调用您提供的drawRect:方法之前,视图对象会自动
2014-06-03 15:10:55
494
转载 iOS7中的多任务I
【改变了后台任务的运行方式】 在iOS6和之前的系统中,系统在用户退出应用后,如果应用正在执行后台任务的话,系统会保持活跃状态直到后台任务完成或者是超时以后,才会进入真正的低功耗休眠状态。 而在iOS7中,后台任务的处理方式发生了改变。系统将在用户锁屏后尽快让设备进入休眠状态,以节省电力,这时后台任务是被暂停的。之后在设备在特定时间进行系统应用的操作被唤醒(比如检查邮件或者接到
2014-06-03 10:28:49
601
转载 避免Block中的强引用环
In manual reference counting mode, __block id x; has the effect of not retainingx. In ARC mode, __block id x; defaults to retainingx (just like all other values). To get the manual reference count
2014-06-03 10:21:34
1246
转载 IOS SEL (@selector) 原理及使用总结(二)
SEL消息机制工作原理是什么 引用下面文章:我们在之前有提到,一个类就像一个 C 结构.NSObject 声明了一个成员变量: isa. 由于 NSObject 是所有类的根类,所以所有的对象都会有一个 isa 的成员变量[公共继承].而该 isa 变量指向该对象的类(图3.15)[类在Objective-C中也是一个实体, 由于存在Objective-C 运行环境所有
2014-05-30 17:49:36
5212
转载 IOS SEL (@selector) 原理及使用总结(一)
SEL 类成员方法的指针可以理解 @selector()就是取类方法的编号,他的行为基本可以等同C语言的中函数指针,只不过C语言中,可以把函数名直接赋给一个函数指针,而Object-C的类不能直接应用函数指针,这样只能做一个@selector语法来取.它的结果是一个SEL类型。这个类型本质是类方法的编号(函数地址)C/C++函数指针int test(int val)
2014-05-30 17:48:45
1742
转载 sqlite数据库插入和读取图片数据 (for ios)
在iOS下用sqlite数据库存储图片,先把你的图片转换成 NSData 形式,然后在数据库添加一行 blob 数据 假定数据库中存在表 test_table(name,image), 下面代码将图片文件test.png的二进制数据写到sqlite数据库:01char *name ="test";02NSString
2014-05-30 16:37:34
982
转载 socket第三方库 AsyncSocket(GCDAsyncSocket)
Socket描述了一个IP、端口对。它简化了程序员的操作,知道对方的IP以及PORT就可以给对方发送消息,再由服务器端来处理发送的这些消息。所以,Socket一定包含了通信的双发,即客户端(Client)与服务端(server)。1)服务端利用Socket监听端口; 2)客户端发起连接; 3)服务端返回信息,建立连接,开始通信; 4)客户端,服务端断开连接。 1套接
2014-05-30 16:27:23
930
转载 ios objc_msgSend函数
Objective-C消息机制的原理 http://dangpu.sinaapp.com/?p=119在Objective-C中,message与方法的真正实现是在执行阶段绑定的,而非编译阶段。编译器会将消息发送转换成对objc_msgSend方法的调用。 objc_msgSend方法含两个必要参数:receiver、方法名(即:selector),如:
2014-05-30 16:02:47
11175
转载 【Objective-C Runtime动态加载】---动态创建类Class
a.使用objc_allocateClassPair创建一个类Class const char * className = "Calculator"; Class kclass = objc_getClass(className); if (!kclass) { Class superClass = [NSObject class];
2014-05-30 15:50:33
2044
转载 Object-C 类,对象,运行时,转载
如果不是Apple,不是App Store,Object-C恐怕早就淡出人们的视线了。大部分编程语言都是基于C语法风格的,所以初次接触这个非C风格的语言,会看不懂它那怪异的语法。但如果掌握了它之后,也并不会觉得它又太多的不同。今天记录一下它的底层运作。 1: 类Class: typedef struct objc_class * Class; 从Class
2014-05-30 11:00:22
682
转载 iOS 内存 检测
iOS平台的内存使用引用计数的机制,并且引入了半自动释放机制;这种使用上的多样性,导致开发者在内存使用上非常容易出现内存泄漏和内存莫名的增长情况; 本文会介绍iOS平台的内存使用原则与使用陷阱; 深度剖析autorelease机制;低内存报警后的处理流程;并结合自身实例介绍内存暴增的问题追查记录以及相关工具的使用情况;TAG内存暴增,内存泄漏,autorelease;内存报警; i
2014-05-29 17:16:52
603
转载 几种正则的表达
首先简单介绍一下正则表达式的基本写法及用法\d 匹配任何一个数字,即[0-9]\d+表示1个以上的数字\d*标示0个或多个数字\s 表示分隔符,包括空格、制表符和换行符\s* 0个或多个分隔符\w 表示字母、数字和下划线,这里还包括Unicode字符,不同的语言里有些不同\w{4} 表示4个非空白字符. 表示任何一个字符,不包括换行符.* 表示任何多个字
2014-05-27 17:12:01
443
原创 ios中剪切板出现英文的情况
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender{ if (action == @selector(cut:)){ return NO; } else if(action == @selector(copy:)){ return YES; } else i
2014-05-20 16:38:44
1739
原创 AFNEtWork出现解析json数据异常情况
需要加上 [AFJSONRequestOperation addAcceptableContentTypes:[NSSet setWithObject:@"text/html"]];
2014-05-12 14:58:40
1256
转载 IOS内存
很多童鞋对于IOS中的内存管理处理的不好,有时候感觉自己已经掌握了,其实用起来的时候往往出现很多的内存泄露或者因为内存管理的不恰当导致程序崩溃!网上有一片很详细的内存管理文章,很多人估计嫌长,不愿意去看,我就写一个简单易懂的分享。我分四块来讲解,这篇文章比较简单,因为我不想把你们搞晕,其实总的来说就一个原则!一、IOS内存管理的机制IOS中没有垃圾回收机制(IOS5中好像已经有了,
2012-12-03 10:28:14
594
IOSnei
很多童鞋对于IOS中的内存管理处理的不好,有时候感觉自己已经掌握了,其实用起来的时候往往出现很多的内存泄露或者因为内存管理的不恰当导致程序崩溃!网上有一片很详细的内存管理文章,很多人估计嫌长,不愿意去看,我就写一个简单易懂的分享。我分四块来讲解,这篇文章比较简单,因为我不想把你们搞晕,其实总的来说就一个原则!一、IOS内存管理的机制IOS中没有垃圾回收机制(IOS5中好像已经有了,
2012-12-03 10:27:07
92
原创 注意层级关系以及传值
我通过新建一个nib文件来自定义cell。并在其中添加了一个button,我原本是想通过点击button触发控制器里的方法来显示点击的是第几行的,并在这个方法里添加了如下语句:-(IBAction)buttonTapped:(id)sender{ UIButton *button = (UIButton *)sender;UITableViewCell*cell =
2012-11-15 16:53:08
560
转载 注意UIView的层级关系
我通过新建一个nib文件来自定义cell。并在其中添加了一个button,我原本是想通过点击button触发控制器里的方法来显示点击的是第几行的,并在这个方法里添加了如下语句:-(IBAction)buttonTapped:(id)sender{ UIButton *button = (UIButton *)sender;UITableViewCell*cell =
2012-11-15 16:50:25
122
原创 通过自定义cell添加的button确定其所在cell的indexPath
通过自定义cell添加的button确定其所在cell的indexPath分类: IOS 应用2012-06-21 14:53 233人阅读 评论(0) 收藏 举报我通过新建一个nib文件来自定义cell。并在其中添加了一个button,我原本是想通过点击button触发控制器里的方法来显示点击的是第几行的,并在这个方法里添加了如下语句:-(IBAction)but
2012-11-15 16:47:23
94
转载 IOS关于通过drawrect的画出的tableview上面数据刷新
自定义tableviewcell ,也就是写了一个类,继承自tableviecell,然后重写了一下drawRect这个方法在return cell 加上一句 [cell setNeedsDisplay]问题解决。这句代码的含义,也就是重新绘制的意思。
2012-11-15 14:04:59
1884
转载 关于通过drawrect的画出的tableview上面数据刷新
自定义tableviewcell ,也就是写了一个类,继承自tableviecell,然后重写了一下drawRect这个方法也就是重用机制的问题,所以我只要在return cell ;这句之前加上一句 [cell setNeedsDisplay];问题解决。这句代码的含义,也就是重新绘制的意思。
2012-11-15 11:54:16
152
转载 苹果App Store程序提交审核指南中文版
前言感谢您付出宝贵的才华与时间来开发iOS应用程程序。从职业与报酬的角度而言,这对于成千上万的开发员来说一直都是一项值得投入的事业。我们希望帮助您加入这个成功的组织。这是我们首次发布《应用程序商店评估指导》(App Store Review Guidelines)。通过它,我们希望帮助您解决开发应用程序时遇到的问题,以便于您在提交应用程序时,可以加快审批流程的速度。我们将应
2012-10-31 16:39:25
1765
转载 ios开发中归档的使用
1、面向对象的程序在运行的时候会创建一个复杂的对象图,经常要以二进制的方法序列化这个对象图,这个过程叫做Archiving. 二进制流可以通过网络或写入文件中例:NSKeyedArchiver========================================================*/NSString *str = @”abc”;NSString *ast
2012-10-23 18:57:58
17334
1
转载 IOS开发中JSON常用转换
JSON是一种新的用于在互联网上进行数据交换的标准格式。由于它的冗余、可读性和可解析性都比XML要好,因此JSON这种数据交换格式越来越广泛地运用于Web应用,尤其是Ajax应用中。在Cocoa中使用JSON也很简单,目前有两个JSON的框架,都很容易使用,而且都对NSDictionary进行了扩展,您可以选择其一将JSON“揉”到您的Cocoa应用程序里。一个叫做BSJSonAddi
2012-06-13 14:00:05
5297
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人