自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

转载 Objective-C实现单例模式

如果你准备写一个类,希望保证只有一个实例存在,同时可以得到这个特定实例提供服务的入口,那么可以使用单态设计模式。单态模式在Java、C++中很常用,在Cocoa里,也可以实现。  由于自己设计单态模式存在一定风险,主要是考虑到可能在多线程情况下会出现的问题,因此苹果官方建议使用以下方式来实现单态模式:static MyGizmoClass *shared

2012-02-27 16:32:45 850

原创 Objective-C函数消息机制的理解

C语言中,函数调用过程:C语言中,编译完成后,函数名就是指向函数入口的地址,调用函数就是直接执行这个地址的代码。  而Objectiv-C是间接的方式,函数调用是向类或者对象发送消息,比如:[MyClass new],向MyClass发送消息new,查找MyClass的消息列表,如果找到new函数执行,MyClass里没找到就去父类中继续找,找不到就出错。  通过这种消息机制,Object

2012-02-22 17:54:56 1927

转载 IOS开发 应用程序本地化 总结

官方文档地址为:https://developer.apple.com/library/ios/#documentation/MacOSX/Conceptual/BPInternational/BPInternational.html#//apple_ref/doc/uid/10000171-SW11 xcode4.2,如果是简体中文,把国际化的文件放到zh-Hans.lproj中就显示正常了

2012-02-22 16:27:58 6712

原创 IOS Application应用程序核心架构

一个新建的IOS application程序主要由以下文件组成:  main.m  *appDelegate.h/.m  MainWindow.xib  *info.plist  IOS应用程序由UIKit封装,一个Application应用main函数标准实现如下:int main(int argc, char *argv[]){ NSAutoreleasePo

2012-02-21 13:11:29 3647 2

转载 iPhone开发:Objective-c中@property声明时的参数释疑

转一篇@property参数问题,一直在用但是具体原因不清楚可不行啊。  声明property的语法为:@property(属性 [, 属性2, ...])类型 名称;属性分为3类:1.读写属性(Writability)包含:readwrite / readonly2.setter语义(Setter Semantics)包含:assign / retai

2012-02-20 14:11:37 724

转载 深入理解iphone开发中的delegate

转篇IOS中Delegate的文章,看完之后了解到,它其实就是一个观察者,没有什么太特别的东西。先举一个例子:假如"我"的本职工作之一是“接电话”,但"我"发现太忙了或来电太杂了,于是我聘请一位"秘书"分担我“接电话”的工作,如果电话是老板打来的,就让“秘书”将电话转接给“我”。。。那么,“我”就是A Object.  “秘书”就是"我"的“Delegate”。写成代码就是

2012-02-20 13:55:14 674

原创 引用计数+智能指针的自析构类 (一)基本实现

主要思路,对来值ref(refcount + 1),对去值deref(refcount - 1),这样不需手动做ref、deref操作就能合理的管理引用计数值。  以下是more effective c++中智能指针+引用计数的实现,它的组成为:  1. RCObject,引用计数类的基类,它封装了refcount +、- 操作ref()、deref()。无需其它额外操作。  2. R

2012-02-13 17:57:58 1377

原创 __FUNCTION__宏引发的字符串有关问题

今天想要用__FUNCTION__宏做打印输出,可是搞了半天和char*、char[10]、const char等等有关的问题。  把我搞糊涂了,可以用:format("function = %S", __FUNCTION__);  但是,我用了各种方法想要把__FUNCTION__值赋值到char相关的字符串上,但是怎么也不能成功。。。要细致的看一看。  这种情况应该果断做强转,

2012-02-13 16:03:42 1769

原创 设计模式入门学习 Facade外观模式

Facade外观模式:为子系统中的一组接口功能封装一个更上层的便捷的接口。使复杂的存在很多子系统的模块使用方便。  这个模式并不难理解,我做过的Libpng库到Symbian移植就应用了该设计模式。  定义一组Symbian的.h和.cpp文件,定义导出接口。C库图片解码的调用序列,封装到相应的接口中,编译成DLL。这样Symbian中使用时不必关心C库实现步骤如何,只需要按正确方式调用我

2012-02-13 14:33:08 557

原创 C++构造函数调用,自动类型转换

主要讲自定义类型中的自动类型转换原则。  class SomeTest {public: SomeTest(int i); virtual ~SomeTest(); };  如上类型定义,有一个有意思的现象:  SomeTest test = 5;  上面语句编译正常,不报错,为什么呢??  原因很简单:  1. 编译器发现类型不匹配,需要做类型转换,先查查看看

2012-02-13 14:01:49 1813 2

原创 C++多重继承相关问题

多重继承的问题,首先想到多继承构造函数如何处理?  Symbian下是可以一个C类多个M类多重继承的  C++中的多继承,构造函数处理并没有问题,对象构造的时候按照继承中声明的顺序调用多个父类的构造函数,析构函数同样遵守单继承中的原则。二意性问题  如果多基类中存在同名成员,会产生二意性的问题  比如,Root1类中声明DoAny()接口,Root2类中也声明了DoAny()接

2012-02-10 18:03:27 6275

原创 设计模式入门学习 Decorator装饰模式

需要补全  好容易混淆,觉得好多模式相比起来只是应用情境不一样,叫法就不太相同,但是实质上是很像的。  装饰(Decorator)模式:实现不改变类代码前提下,动态地给一个对象添加一些额外的职责。  举个很容易理解的例子:  有一个文本显示类,TextView,它只负责显示文本。没有实现其它逻辑,现在我们要对它加入ScrollBar,滚动条功能。  建一个ScrollDecor

2012-02-10 15:29:51 708

原创 Symbian DLL中可写静态数据问题 (二)DLL中实现单例模式

直接使用WSD的方式就不介绍了,和普通的单例实现一样。使用TLS的Singleton的典型实现。class CSingleton : public CBase {public: // 访问/创建Singleton实例 IMPORT_C static CSingleton& InstanceL();private: // 为了表示清楚,这些函数没有实现 CSingle

2012-02-10 14:05:04 778

原创 Symbian DLL中可写静态数据问题

可写静态数据在EKA1的DLL中是不允许的,因为EKA1中,DLL具有分离的程序代码和只读数据区域,没有可写数据的区域。  EKA2中,支持在DLL中使用可写静态数据,但不建议使用,因为从内存使用看它的代价很大。  本文只讨论EKA2的情况,对EKA1中的情况不做讨论。  正常情况下,如果在DLL中加入可写静态数据(如全局变量)当编译真机版DLL代码时,返产生编译错误"XXX.dl

2012-02-09 16:58:57 559

原创 符点数运算,值的精度问题

今天实际应用中还真遇到了有关浮点数精度的问题,下面为问题概括代码: float num = 1.15; float test = num * 100; int test1 = test; int test2 = num * 100;  能看出test1和test2的值之间有什么差别吗?它们的值分别是115和114,什么原因呢?  不同类型运算会自动进行类型

2012-02-09 15:53:52 1172

转载 Symbian编程总结-了解篇-活动对象正解(4)-异步函数的同步调用

转自:http://www.cnblogs.com/felixYeou/archive/2008/11/25/1340893.html  关键内容在第2和第3部分,这部分是如何进行异步转同步,了解即可。        在上一节里我们深入了解了活动对象、活动调度器及异步函数服务器的工作原理及运行机制,想必大家对活动对象的机制及体系结构的运用已经了如指掌。但是大家有没有觉得异步函数使用

2012-02-08 11:47:14 630

转载 Symbian编程总结-关键篇-活动对象正解(3)-活动对象的工作原理

转自:http://www.cnblogs.com/felixYeou/archive/2008/11/23/1339619.html在上一节里我们已经知道如何创建和使用活动对象,大家对活动对象的创建、使用都有了一定的了解。在这一节里我将深入活动对象机制,分为“活动对象的工作流程”、“信号迷失错误”两个部分,为大家剖析活动对象的工作原理。一、活动对象工作流程首先我们用时

2012-02-08 11:45:31 474

转载 Symbian编程总结-关键篇-活动对象正解(2)-使用活动对象

转自:http://www.cnblogs.com/felixYeou/archive/2008/11/23/1339205.html  第2部分和第3部分是系列文章的关键,着重理解。在上一节里我们已经大致了解了活动对象的基本概念,要使用活动对象机制,需要用到活动对象、活动调度器、异步函数。我们想使用异步函数,要按照应用程序->活动对象->活动调度器->异步函数的流程来使用。接下来

2012-02-08 11:42:56 546

转载 Symbian编程总结-基础篇-活动对象正解(1)-理解活动对象

转自:杨芹勍博客系列文章:http://www.cnblogs.com/felixYeou/archive/2008/11/20/1337334.html  深入浅出,总结的非常精彩!!Symbian OS中的活动对象的使用无疑是最基础的、最频繁的、最重要的。什么是活动对象呢?大家学习一个新的事物时,总是会将这个新的事物与自己认知的事物相比较,从而达到快速学习的目的。我开始

2012-02-08 00:06:53 415

原创 Symbian客户端/服务器框架结构

写一篇总结,来加深印象。Symbian OS内核和内存管理单元为每个进程实现不同的内存映射地址空间,同时防止无关进程重写另一个进程的内存。唯一能够“看到”整个物理内存的进程是内核进程自身。所有的线程都是内核服务器的客户,并且正是内核帮助进程和它们所包含的线程之间进行通信。  这段话让我有点恍然大悟,客户端部分的RSessionBase和服务器部分的CSession2可以理解是对Kerr

2012-02-08 00:05:49 581

原创 设计模式入门学习 适配器Adapter模式

Adapter适配器设计模式,主旨思想:通过一个Adapter来使不相关类的接口符合自己的需求。  可用2种方式实现:  1. 在Adapter中加入需要使用接口类的实例,再用该实例实现的Adapter的接口  2. Adapter多重继承逻辑抽象类和需要使用接口类,再分别实现Adapter的接口

2012-02-06 16:47:42 693

原创 IOS开发 对数据做文件存储

iPhone开发基础教程这本书介绍,常用的数据存储方式有三种:  属性列表,是指用基本数据结构如NSArray,NSDictnary等封装的writetoFile接口,把数据写入到plist,注意这种方式只支持基础数据类型,不多做介绍  对象归档(归档这个名字有点怪,是对archive的翻译),比较常用,主要对这种方式做个介绍。  SQLite3,个人认为不好用,不是特殊的应用情境也不

2012-02-06 15:04:44 4669

原创 IOS开发 NSLOG Format串含义

NSLog的格式如下所示:%@ 对象%d, %i 整数%u 无符整形%f 浮点/双字%x, %X 二进制整数%o 八进制整数%zu size_t%p 指针%e 浮点/双字 (科学计算)%g 浮点/双字%s C 字符串%.*s Pascal字符串%c 字符%C unichar%lld 64位长整数(long long)%

2012-02-06 14:33:36 2642

原创 设计模式入门学习 原型Prototype模式

创建型模式,需要多理解,现只明白用法,不能完全掌握适用情境。  为对象创建者传入一个对象做为原型,创建者通过拷贝这个对象来创建新的对象。

2012-02-06 11:13:45 516

原创 设计模式入门学习 桥接Bridge模式

主旨思想:逻辑部分用抽象类完成,具体的基础实现由实际类实现。抽象部分做桥梁作用,做为一个中转。多用于跨平台代码结构中,逻辑层用统一的类结构,平台层做真正的对应平台功能实现。

2012-02-06 10:39:34 2154

原创 设计模式入门学习 构建Builder模式

对象创建类型的模式,核心思想是逐步构造对象并最后获取。

2012-02-06 10:34:44 546

原创 设计模式入门学习 状态State模式

和策略模式比较类似,用法和适用情况稍有不同。  State对应操作的不同行为和不同操作,通过切换状态State来改变对象行为。

2012-02-03 10:58:46 417

原创 设计模式入门学习 享元(Flyweight)模式

享元模式  Flyweight:运用共享技术有效的支持大量细粒度的对象。  通过共享对象,来减小对象创建的数量,从而减少内存占用同时减少对象创建等开销,提高代码效率。  FlyWeight模式对那些通常因为数量太大而难以用对象来表示的概念或实体进行建模。例如:  文档编辑器可以为字母表中的每一个字符创建一个Flyweight,每个Flyweight存储一个字符代码,但它在文档中的位置和

2012-02-02 14:34:00 574

原创 设计模式入门学习 策略模式

策略模式  Strategy:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。本模式使算法可以独立于使用它的客户而变化。  先来看一个简单的伪码示例://抽象策略class Compositor {public: virtual int Compose() = NULL; };//上下文class Composition {public: Comp

2012-02-02 12:03:10 647

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除