_视图控制对象生命周期-init、viewDidLoad、viewWillAppear、viewDidAppear、viewWillDisappear等的区别及用途
摘要:iOS视图控制对象生命周期-init、viewDidLoad、viewWillAppear、viewDidAppear、viewWillDisappear、viewDidDisappear的区别及用途init-初始化程序viewDidLoad-加载视图viewWillAppear-UIViewController对象的视图即将加入窗口时调用;viewDidApper-UIViewController对象的视图已经加入到窗口时调用;viewWillDisappear-UIViewController对象的视图即将消失、被覆盖或是隐藏时调用;viewDidDisappear-UIViewContr
阅读全文
posted @
2013-12-05 11:34
flower42
阅读(177)
推荐(0)
memset、strcpy、memcpy、函数详解
摘要:功 能: 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作 用 法: void *memset(void *s, char ch, unsigned n); 程序例: #include #include #include int main(void) { char buffer[] = "Hello world/n"; printf("Buffer before memset: %s/n", buffer); memset(buffer, '*',
阅读全文
posted @
2013-12-05 10:24
flower42
阅读(301)
推荐(0)
IOS开发之----#import、#include和@class的区别
摘要:1. 一般来说,导入objective c的头文件时用#import,包含c/c++头文件时用#include。2. #import 确定一个文件只能被导入一次,这使你在递归包含中不会出现问题。所以,#import比起#include的好处就是不会引起交叉编译。#import && #class:如果#import"路径/类名.h" //是为了区分项目中区别不同路径下相同的类名,如果确保没有相同的类名,可省路径。直接import类名1. import会包含这个类的所有信息,包括实体变量和方法(.h文件中),而@class只是告诉编译器,其后面声明的名称是类的
阅读全文
posted @
2013-12-04 13:36
flower42
阅读(612)
推荐(0)
objective_C中用@interface和 @property 方式声明变量的区别
摘要:转帖请在开头处注明文章链接,请支持原创。 一直有疑问,在objective_C中声明变量会有 2种方式,今天有空和网友讨论了下,并且自己查了stackoverflew后算是稍微弄懂了一点。记录如下: 用了一段oc;会发现有2种定义变量的方式 1.在 @interface :NSObject{} 的括号中,当然NSObject 是指一个父类,可以是其他的。 形式如下:1@interface GCTurnBasedMatchHelper : NSObject {2BOOL gameCenterAvailable;3BOOL userAuthenticated;4 } 2.另外一种是...
阅读全文
posted @
2013-11-22 11:55
flower42
阅读(175)
推荐(0)
iPhone网络编程之--Reachability
摘要:一:确认网络环境3G/WIFI1. 添加源文件和framework开发Web等网络应用程序的时候,需要确认网络环境,连接情况等信息。如果没有处理它们,是不会通过Apple的审(我们的)查的。Apple 的 例程 Reachability 中介绍了取得/检测网络状态的方法。要在应用程序程序中使用Reachability,首先要完成如下两部:1.1. 添加源文件:在你的程序中使用Reachability 只须将该例程中的 Reachability.h 和 Reachability.m 拷贝到你的工程中。如下图:1.2.添加framework:将SystemConfiguration.framewo
阅读全文
posted @
2013-11-16 10:23
flower42
阅读(140)
推荐(0)
ASIHTTPRequest 详解, http 请求终结者2
摘要:安全的内存回收建议request并没有retain你的delegate,所以在没有请求完的时候释放了此delegate,需要在dealloc方法里先取消所有请求,再释放请求实例,如:复制代码- (void)dealloc{ [request clearDelegatesAndCancel]; [request release]; ... [super dealloc];}向服务器端上传数据ASIFormDataRequest ,模拟 Form表单提交,其提交格式与 Header会自动识别。没有文件:application/x-www-form-urlencoded有文件:multipart/f
阅读全文
posted @
2013-11-16 08:27
flower42
阅读(275)
推荐(0)
ASIHTTPRequest 详解, http 请求终结者
摘要:创建一个异步请求异步请求的好处是不阻塞当前线程,但相对于同步请求略为复杂,至少要添加两个回调方法来获取异步事件。下面异步请求代码完成上面同样的一件事情:复制代码- (IBAction)grabURLInBackground:(id)sender{ NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"]; ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; [request setDelegate:self]; [request star
阅读全文
posted @
2013-11-16 08:25
flower42
阅读(182)
推荐(0)
UISearchDisplayController使用注意事项
摘要:1、每个UIViewController都有一个searchDisplayController属性,用当前视图控制器初始化一个UISearchDisplayController对象后,searchDisplayController就指向这个对象,所以不用将这个对像声明为属性或者全局变量了,直接用self.searchDisplayController就可以了。1、每个UIViewController都有一个searchDisplayController属性,用当前视图控制器初始化一个UISearchDisplayController对象后,searchDisplayController就指向这
阅读全文
posted @
2013-11-16 08:00
flower42
阅读(402)
推荐(0)
object-c开发中混合使用或不使用ARC
摘要:xcode不断进步,在xcode4中引入了ARC的概念。您用或者不用它就在那里,于是有了本文:如何在未使用arc的工程中引入一个使用了arc特性的文件,如何在arc工程中引用未使用arc的文件。其实说白了也很简单就是在”Compile Sources”中对相应的文件加入使用或者不使用arc的flagok,首选“Compile Sources”的位置:选中工程->TARGETS->相应的target然后选中右侧的“Build Phases”,向下就找到“Compile Sources”了。如何在未使用arc的工程中引入一个使用了arc特性的文件:对相应的文件添加:-fobjc-arc
阅读全文
posted @
2013-11-11 16:36
flower42
阅读(161)
推荐(0)
Objective-c 的 @property 详解
摘要:既然有错误,那么我们就来想法解决啦,编译器说没有@property,那好,我们就定义property,请看代码://in BaseClass.h@interface BaseClass : NSObject{@public NSString *_name;}@property(nonatomic,copy) NSString *name;//in BaseClass.m@synthesize name = _name;现在,编译并运行,ok,很好。那你可能会问了@prperty是不是就是让”."号合法了呀?只要定义了@property就可以使用.号来访问类的数据成员了?先让我们来看下
阅读全文
posted @
2013-11-11 16:21
flower42
阅读(270)
推荐(0)
iPhone的Push(推送通知)功能原理浅析
摘要:第一部分:Push原理(以下绝大多数内容参考自、图片来自iPhone OS Reference Library)机制简介Push 的工作机制可以简单的概括为下图,Provider是指某个iPhone软件的Push服务器。APNS 是Apple Push Notification Service(Apple Push服务器)的缩写,下文统一使用该缩写。因 此,整个过程可以分为三个阶段,下面用大家常用的聊天客户端BeejiveIM来说明。(BeejiveIM是一款支持多账户登录的支持Push的 iPhone聊天客户端,支持MSN、Google Talk等)此时Provider为BeejiveIM服
阅读全文
posted @
2013-11-11 15:24
flower42
阅读(232)
推荐(0)
Objective-C内存管理教程和原理剖析3
摘要:三 @property (retain)和@synthesize的默认实现在这里解释一下@property (retain) ClassB* objB;和@synthesize objB;背后到底发生了什么(retain property的默认实现)。property实际上是getter和setter,针对有retain参数的property,背后的实现如下(请参考附件中的memman-getter-setter.m,你会发现,结果和memman-property.m一样):@interface ClassA : NSObject{ ClassB *objB;}-(ClassB *) getO
阅读全文
posted @
2013-11-11 14:22
flower42
阅读(103)
推荐(0)
Objective-C内存管理教程和原理剖析2
摘要:二口诀与范式1 口诀。1.1 谁创建,谁释放(类似于“谁污染,谁治理”)。如果你通过alloc、new或copy来创建一个对象,那么你必须调用release或autorelease。换句话说,不是你创建的,就不用你去释放。例如,你在一个函数中alloc生成了一个对象,且这个对象只在这个函数中被使用,那么你必须在这个函数中调用release或autorelease。如果你在一个class的某个方法中alloc一个成员对象,且没有调用autorelease,那么你需要在这个类的dealloc方法中调用release;如果调用了autorelease,那么在dealloc方法中什么都不需要做。1.2
阅读全文
posted @
2013-11-11 14:20
flower42
阅读(126)
推荐(0)
Objective-C内存管理教程和原理剖析
摘要:此文涉及的内存管理是针对于继承于NSObject的Class。一基本原理Objective-C的内存管理机制与.Net/Java那种全自动的垃圾回收机制是不同的,它本质上还是C语言中的手动管理方式,只不过稍微加了一些自动方法。1 Objective-C的对象生成于堆之上,生成之后,需要一个指针来指向它。ClassA *obj1 = [[ClassA alloc] init];2 Objective-C的对象在使用完成之后不会自动销毁,需要执行dealloc来释放空间(销毁),否则内存泄露。[obj1 dealloc]; 这带来了一个问题。下面代码中obj2是否需要调用dealloc?Class
阅读全文
posted @
2013-11-11 14:17
flower42
阅读(148)
推荐(0)
Objective-C语法快速参考
摘要:一、XCode、Objective-C、Cocoa说的是几样东西?答案:三样东西。XCode:你可以把它看成是一个开发环境,就好像Visual Studio或者Netbeans或者SharpDevelop一样的玩意。你可以将Interface Builder认为是Visual Studio中用来画界面的那部分功能单独提出来的程序。Objective-C:这是一种语言,就好像c++是一种语言,Java是一种语言,c#是一种语言,莺歌历史也是一种语言一样。Cocoa:是一大堆函数库,就好像MFC、.NET、Swing这类玩意,人家已经写好了一堆现成的东西,你只要知道怎么用就可以了。有些人会比较容易
阅读全文
posted @
2013-11-11 14:08
flower42
阅读(138)
推荐(0)
Objective-C语法
摘要:1.面象的读者在阅读本文之前,应具备使用与C类似的编程语言(如C,C++,JAVA)的一些经验,同时熟悉面向对象编程。 2.ObjC简介ObjC是以SmallTalk为基础,建立在C语言之上,是C语言的超集。20世纪80年代早期由 Brad J.Cox设计,2007年苹果公司发布了ObjC 2.0,并在iPhone上使用ObjC进行开发。3.ObjC学习内容学习的内容主要包括语法和Cocoa框架两部分。本文主要对语法进行介绍。4.IDE编写ObjC程序最主要的编译环境是Xcode,它是苹果官方提供的IDE,官网中的SDK包括Xcode,可以通过下载SDK来获得它。但是Xcode只支持MacOS
阅读全文
posted @
2013-11-11 14:02
flower42
阅读(240)
推荐(0)
一点基础的东西:Objective-C的类型和常量
摘要:Objective-C中有几种数据类型和C不太一样。特此记录。- id 是一个指针类型,可以指向任何类型的对象- BOOL和char是一样的,但是做为布尔值使用。YES 表示1NO 表示0- IBOutlet 是个没有任何意义的宏,可以忽略。当Interface Builder从.h文件中读取类定义时,这个宏会对其做出一个提示。- IBAction和void是一样的,同样仅用作对Interface Builder的提示。- nil和NULL是一样的,我们使用nil而不用NULL是因为我们用来表示对象的指针为空。另外#import和#include是一样的,但是#import可以确保引用的文件只
阅读全文
posted @
2013-11-11 11:29
flower42
阅读(168)
推荐(0)
UITextField的详细使用
摘要://用来显示“用户名”的label//初始化textfield并设置位置及大小UILabel* label1 = [[UILabelalloc]initWithFrame:CGRectMake(15,65,70,30)]; label1.backgroundColor= [UIColorclearColor]; label1.font= [UIFontfontWithName:@"Helvetica-Bold"size:18]; label1.text=@"用户名"; label1.textColor= [UIColorwhiteColor]; [vie
阅读全文
posted @
2013-09-07 11:30
flower42
阅读(165)
推荐(0)
TextField知多少
摘要:IOS-TextField知多少分类:IOS编程2012-10-28 20:449936人阅读评论(6)收藏举报//初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)];//设置边框样式,只有设置了才会显示边框样式 text.borderStyle = UITextBorderStyleRoundedRect;typedef enum { UITextBorderStyleNone, UITextBorderStyleLine, UIT...
阅读全文
posted @
2013-09-07 11:30
flower42
阅读(176)
推荐(0)