linyawen

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  IOS

ios iphone 开发
摘要:Objective C是一个不错的开发语言,Objective-C不支援运算子多载,与C++不同,但和Java相同,Objective C只容许对象继承一个类别(不设多重继承)。AD:iPhone开发语言Objective-C是一种简单的计算机语言,简称OC,支持复杂南通的面向对象编程。Objective C语言,通常写作ObjC和较少用的Objective C或Obj-C,是扩充C的面向对象编程语言。它主要使用于Mac OS X和GNUstep这两个使用OpenStep标准的系统,而在NeXTSTEP和OpenStep中它更是基本语言。ObjectiveC可以在gcc运作的系统写和编译,因为 阅读全文
posted @ 2012-05-28 00:38 linyawen 阅读(570) 评论(0) 推荐(0)

摘要:1,iphone,ipad 中尽量不用自动释放池。2,假如使用了自动释放池,就得小心:在每一个事件周期(event cycle)的开始,系统会自动创建一个自动释放池;在每一个事件周期的结尾,系统会自动销毁这个自动释放池。一般情况下,你可以理解为:当你的代码在持续运行时,自动释放池是不会被销毁的,这段时间内你也可以安全地使用自动释放的对象;当你的代码运行告一段落,开始等待用户输入(或者其它事件)时,自动释放池就会被释放掉,池中的对象都会收到一个release消息,有的可能会因此被销毁。新创建的自动释放池位于栈顶,响应autorelease 消息的 对象 跟随栈顶 的自动释放池一起销毁(最新创建的 阅读全文
posted @ 2012-05-25 16:44 linyawen 阅读(199) 评论(0) 推荐(0)

摘要:转自http://www.macx.cn/MINI/default.asp?605-1992511-0-0-0-0-0-a-.htm 阅读全文
posted @ 2012-05-18 17:55 linyawen 阅读(234) 评论(0) 推荐(0)

摘要:http://www.devbean.info/2011/04/from_cpp_to_objc_17/异常处理比起 C++ 来,Objective-C 中的异常处理更像 Java,这主要是因为 Objective-C 有一个 @finally 关键字。Java 中也有一个类似的 finally 关键字,但 C++ 中则没有。finally 是 try()…catch() 块的一个可选附加块,其中的代码是必须执行的,不管有没有捕获到异常。这种设计可以很方便地写出简短干净的代码,比如资源释放等。除此之外,Objective-C 中的 @try…@catch…@finally 是很经典的设计,同大 阅读全文
posted @ 2012-05-16 09:27 linyawen 阅读(876) 评论(0) 推荐(0)

摘要:转自http://blog.xmnn.cn/?22/viewspace-22210在 VMWare 安装 Mac 时系统默认的设置打不开3D加速解决方法。用记事本打开虚拟机文件夹里面以.vmx结尾的文件,在末尾添加3行:mks.enable3d = "TRUE"svga.vramSize = 67108864vmmouse.present = FALSE然后,主菜单Edit > Preferences,input标签。把Ungrab when cursor leaves window的钩去掉。如此,就可以在VMWare里面使用3D加速了。 阅读全文
posted @ 2012-05-15 12:03 linyawen 阅读(6233) 评论(0) 推荐(0)

摘要:转自http://mobile.51cto.com/iphone-285157.htmObjective-C中多态、动态类型和动态绑定是本文要介绍的内容,主要是俩学习Objective-C中的一些相关的内容,从而来学习Objective-C的使用方法,具体内容来看详细内容讲解。AD:Objective-C中多态、动态类型和动态绑定是本文要介绍的内容,主要是俩学习Objective-C中的一些相关的内容,从而来学习Objective-C的使用方法,具体内容来看详细内容讲解。一、多态相同的名称、不同的类。使不同的类共享相同的方法名称的能力。二、动态绑定和id类型id——通用的对象类型,可以用来存储 阅读全文
posted @ 2012-05-15 09:59 linyawen 阅读(359) 评论(0) 推荐(0)

摘要:转自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 阅读(269) 评论(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 阅读(592) 评论(1) 推荐(0)

摘要:转自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 阅读(2169) 评论(0) 推荐(0)

摘要:转自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 阅读(243) 评论(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 阅读(267) 评论(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 阅读(191) 评论(0) 推荐(0)

摘要: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 阅读(1448) 评论(0) 推荐(0)

摘要:转自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 阅读(2877) 评论(1) 推荐(0)

摘要:本来网上在vmware上搞黑苹果教程已经比较完善而且 大多类似,但是经常有网友反映一些可能出现的意外情况,本人在此做一些补充说明,希望对广大ios爱好者有所帮助1,部分电脑会出现,加载 max .dmg (苹果系统镜像)文件 后,无响应,还是停留在 please insert...cd..解决:此时只要用UltraISO把 dmg 格式转成 标准iso格式即可。2,然后系统装完时,可能会 类似“提示 Mac 安装失败”消息。解决:其实已经成功,重启用就可以darwin 或者其他引导就可以。3,安装 xcode sdk 时可能会出现 "安装器错误.."啥的。解决:把mac 的 阅读全文
posted @ 2012-04-27 23:44 linyawen 阅读(2760) 评论(0) 推荐(0)

摘要:我也是黑苹果一族,不买 Mac 的原因各不相同,这里就不说了。即便是装了黑苹果,由于需要在 Windows 上长时间工作,就想能不能在 Win 上弄个 OC 的编译环境,这样可以方便学习 OC,省的来回切换。这篇文章的大部分内容均来自于网上,具体可参见《参考》部分。本文是作者在实际使用后整理所得,如有疏漏,请不吝赐教,谢谢。安装上网搜了搜,这方面的资料真是不少,必备的东东是 GNUstep Developer Tools,可以参考这个链接Windows Installer,安装很简单,按照顺序 GNUstep System、GNUstep Core、GNUstep Developer 安装即可 阅读全文
posted @ 2012-04-10 18:03 linyawen 阅读(5570) 评论(0) 推荐(0)

摘要:最近打算针对iPhone、iPod touch和iPad开发一些应用,所以,需要开始学习Objective C(苹果推出的类似C语言的开发语言)。由于苹果的自我封闭的产业链发展模式(从芯片、机器、开发语言、终端产品、服务)的限制,要想开发针对苹果 iPhone等产品的应用程序,就需要用Mac机器,在Xcode的IDE上使用Objective C语言开发。Mac机器就不用说了,那比PC机器要贵不少(当然性价比还是很高的),所以,要想廉价方式学习Objective C就必须要在Windows上能搭建一个Objective C开发环境。好了,不说废话了。 在Windows下搭建Objective C 阅读全文
posted @ 2012-04-10 18:02 linyawen 阅读(4761) 评论(1) 推荐(2)