linyawen

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 28 下一页

2012年5月14日

摘要: 转自http://www.189works.com/article-31219-1.html之前一直做C++开发,最近2个多月转Objective-C, 入门的时候,遇到了很多的困惑。现在过节,正是解决他们的好时机。主要参考来自http://www.sealiesoftware.com/blog/archive/2009/04/14/objc_explain_Classes_and_metaclasses.htmlObjective-C 也是面向对象的语言,那么,首先需要知道的就是什么是class。C++ 的class相对Objective-C 中的class,就简单明了很多了。C++ 中cl 阅读全文
posted @ 2012-05-14 11:24 linyawen 阅读(260) 评论(0) 推荐(0) 编辑

摘要: 简而言之,你可以理解 @selector()就是取类方法的编号,他的行为基本可以等同C语言的中函数指针,只不过C语言中,可以把函数名直接赋给一个函数指针,而Objective-C的类不能直接应用函数指针,这样只能做一个@selector语法来取.它的结果是一个SEL类型。这个类型本质是类方法的编号(函数地址)?因此我们有如下代码。一、取得selector值.C函数指针intadd(intval) { returnval+1; } int(*c_func)(intval);//定义一个函数指针变量 _func=add;//把函数addr地址直接赋给c_funcObjective-C的选择器,@i 阅读全文
posted @ 2012-05-14 10:54 linyawen 阅读(583) 评论(1) 推荐(0) 编辑

2012年5月10日

摘要: 转自http://blog.csdn.net/ithero_zhou/article/details/7079031关键字@看到这个关键字,我们就应该想到,这是Object-C对C语言的扩展,例如@interface XXX。@interface声明类@implementation实现类@protocol声明协议@optional与@protocol配合使用,说明协议中的某个或者某几个方法可以不实现@required与@protocol配合使用,说明协议中的某个方法或者某几个方法必须实现@end与@interface ,@implementation,@protocol配合使用,代表声明或者实 阅读全文
posted @ 2012-05-10 17:48 linyawen 阅读(2162) 评论(0) 推荐(0) 编辑

2012年5月9日

摘要: 转自http://www.cnblogs.com/MobileDevelop/archive/2010/07/19/1779755.html这个系列打算写一些我对Iphone开发内存管理的理解。是建立在读者对Objective C的内存管理已经有一定理解的基础上,内容将包括实践准则,autorelease原理剖析,内存泄露的调试等。如果您对Objective C内存管理不太了解,建议先读一下Vince Yuan的这个教程。在进行IPhone开发时, 内存管理是个相对比较难以理解的东西。Objective-C 使用了一种介于C#和C++之间的内存管理机制。C#是基于Mark-sweep的GC, 阅读全文
posted @ 2012-05-09 17:52 linyawen 阅读(235) 评论(0) 推荐(0) 编辑

摘要: 转自http://www.cnblogs.com/MobileDevelop/archive/2010/07/19/1779138.html如果你能够真正的理解autorelease, 那么你才是理解了Objective c的内存管理。Autorelease实际上只是把对release的调用延迟了,对于每一个Autorelease, 系统只是把该Object放入了当前的Autorelease pool中, 当该pool被释放时,该pool中的所有Object会被调用Release。[1]在Iphone项目中,大家会看到一个默认的Autorelease pool,程序开始时创建,程序退出时销毁, 阅读全文
posted @ 2012-05-09 17:51 linyawen 阅读(263) 评论(0) 推荐(0) 编辑

摘要: 转自http://www.cnblogs.com/andyque/archive/2011/08/03/2125728.html之前很多网友对我翻译的教程中的Property的使用感到有些迷惑不解,搞不清楚什么时候要release,什么时候要self.xxx = nil;同时对于Objective-c的内存管理以及cocos2d的内存管理规则不够清楚。本文主要讲解objc里面@property,它是什么,它有什么用,atomic,nonatomic,readonly,readwrite,assign,retain,copy,getter,setter这些关键字有什么用,什么时候使用它们。至于O 阅读全文
posted @ 2012-05-09 17:48 linyawen 阅读(184) 评论(0) 推荐(0) 编辑

2012年5月4日

摘要: 转自http://blog.csdn.net/shan9liang/article/details/7533466每天都在叫嚣自己会什么技术,什么框架,可否意识到你每天都在被这些新名词、新技术所迷惑,.NET、XML等等技术固然诱人,可是如果自己的基础不扎实,就像是在云里雾里行走一样,只能看到眼前,不能看到更远的地方。这些新鲜的技术掩盖了许多底层的原理,要想真正的学习技术还是走下云端,扎扎实实的把基础知识学好,有了这些基础,要掌握那些新技术也就很容易了。要编写出优秀的代码同样要扎实的基础,如果排序和查找算法学的不好,怎么对程序的性能进行优化?废话不多说,本文要介绍的这些排序算法就是基础中的基础 阅读全文
posted @ 2012-05-04 14:05 linyawen 阅读(236) 评论(0) 推荐(0) 编辑

2012年5月3日

摘要: Foundation Kit是什么?你可以把它看作Java JDK中的java.lang包。不论是JavaME、JavaEE还是Android,各种变种Java环境,都拥有的基础类库,或者拥有它的一部分。Foundation Kit在Mac OS X和iOS开发中都包含。是这两个环境的最基础ObjC类库。比如,下面是Mac环境代码一般会引用的头文件:#import <Cocoa/Cocoa.h>Cocoa是Mac OS X环境下框架的统称。可以通过File>Open quickly打开这个头文件,发现它又引用了三个头文件:#import <Foundation/Foun 阅读全文
posted @ 2012-05-03 17:23 linyawen 阅读(1439) 评论(0) 推荐(0) 编辑

2012年5月2日

摘要: 转自http://www.cnblogs.com/biosli/archive/2011/04/30/Mixing_ObjectiveC_and_Cplusplus_in_iPhone_Development.html先说题外话,文章标题其实起的不好,在iOS的开发中,Apple建立的库基本都是用Objective-C写的,所以在这里的C++指的其实是Objective-C++。首先,最最最要紧的事情,不是代码而是编译器选项,在做混合编译之前一定要把编译器的Compile Sources As选项改为Objective C++。默认的选项是According to file type,用这个的 阅读全文
posted @ 2012-05-02 16:20 linyawen 阅读(2862) 评论(1) 推荐(0) 编辑

摘要: 宏定义(#define)的作用及使用方法属于C语言基础的范畴,本文不打算多做赘述,在此只是给出#define可能引起的或潜在的风险,希望对你有所帮助。 先看这个宏定义 1 #define MAX(A, B) (A > B ? A : B) 这个宏做一个加法的运算,你觉得它有什么问题吗??看看如下的调用会发生什么情况 1 int a = MAX(2, 1) + 3; 这里就有情况了,由于运算符的优先顺序不同,那么这里并不能得到我们期望的值。好的,我们可以这样解决 1 #define MAX(A, B) (A > B ? A : B) // 加个括号来预防上面的问题 好,上面的问题现. 阅读全文
posted @ 2012-05-02 15:37 linyawen 阅读(314) 评论(0) 推荐(0) 编辑

上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 28 下一页