摘要:
监控控应用程序的高级行为是应用程序委托对象的责任,而应用程序委托对象是您提供的定制类实例。委托是一种避免对复杂的UIKit对象(比如缺省的UIApplication对象)进行子类化的机制。在这种机制下,您可以不进行子类化和方法重载,而是将自己的定制代码放到委托对象中,从而避免对复杂对象进行修改。当您感兴趣的事件发生时,复杂对象会将消息发送给您定制的委托对象。您可以通过这种“挂钩”执行自己的定制代码,实现需要的行为。 应用程序的委托对象负责处理几个关键的系统消息。每个iPhone应用程序都必须有应用程序委托对象,它可以是您希望的任何类的实例,但需要遵循UIApplicationDelegate. 阅读全文
摘要:
instancesrespondToSelector 是什么意思。与 respondsToSelector 有什么区别?instancesRespondToSelector是指类的实例们是否能响应某一个方法(类操作),respondsToSelector是指类是否能响应某一方法(对象)举例:instancesRespondToSelector:[AVPlayerIteminstancesRespondToSelector:@selector(duration)] ;(建议使用这种方式)使用这种方式也可以判断IOS系统的版本是否支持某个方法或者属性举例:if([AVPlayerIteminsta 阅读全文
摘要:
原文连接http://www.cnblogs.com/dc10101/archive/2007/08/22/865556.htmlC语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容chara='A';//globalvariablevoidmsg(){printf("Hello\n");}下面是ma 阅读全文
摘要:
delegate (委托)设计模式iOS 编程语言是 Objective-C, 简称 OC。 谈起 OC的特性,人们常说,OC 不支持多继承。但 Delegate 弥补了这个缺陷。 有了Delegate,在声明对象时,可以使其遵循多个协议。 从而解决了多继承问题。 Delegate ,又称为 委托或代理, 它是一种设计模式。 学习iOS开发,需要深入理解Delegate的用法。 Apple 对Delegate 有明确的说明。http://developer.apple.com/library/ios/#documentation/General/Conceptual/DevPedia-Coco 阅读全文
摘要:
delegate代理模式顾名思义就是委托别人去做事情。IOS中经常会遇到的两种情况:在cocoa框架中的Delegate模式与自定义的委托模式。下面分别举例说明一下:一、cocoa框架中的delegate模式在cocoa框架中的Delegate模式中,委托人往往是框架中的对象(视图中的控件、表视图神马的),代理人往往是视图控制器对象。在我们这个例子中UITableView是委托人,代理人首先得满足一个条件:就是在.h文件中申明它拥有代理资格:@interface WhateverViewController < UITableViewDelegate >@end红色的表示这个视图控 阅读全文
摘要:
static关键字是C, C++中都存在的关键字, 它主要有三种使用方式, 其中前两种只指在C语言中使用, 第三种在C++中使用(C,C++中具体细微操作不尽相同, 本文以C++为准).(1)局部静态变量(2)外部静态变量/函数(3)静态数据成员/成员函数下面就这三种使用方式及注意事项分别说明一、局部静态变量在C/C++中, 局部变量按照存储形式可分为三种auto, static, register( <C语言程序设计(第二版)> 谭浩强, 第174-175页)与auto类型(普通)局部变量相比, static局部变量有三点不同1. 存储空间分配不同auto类型分配在栈上... 阅读全文
摘要:
更多阅读请访问:http://www.hopean.comiOS4已经直接支持blocks,很有必要学习一下。在ios,blocks是对象,它封装了一段代码,这段代码可以在任何时候执行。Blocks可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值。它和传统的函数指针很类似,但是有区别:blocks是inline的,并且它对局部变量是只读的。Blocks的定义: int (^myBlock) (int a,int b) = ^(int a,int b){ return a+b; }; 定义了一个名为myBlock的blocks对象,它带有两个i... 阅读全文
摘要:
更多阅读请访问http://www.hopean.com自从引进了iOS5,iPhone,iPad,iPodTouch编程改变了很多。整个runtime和objective-c的编码方式发生了戏剧性的改变。ARC(Automatic Reference Counting - 自动引用计数)技术现在引入到LLVM编译器(LLVM Compiler)中,在某些方面,使程序更加灵活,另一方面使runtime更加脆弱。 在这章中,我们将谈论,在objective-c runtime ARC下,如何使用对象,以及怎么管理它们。从手工引用计数到自动引用计数(ARC) Problem 学习Aut... 阅读全文
摘要:
OS5中加入了新知识,就是ARC,其实我并不是很喜欢它,因为习惯了自己管理内存。但是学习还是很有必要的。在iOS开发过程中,属性的定义往往与retain, assign, copy有关,我想大家都很熟悉了,在此我也不介绍,网上有很多相关文章。现在我们看看iOS5中新的关键字strong, weak, unsafe_unretained. 可以与以前的关键字对应学习strong与retain类似,weak与unsafe_unretained功能差不多(有点区别,等下会介绍,这两个新关键字与assign类似)。在iOS5中用这些新的关键字,就可以不用手动管理内存了,从java等其它语言转过来的程序 阅读全文
摘要:
指针变量和实际对象Immutable strings// Setup two variables to point to the same stringNSString*str1=@"HelloWorld";NSString*str2=str1;// "Replace" the second stringstr2=@"Helloikilimnik";// And list their current valuesNSLog(@"str1=%@,str2=%@",str1,str2);output:str1 = He 阅读全文