Fork me on GitHub

文章分类 -  objective-c

1 2 3 下一页

what is difference between alloc and allocWithZone
摘要:A good example for using allocWithZone: is when you are implementing the NSCopy protocol, which allows you make your custom objects copyable (deep copy / copy by value) like: ClassName *newObject = [currentObject copy]; //results in newObject being a copy of currentObject not just a reference to itT 阅读全文

posted @ 2012-05-13 23:08 pengyingh 阅读(447) 评论(0) 推荐(0) 编辑

(单例权威)Using the Singleton Pattern in Objective-C
摘要:原文:http://www.duckrowing.com/2010/05/21/using-the-singleton-pattern-in-objective-c/感谢作者what the purpose of the +allocWithZone override is?+allocWithZone is overridden to make sure you can only allocate a single instance of this object. All subsequent calls should return nil.I don't think you' 阅读全文

posted @ 2012-05-11 16:03 pengyingh 阅读(552) 评论(0) 推荐(0) 编辑

数组中所有对象都执行某个SEL
摘要:NSArray *allObject = [dictionary allValues];[allObject makeObjectsPerformSelector:@selector(objSel)]; 阅读全文

posted @ 2012-05-10 18:06 pengyingh 阅读(159) 评论(0) 推荐(0) 编辑

循环引用
摘要:http://www.cnblogs.com/wustlj/archive/2011/12/20/2294745.html所有的引用计数系统,都存在循环应用的问题。例如下面的引用关系:对象a创建并引用到了对象b.对象b创建并引用到了对象c.对象c创建并引用到了对象b.这时候b和c的引用计数分别是2和1。当a不再使用b,调用release释放对b的所有权,因为c还引用了b,所以b的引用计数为1,b不会被释放。b不释放,c的引用计数就是1,c也不会被释放。从此,b和c永远留在内存中。这种情况,必须打断循环引用,通过其他规则来维护引用关系。比如,我们常见的delegate往往是assign方式的属性 阅读全文

posted @ 2012-05-10 17:37 pengyingh 阅读(2973) 评论(0) 推荐(0) 编辑

旧版本转换成支持ARC版本
摘要:1.TARGETS --->build settings 搜索 compiler 找到 compiler for c/c++/objective-c 改成 APPLE LLVM compiler 3.02.TARGETS --->build settings 搜索 analyzer Run Static Analyzer 改成 YES3.TARGETS --->build settings 搜索 automatic objective-c Automatic Reference Counting 改成YES4.From Xcode's m... 阅读全文

posted @ 2012-05-10 09:32 pengyingh 阅读(366) 评论(0) 推荐(0) 编辑

CFDictionary存储CGPoint和结构体等数据
摘要:ask:I am trying to use a snippet of code from a Apple programming guide, and I am getting a EXC_BAD_ACCESS when trying to pass a pointer to a function, right after doing a malloc.(For Reference:iPhone Application Programming Guide: Event Handling - Listing 3-6)The code in question is really simple:C 阅读全文

posted @ 2012-05-04 15:29 pengyingh 阅读(2897) 评论(0) 推荐(0) 编辑

strong weak
摘要:strong与weak是由ARC新引入的对象变量属性ARC引入了新的对象的新生命周期限定,即零弱引用。如果零弱引用指向的对象被deallocated的话,零弱引用的对象会被自动设置为nil。@property(strong) MyClass *myObject;相当于@property(retain) MyClass *myObject;@property(weak) MyOtherClass *delegate;相当于@property(assign) MyOtherClass *delegate;强引用与弱引用的广义区别:强引用也就是我们通常所讲的引用,其存亡直接决定了所指对象的存亡。如果 阅读全文

posted @ 2012-05-04 14:49 pengyingh 阅读(211) 评论(0) 推荐(0) 编辑

Objective-C equivalent of Java Vector/ ArrayList
摘要:http://stackoverflow.com/questions/2271492/objective-c-equivalent-of-java-vectorask:What is the equivalent for Vector's of Java in Objective-C?answer:Try using NSMutableArray.The closest thing you will find is NSMutableArray, execpt that contrary to java Vector, it is not thread safe. If you do 阅读全文

posted @ 2012-04-28 12:41 pengyingh 阅读(1163) 评论(0) 推荐(0) 编辑

gdb调试 查看变量值 struct
摘要:http://blog.csdn.net/flyhawk007j2me/article/details/6829238最近才发现可以用ptype来获取到结构体的结构信息,进而取得变量的值还可以在调试过程中调用函数来获取你想要的输出。#include<stdio.h>[cpp]view plaincopytypedefstructtagvec{intsize;charname[1];}vec;int debug_cat(vec *v){ printf("vector size:%d \n vector:%s \n",v->size,v->name);f 阅读全文

posted @ 2012-04-27 20:27 pengyingh 阅读(4268) 评论(0) 推荐(0) 编辑

NSRange and NSString对象
摘要:版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://iphonedevelopment.blogbus.com/logs/58282161.html本文转载自www.madhome.org开发论坛当谈到NSString方法时,你会发现许多都涉及到NSRange。不必担心,它其实只不过是一种C语言结构用来帮助描述一系列的条款,包括一个起点位置和一个计数方法。例如,一个行列通过从另一个字符串中摘取一个子字符串的方法是很有效的。你可以对其指定起始位置以及所需的元素数量(下面会向你具体阐述)。NSRange 定义关于NSRange的结构,定义如下:typedef struct 阅读全文

posted @ 2012-04-16 10:25 pengyingh 阅读(7244) 评论(2) 推荐(1) 编辑

objective-c适用c数学函数 <math.h>
摘要:转载:http://hi.baidu.com/delphi9527/blog/item/2f29650d1302f2306159f319.html在实际工作中有些程序不可避免的需要使用数学函数进行计算,比如地图程序的地理坐标到地图坐标的变换。Objective-C做为ANSI C的扩展,使用C标准库头文件<math.h>中定义的数学常量宏及数学函数来实现基本的数学计算操作,所以不必费神再在Cocoa Foundation中寻找相应的函数和类了。这里列出一些常用宏和数学函数,更详细的信息还是需要去查阅<math.h>头文件。数学常量:#define M_E 2.71828 阅读全文

posted @ 2012-04-16 10:18 pengyingh 阅读(2925) 评论(0) 推荐(0) 编辑

Objective-C中的一些特殊的数据类及NSLog的输出格式
摘要:在Objective-C中,有一些我们之前并不熟悉但是经常见到的数据类型,比如id、nil、Nil、SEL等等。在很多文章里,我们都见过这些数据类型的介绍,但是都没有说的太清楚。这篇文章从最底层的定义开始,介绍一下这些类型到底是怎么定义的,这会帮助我们更加深入地了解Objective-C。参考:http://unixjunkie.blogspot.com/2006/02/nil-and-nil.htmlhttp://blog.csdn.net/itudou_2010/article/details/5501840Objective-C中有一些很有趣的数据类型经常会被错误地理解。他们中的大多数都 阅读全文

posted @ 2012-04-10 15:44 pengyingh 阅读(3560) 评论(0) 推荐(1) 编辑

Singleton 单例模式
摘要:Singleton 单例模式,又叫单子模式,是一种常见的软件设计模式。这种模式的特点就是应用了Singleton 单例模式的类必须保证始终只有一个实例(对象)存在。许多时候系统中需要某个类只能同时存在一个对象,而且可以全局调用。单例模式的思路是一个类能返回对象一个实例(永远是同一个)和一个获得该实例的方法(必须是静态方法,通常使用 getInstance这个名称);当我们调用这个方法时,如果类持有的实例不为空,就返回这个实例;如果类保持的实例为空,就创建该类的实例,并将实例赋予该类保持的实例,从而限制用户只有通过该类提供的静态方法来得到该类唯一的实例。单例模式在多线程场合下必须小心使用。当唯一 阅读全文

posted @ 2012-04-04 22:45 pengyingh 阅读(261) 评论(0) 推荐(0) 编辑

NSSet 集合对象
摘要:集合 NSSet 对象是一组单值对象的组合,比如,1个包含1到50的数字的集合。集合对象的操作包括搜索、添加、删除集合中的成员(可变集合的功能),比较两个集合,计算两个集合的交集和并集等。NSSet 常用方法总结+(id)setWithObjects:obj1,obj2,...nil使用一组对象创建新的集合-(id)initWithObjects:obj1,obj2,....nil使用一组对象初始化新分配的集合-(NSUInteger)count返回集合成员个数-(BOOL)containsObject:obj确定集合是否包含对象 obj-(BOOL)member:obj确定集合是否包含对象 阅读全文

posted @ 2012-04-04 22:29 pengyingh 阅读(249) 评论(0) 推荐(0) 编辑

The Objective-C Singleton
摘要:Below is a template for the singletons that we use in objective-c.MySingleton.h:#import <Foundation/Foundation.h>@interface MySingleton : NSObject {}+(MySingleton*)sharedMySingleton;-(void)sayHello;@endMySingleton.m:@implementation MySingletonstatic MySingleton* _sharedMySingleton = nil;+(MySi 阅读全文

posted @ 2012-04-04 21:47 pengyingh 阅读(184) 评论(0) 推荐(0) 编辑

Objective-c的@property 详解
摘要:之前很多网友对我翻译的教程中的Property的使用感到有些迷惑不解,搞不清楚什么时候要release,什么时候要self.xxx = nil;同时对于Objective-c的内存管理以及cocos2d的内存管理规则不够清楚。本文主要讲解objc里面@property,它是什么,它有什么用,atomic,nonatomic,readonly,readwrite,assign,retain,copy,getter,setter这些关键字有什么用,什么时候使用它们。至于Objc的内存管理和cocos2d的内存管理部分,接下来,我会翻译Ray的3篇教程,那里面再和大家详细讨论。今天我们的主要任务是. 阅读全文

posted @ 2012-03-25 11:29 pengyingh 阅读(901) 评论(0) 推荐(1) 编辑

#if 判断条件
摘要:不用#if:NSString*deviceType =[UIDevice currentDevice].model;if([deviceType isEqualToString:@"iPhone"]){ //iPhone}elseif([deviceType isEqualToString:@"iPod touch"]){ //iPod Touch}else{ //iPad}使用#if:#ifdefUI_USER_INTERFACE_IDIOM //注意此处没有括号//UI_USER_INTERFACE_IDIOM 是枚举类型结构体,内有typedefe 阅读全文

posted @ 2012-03-23 11:18 pengyingh 阅读(1411) 评论(0) 推荐(0) 编辑

Objective-C的单例模式(singleton)
摘要:如果你准备写一个类,希望保证只有一个实例存在,同时可以得到这个特定实例提供服务的入口,那么可以使用单态设计模式。单态模式在Java、C++中很常用,在Cocoa里,也可以实现。但是,Objective-C的单例模式绝对和你所想象不一样,他的写法和你所见过的所有语言的写法都不一样。官方建议由于自己设计单态模式存在一定风险,主要是考虑到可能在多线程情况下会出现的问题,因此苹果官方建议使用以下方式来实现单态模式:static MyGizmoClass *sharedGizmoManager = nil;+ (MyGizmoClass*)sharedManager{ @synchronized(sel 阅读全文

posted @ 2012-03-20 23:32 pengyingh 阅读(539) 评论(0) 推荐(0) 编辑

iPhone开发:Objective C 代码规范-iOS总结版
摘要:一,关于空行A:.h中的空行1,文件说明与头文件包涵(#import)之间空1行2,头文件包涵(#import)之间,如果需要分类区别,各类别之间空1行3,头文件包涵(#import)与@class之间空2行4,@interface与@class之间空一行5,头文件{}里面,空1行开始声明对象成员,如果需要分类区别,各类别之间空1行6,{}外空1行,书写属性,如果需要分类区别,各类别之间空1行7,空1行开始写方法,如果需要分类区别,各类别之间空1行8,方法完成后,空1行@end9,如果需要声明protocal,空2行接着写。通常protocal写在@end后面,但是声明在@interface前 阅读全文

posted @ 2012-03-19 10:23 pengyingh 阅读(4406) 评论(0) 推荐(0) 编辑

【object-c基础】Object-c基础之五:在项目开发中Xcode的常用功能
摘要:1.菜单栏分别有文件,编辑,视图,导航,编辑器,产品,窗口和帮助栏目。我们说下我们平常用的最多的菜单栏。(1)新建文件和打开文件(2)清除内存在项目开发中,多次编译之后经常会遇到突然xcode卡死了,或者自己更改的代码在模拟器上还是没有改变时,可以选择product里面的clean,把内存清除掉。在项目基本功能实现时,最后一般都要做内存的泄漏处理,我们可以通过product里面的Analyze来处理。比如:我做的一个项目中,通过product里面的Analyze进行分析,点击左边出现的可能泄漏情况,然后通过释放之后重新编译运行看是否会出现异常,在这里要非常注意:并非xcode发现的左边里的警告 阅读全文

posted @ 2012-03-10 15:10 pengyingh 阅读(774) 评论(1) 推荐(1) 编辑

1 2 3 下一页

导航