12 2013 档案
摘要:【原创】http://www.cnblogs.com/luoguoqiang1985今天遇见了这问题,决定要需要讨论下。线程同步的方法:@synchronized 官方文档解释:The @synchronized directive is a convenient way to create mutex locks on the fly in Objective-C code. 个人理解:@synchronized关键字提供了互锁功能。 示例代码:static NSObject *lockObj = nil;if (lockObj == nil) { lockObj = [[NS...
阅读全文
摘要:本文转自:http://www.cnblogs.com/zhwl/archive/2013/07/26/3217155.html本文细致探讨了 Xcode(以 iOS 设备为目标)中的 PhoneGap(也称为 Apache Cordova)应用程序本机插件。如果您刚开始接触 PhoneGap 或者需要回顾 PhoneGap 基础知识,请先阅读 Xcode for iOS 的 PhoneGap 入门,然后再继续阅读本文。本文交替使用术语 Cordova 和 PhoneGap 指示同一开源应用程序平台,该平台可供您使用 HTML 和 JavaScript 创建本机安装的移动应用程序。PhoneG
阅读全文
摘要:所用框架及语言 IOS客户端-Wax(开发愤怒的小鸟的连接Lua 和 Objc的框架),Lua,Objc, 服务端-Java(用于返回插件页面)由于Lua脚本语言,不需要编译即可运行,这点是我的这个思路可以执行的大前提,再加上苹果允许像Lua这样的脚本的存在,这一思路才能得以实现。个人感觉这一思路有点类似于ipad上的一款编程应用 Codea,Codea允许我们再ipad利用Lua编程,写游戏。正文:1.在IOS程序里面调用wax_start("init.lua",nil);这个init.lua即是我们插件的最起始的类似于程序main函数的类,lua脚本的起点。2.在程序中
阅读全文
摘要:插件式架构应用的经典是Eclipse。一般而言,一款软件使用插件式框架机制的原因主要基于以下3点: 1)无需更改或编译程序就可以扩展程序的功能 2)可以在不需要源代码的环境下扩展程序的功能 3)在一个程序的业务逻辑在不断发生变化仍能灵活适应。 插件式框架的最大魅力在于,把扩展功能从框架中剥离出来,降低了框架的复杂度,让框架更容易实现。扩展功能与框架以一种很松的方式耦合,两者在保持接口不变的情况下,可以独立变化和发布。公开插件接口,让第三方有机会扩展应用程序的功能,有财大家一起发。 应用程序由应用程序框架、插件接口、插件和公共函数库四部分组成。 应用程序框架负责应用程序的整体运作,它清楚程序整.
阅读全文
摘要:知识点 :1)ios 核心动画的基础是图层。图层的基础是CALayer,它是所有核心图层类的父类。2)CATransaction是核心动画类负责协调多个动画原子显示更新。事务支持嵌套使用。3)图层与UIView之前的最大区别是,图层不会直接渲染到屏幕上。图层封装了几何,时间,可视化属性。4)每个图层树分为2部分,一部分是呈现树,一部分是渲染树。5)图层必须由视图来脱管。图层的内容创建有以下几个方法:A)使用包含图片内容的 CGImageRef 来显式的设置图层的 contents 的属性 B)指定一个委托,它提供或者重绘内容displayLayer:或 drawLayer:inContextC
阅读全文
摘要:Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程式,也可用于开发非GUI程式,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,易于扩展,允许组件编程。2008年,奇趣科技被诺基亚公司收购,QT也因此成为诺基亚旗下的编程语言工具。2012年,Qt被Digia收购。Qt是1991年奇趣科技开发的一个跨平台的C++图 形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所有功能。Qt很容易扩展,并且允许真正地组件编程。基本
阅读全文
摘要:WPS,1988年诞生自一个叫求伯君的24岁年轻人之手,市场占有率一度超过90%,这个产品也成就了这个年轻人。在中国大陆,金山软件公司在政府采购中多次击败微软公司,中国大陆很多政府机关部门、企业都装有WPS Office办公软件。此外WPS还推出了Linux版、Android版,是跨平台办公软件。自2012年起,WPS开始使用Qt框架进行开发。WPS Office是一款办公软件套装,可以实现办公软件最常用的文字、表格、演示等多种功能。内存占用低,运行速度快,体积小巧。具有强大插件平台支持,免费 提供海量在线存储空间及文档模板,支持阅读和输出PDF文件,全面兼容微软Office97-2010格式
阅读全文
摘要:六年前,我刚热恋“面向对象”(Object-Oriented)时,一口气记住了近十个定义。六年后,我从几十万行程序中滚爬出来准备写点心得体会时, 却无法解释什么是“面向对象”,就象说不清楚什么是数学那样。软件工程中的时髦术语“面向对象分析”和“面向对象设计”,通常是针对“需求分析”和“系统 设计”环节的。“面向对象”有几大学派,就象如来佛、上帝和真主用各自的方式定义了这个世界,并留下一堆经书来解释这个世界。 有些学者建议这样找“对象”:分析一个句子的语法,找出名词和动词,名词就是对象,动词则是对象的方法(即函数)。 当年国民党的文人为了对抗毛主席的《沁园春·雪》,特意请清朝遗老们写了
阅读全文
摘要:1.什么是类?什么是对象?对象与类的关系是什么? 答:类就是相同的数据和相同的一组对象的集合,即类是对具有相同数据结构和相同操作的一类对象的描述;对象是描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体,对象可以认为是:数据+操作;类和对象之间的关系是抽象和具体的关系。2.构造函数和析构函数的主要作用是什么?他们各有什么特性? 答:构造函数主要用于为对象分配空间,进行初始化。构造函数除了具有一般成员函数的特征外,还具有一些特殊的性质:(1)构造函数的名字必须与类名相同(2)构造函数可以有任意类型的参数,但不能指定返回类型。它有隐含的返回值,该值由系统内部使用。(3)构造函数是.
阅读全文
摘要:一、下载cocos2d-xhttp://cocos2d-x.org/projects/cocos2d-x/wiki/Downloadcocos2d-x-2.1.4.zip @ June.18, 2013我们可以看到最新版本的2.1.4,这个版本提供了一个用python命令来建立各平台的项目,十分便利下载,解压(建议解压到主目录下的)二、下载pythonhttp://www.python.org/getit/建议选择2.7.5版本的下载Python 2.7.5 Mac OS X 64-bit/32-bit x86-64/i386 InstallerPython 2.7.5 Mac OS X 32
阅读全文
摘要:什么是Scrum?Scrum是一个敏捷开发框架,是一个增量的、迭代的开发过程。在这个框架中,整个开发过程由若干个短的迭代周期组成,一个短的迭代周期称为一个 Sprint,每个Sprint的建议长度是2到4周。在Scrum中,使用产品Backlog来管理产品的需求,产品backlog是一个按照商业价值 排序的需求列表,列表条目的体现形式通常为用户故事。Scrum团队总是先开发对客户具有较高价值的需求。在Sprint中,Scrum团队从产品 Backlog中挑选最高优先级的需求进行开发。挑选的需求在Sprint计划会议上经过讨论、分析和估算得到相应的任务列表,我们称它为Sprint backlog
阅读全文
摘要:何为Dispatch Sources简单来说,dispatch source是一个监视某些类型事件的对象。当这些事件发生时,它自动将一个block放入一个dispatch queue的执行例程中。说的貌似有点不清不楚。我们到底讨论哪些事件类型?下面是GCD 10.6.0版本支持的事件:Mach port send right state changes.Mach port receive right state changes.External process state change.File descriptor ready for read.File descriptor ready f
阅读全文
摘要:什么是GCD?Grand Central Dispatch或者GCD,是一套低层API,提供了一种新的方法来进行并发程序编写。从基本功能上讲,GCD有点像 NSOperationQueue,他们都允许程序将任务切分为多个单一任务然后提交至工作队列来并发地或者串行地执行。GCD比之 NSOpertionQueue更底层更高效,并且它不是Cocoa框架的一部分。除了代码的平行执行能力,GCD还提供高度集成的事件控制系统。可以设置句柄来响应文件描述符、mach ports(Mach port用于 OS X上的进程间通讯)、进程、计时器、信号、用户生成事件。这些句柄通过GCD来并发执行。GCD的API
阅读全文
摘要:iOS多线程初体验是本文要介绍的内容,iPhone中的线程应用并不是无节制的,官方给出的资料显示iPhone OS下的主线程的堆栈大小是1M,第二个线程开始都是512KB。并且该值不能通过编译器开关或线程API函数来更改。只有主线程有直接修改UI的能力。一、 NSOperation和NSOperationQueue1、一个继承自 NSOperation的操作类,该类的实现中必须有 - (void)main方法的。2、使用NSOperation的最简单方法就是将其放入NSOperationQueue中。一旦一个操作被加入队列,该队列就会启动并开始处理它(即调用该操作类的main方法)。一旦该操作
阅读全文
摘要:转自:http://blog.devtang.com/blog/2012/02/05/mvc-in-ios-develop/前言iphone开发相关的教程中最有名的,当数斯坦福大学发布的”iphone开发公开课”了。此公开课在以前叫做《iphone开发教程》,今年由于平板电脑的流行,所以也加入了ipad开发相关的课程。在网易公开课上,有该教程的2010年录象,并且前面15集带中文字幕文件,非常适合初学者学习。在这里顺便说一下,网易公开课上的28集其实并不需要全部看完。真正的课程只有前面12集。后面的课程都是请一些业界的名人讲他们成功的app以及学生的作品展示,可看可不看。所以大家不要被28集这
阅读全文
摘要:二,BSD socket API 简介BSD socket API 和 winsock API 接口大体差不多,下面将列出比较常用的 API:API接口讲解int socket(int addressFamily, int type,int protocol)int close(int socketFileDescriptor)socket 创建并初始化 socket,返回该 socket 的文件描述符,如果描述符为 -1 表示创建失败。close 关闭 socket。通常参数 addressFamily 是 IPv4(AF_INET) 或 IPv6(AF_INET6)。type 表示 soc
阅读全文
摘要:OCUnit是集成在Xcode开发环境的单元测试框架;OCUnit运行必须包含SenTestingKit.framework这个库;针对需要测试的类,每个类写出自己的TestCase,独立组织一个文件。每个测试类都是继承自SenTestCase类,这里有3个重要的方法需要介绍:1. -(void)setUp: 每个test方法执行前调用,用于类的创建,一些变量的初始化等2. -(void)tearDown:每个test方法执行后调用3. -(void)testXXX:这个是真正运行的测试方法,命名就是不带参数,以test开始。 这里的每个testXXX方法可以在Scheme里面看到,并可以设.
阅读全文
摘要:网上看到这篇文章,觉得基本的flow很有帮助,转过来收藏了:作者:关于Sarah Parmenter英国艾塞克斯(英国英格兰东南部的郡)Youknowwho设计工作室的创始人,Sarah Parmenter专注于网站,iPhone和iPad应用的设计。设计工作室创立于2003年。查看更多设计案例请点这里。 1. 确定你的创意 您的创意是否有人做过,如果有类似的app,那就要多多考虑,争取超越并且有一些独特的优化设计在其中。ps: 13年IOS app store的应用数量已为435,000,应该说各个方面行业都涵盖了。大多数的创意都能在store里面找到类似的应用,能有一些独特的竞争点还是..
阅读全文
摘要:1 概述1.1 产生背景基 于万维网的电子商务和网上银行等新兴应用,极大地方便了人们的日常生活,受到人们的青睐。由于这些应用都需要在网络上进行在线交易,它们对网络通信的安全 性提出了更高的要求。传统的万维网协议HTTP不具备安全机制——采用明文的形式传输数据、不能验证通信双方的身份、无法防止传输的数据被篡改等,导致 HTTP无法满足电子商务和网上银行等应用的安全性要求。Netscape公司提出的安全协议SSL,利用数据加密、身份验证和消息完整性验证机制,为网络上数据的传输提供安全性保证。SSL可以为HTTP提供安全连接,从而很大程度上改善了万维网的安全性问题。1.2 技术优点SSL具有如下优点
阅读全文
摘要:[原创]http://www.cnblogs.com/luoguoqiang1985ios在安装APP时,把APP的偏好设置与数据放在sandbox里。sandbox通过一系列细颗粒度控制APP访问files, preferences, network resources, hardware等。为了帮助APP组织数据, 每个沙盒目录包含了几个出名的子目录放文件。 1. Applications_HOME目录就是安装程序的地方获取路径代码NSString * homePath = NSHomeDirectory() 2. Documents这个目录用于存放重要的用户文档和程序数据文件。存放在此目
阅读全文
摘要:[原创]http://www.cnblogs.com/luoguoqiang1985单例模式是什么?一个类只有一个实例。-----------------------这样做有什么好处?在我的开发经验看来,单例的好处是1)整个应用的状态统一控制。2)对于频繁使用的类,可以控制生成实例对象的数量------------------------那在ios下怎么实现?据了解有2种方案,@synchronized, GCDGCD方案:1 static InstanceClass *instance;2 + (InstanceClass *)defaultInstance{3 static dis...
阅读全文
摘要:iOS通过以下几种机制来保全整个系统的安全性:一:系统结构所有iOS设备中,系统与硬件都高度集成,从系统启动、系统更新、应用的安装、应用的运行时等多个方面来保全系统的安全,具体包括:1:所有iOS设备在处理器内都集成有一段名为Boot Room的代码,此代码被烧制到处理其内的一块存储上,并且只读,可以认为是完全可信的。系统启动时,Boot Room通过苹果的Apple Root CA Public证书对Low-Level BootLoader进行验证,如果通过验证,Low-Level BootLoader将运行iBoot,较Low-Level Bootloader高层次的Bootloader,
阅读全文
摘要:设计模式:解决编程问题的设计模板设计模式是一个抽象工具,用于面向对象的软件开发,以及其他领域。它是一个设计模板,在特定背景中,解决一般性的、重复出 现的问题。因此,设计模式是一种针对特定的、具体的设计的准则:在某种意义上,它是模式的“实例化”。在如何应用设计模式上,有一定的灵活性,通常例如程 序设计语言和现有架构等事物,会影响如何应用模式。有几个设计主题或原则对设计模式产生影响。这些设计原则是构建面向对象系统的经验法则,例如“封装发生变化的系统结构方面”(encapsulate the aspects of system structure that vary) 和“面向接口编程,而非面向实现
阅读全文
摘要:[原创]http://www.cnblogs.com/luoguoqiang1985以前,自己写程序,图片等资源放得比较乱。后来,发现有个更好的方法来管理图片等资源文件 --bundle文件。1)怎么制作bundle文件其实很简单,先新建一个文件,把资源文件放进去,接着,重命名文件为.bundle类型文件。真相: 是不是很简单?哈哈2)bundle文件在ios下的使用对bundle文件的使用,ios 提供了NSBundle类。长话短说,看招~~~~ 1 /* 2 * 根据枚举获取资源 3 */ 4 - (NSString *) getResourceByEnum:(nResources)...
阅读全文
摘要:[原创]http://www.cnblogs.com/luoguoqiang1985这CocoaPods怎么用呢?参考官方文章:guides.cocoapods.org/using/using-cocoapods.html这次项目例子以JSONKit作为例子。首先,跑个命令热热身。pod search JSONKit过了一阵子,有料到啊-> JSONKit (1.5pre) A Very High Performance Objective-C JSON Library. pod 'JSONKit', '~> 1.5pre' - Homepage:
阅读全文
摘要:职业走得很累,停下来,温故技术。顺便开始我得ios博客文章。[原创]http://www.cnblogs.com/luoguoqiang1985安装第一步:执行以下命令 sudo gem install cocoapods第一次执行报错,郁闷哇。跟着百度一下,原来要更新下Ruby 的Gem。英文原文:http://rubygems.org/pages/download依次执行以下命令:sudo gem update --system 看到成功信息后,继续执行 sudo gem install rubygems-update看到成功信息后,继续执行 sudo update_rubygems异常郁
阅读全文