- 博客(69)
- 收藏
- 关注
原创 Android应用程序签名
注:文章首次发布于个人博客,现将技术文章转移至此。 http://blog.go3k.org/android-sign/Android系统要求所有的程序经过数字签名才能安装,如果没有可用的数字签名,系统将不许安装运行此程序,不管是模拟器还是真实手机。因此,在设备或者是模拟器上运行调试程序之前,必须为应用程序设置数字签名。Android系统仅仅会在安装的时候测试签名证书的有效期,如果应用
2014-12-26 23:12:45 3016
原创 cocos2d-x在iOS/Android双平台上嵌入WebView
注:文章首次发布于个人博客,现将技术文章转移至此。 http://blog.go3k.org/cocos2dx-add-webview/游戏中的帮助和游戏公告,可以通过嵌入显示WebView的方案来实现,通过编辑HTML来修改、更新公告的样式和内容都很方便。iOS平台嵌入iOS平台上的嵌入很顺利,网上有现成的教程加代码,关键是做好OC与C++代码混编的封装。 参考如下链
2014-12-25 17:03:41 11685
原创 游戏开发利器 TexturePacker
首先要赞一下TexturePacker的开发者Andreas LoewThanks very much for your free license.这是一个非常强的精灵纹理集处理工具:1. 自动为你加入的图片排放位置,自动计算整个sheet的尺寸。(2的指数倍)2. 可只使用高清Retina皮肤,自动生成缩小0.5倍的低分辨率纹理集。3. 最强大的地方,支持bash命令
2012-07-31 09:43:31 3394 2
原创 Blocks编程要点
有关Block的语法和其特点,本来是自己在看官方文档并做翻译记录的,但是发现有些地方不能完全理解,而且这样的方式相对耗时。所以,我决定还是聪明点,以后看文档都是用民间翻译版和官方版对照来看,提高学习效率,也让自己对细节深入下去。概要如下:Block对象是C级别的语法和运行时特性。它们和标准C函数很类似,但是除了可执行代码外,它们还可能包含了变量自动绑定(栈)或内存托管(堆)
2012-05-29 17:34:15 2744
原创 虚拟硬盘文件+Mac HFS文件系统的数据恢复
Win7使用VMware 7安装Mac虚拟机,因为10.6.6的系统版本不能满足需求,决定升级到10.6.8。悲剧的是升级失败了,电脑放太久安装完成后虚拟机死机了。VMware重启后,Mac进不去,无限白苹果。Vmware.log显示:The CPU has been disabled by the guest operating system. You willneed to power o
2012-05-08 18:19:13 6147 1
原创 IOS设置项相关----Preferences and Settings Programming Guide
1. 概述大部分APP设置项都通过Cocoa preferences system:userdefaults system完成。 2. 关于user defaults system2.1 创建一个正确的preference使用简单的数据值、数据类型支持string、number、date,也支持NSData,不推荐使用。2.2 提供一个设置界面经常变
2012-04-20 10:59:54 8328
原创 关于Volatile修饰符
这篇总结就是目前做了解知识,我还没有做过太多的相关实际应用。1. 概述就象大家更熟悉的const一样,volatile是一个类型修饰符(type specifier)。它是被设计用来修饰被不同线程访问和修改的变量。如果没有volatile,基本上会导致这样的结果:要么无法编写多线程程序,要么编译器失去大量优化的机会。 2. 深入以下是百度百科中的资料:
2012-04-17 22:45:23 4966
原创 C++函数重载
1. 概述如果两个函数名字相同并且在相同的域中被声明,但是参数表不同,则它们就是重载函数overloadedfunction。 1.1 重载函数条件参数类型或参数个数不同。返回值不同不能视为重载。是否为常函数不能视为重载对于普通类型参数只有const、volatile区别不能视为重载,但是如果参数是指针或 引用类型,那么const、volatile的区别视为重载
2012-04-17 22:36:14 8627 1
转载 C++中struct与class的区别
原地址:http://blog.csdn.net/nocky/article/details/6195556很多初学者或者是想当然,或者是被网上的一些错误信息给误导,面试中问到class和struct区别时经常会说class可以继承而struct不可以继承,这是完全错误的。但在C#中,class与struct确实有这点区别(当然不止这一点)。其实,在C++中,这两个关键词并没有
2012-04-17 16:56:17 10889
原创 IOS Animation学习 (一)Animation初探
使用view的transform属性做Animation,相关文档如下:https://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/ViewPG_iPhoneOS/AnimatingViews/AnimatingViews.html#//apple_ref/doc/uid/TP40009503-C
2012-03-26 17:14:49 3070
原创 基础考查的面试、笔试题
1. 指针和引用有什么区别?引用必须被初始化,指针则不必存在空指针,但不存在空引用 因为引用相对安全引用被赋值后不能修改为其它实例的引用,指针被赋值后可以指向其它指针。2. 堆栈溢出一般是由什么原因引起的?没做内存释放,递归调用层次过深。————————————————————详细了解一下调用堆栈的知识。3. 什么函数不能声明为虚函数?必须是类的成员函数,像静态函数
2012-03-26 11:25:00 2448
原创 Objective-C KVC机制
全部推翻重写一个版本,这是我在公司内做技术分享的文档总结,对结构、条理做了更清晰的调整。1. 基本概念MODEL主要是英文文档里面经常出现的一些概念,讲解一下,方便英文文档的阅读。IOS应用开发是遵循MVC设计模式的,Cocoa框架用Object Modeling的规则来规范一个Model的实现。ObjectModeling有如下几个概念的规定:Entity:表示
2012-03-21 23:19:47 15200 4
原创 OjbC中NSObject面向对象特性的底层实现
#include typedef const struct objc_selector { void *sel_id; const char *sel_types;} *SEL;typedef struct objc_object { struct objc_class* class_pointer;} *id; typedef id (*IMP)(i
2012-03-19 18:16:38 12741
原创 文档学习:Coding Guidelines for Cocoa
主要讲述编码规范。注意,函数名、类名、常量名的编写规范。文档地址:http://www.apple.com.cn/developer/mac/library/documentation/Cocoa/Conceptual/CodingGuidelines/CodingGuidelines.html#/apple_ref/doc/uid/10000146命名 1. It is good
2012-03-16 18:38:22 3032
原创 UIImage载入图片使用Cache的问题
UIImage载入图片使用Cache的问题。imageWithContentofFile不在内存中缓存。imageNamed,在内存中缓存,之后再载入的时候直接取出。为了避免重复载入文件中的图片,最后找到解决方案:做一个静态接口,一个有静态Dictnory成员,然后为图片做缓存存储。一旦产生内存警告,即释放。
2012-03-15 18:02:42 2978
原创 有关View的frame、Bounds、contentMode、ClipstoBounds的问题
实在应该深入学习分析一下。 现在只知道contentMode会影响frame、Bounds和绘制的关系,但是原理、机制如何还不清楚。详情在:View Programming Guide For IOS,地址为:https://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/ViewPG_
2012-03-15 17:42:16 4530
转载 UIBarButtonSystemItem样式
使用时需要注意创建方式的区别:01typedef enum {02 UIBarButtonSystemItemDone,03 UIBarButtonSystemItemCancel,04 U
2012-03-15 15:07:22 27557 2
原创 IOS Table中Cell的重用reuse机制分析
创建UITableViewController子类的实例后,IDE生成的代码中有如下段落:- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = [NSString st
2012-03-15 14:36:13 33411 8
原创 文档学习:Table View Programming Guide
文档地址:https://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/TableView_iPhone/TableViewCells/TableViewCells.html#//apple_ref/doc/uid/TP40007451-CH7-SW1
2012-03-15 11:14:07 2420
原创 IOS中同时使用TabBar和Navigation
如何实现呢?应该在TabBarController中加入NavigationController。 TabBarController中的ViewControllerArray是NavigationController,可以把原有Controller放入到NavigationController中。再加入到viewControllerArray。
2012-03-13 16:51:25 5325
原创 文档学习:Cocoa 基本原理指南
文档地址:http://www.apple.com.cn/developer/mac/library/documentation/Cocoa/Conceptual/CocoaFundamentals/Introduction/chapter_1_section_1.html 了解Cocoa For IOS的特点。 概述,发展过程,类层次关系。 关于它的面向对象特性:多态性
2012-03-13 10:57:25 1033
原创 文档学习:内存管理编程指南
文档地址如下:http://www.apple.com.cn/developer/iphone/library/documentation/UserExperience/Conceptual/MemoryMgmt/Articles/mmAutoreleasePools.html#//apple_ref/doc/uid/20000047-SW4 主要注意: @property赋值
2012-03-13 10:56:29 684
原创 Core Data学习(二) 关键类分析
ManagedObjectsModal通常可以使用Xcode的建模工具来创建模型(请参考"Create a managed object with Xcode")。你也可以全部使用代码来创建(请参考"Core Data Utility Tutorial")。编译数据模型 数据模型是一种部署资源。 在模型中,除了有实体和属性的详细信息外,用Xcode创建的模型还包含
2012-03-07 11:17:27 1168
原创 Core Data学习(一) 基本使用
最简单的一套件,有机会再写。 怎样创建xcdatamodal,怎么在里面创建entity、attribute,relationship,创建ManagedObject 用ManagedObjectsContext做基本数据操作。
2012-03-07 11:10:26 964
转载 ipa解包,还原ipa里的png图片资源
程序打包过后资源里的png就全部变成空白图片了,可以通过下面的方法将图片还原出来:(请勿用作邪恶用途呀!)1,在这里下载这段python脚本 http://www.axelbrz.com.ar/?mod=iphone-png-images-normalizer2,将ipin.py和要还原的空白png放在同一个文件夹里3,终端里,进入该文件夹,执行python i
2012-03-07 11:07:35 8430
原创 IOS深浅拷贝的深入分析
Apple官方文档如下:https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Collections/Articles/Copying.html最近用Core Data做数据管理,Fetch到NSArray类型的结果数组,为了能够进行增、删、改,我把它MutableCopy到一个NSMutableArra
2012-03-02 12:54:28 9880 1
转载 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
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人