罗朝辉(飘飘白云)

关注嵌入式操作系统,移动平台,图形开发。-->加微博 ^_^

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  85 随笔 :: 0 文章 :: 169 评论 :: 0 Trackbacks

#

     摘要: 使用 OCMock 进行 unit test 时,我们无法使用 stub 或 expect 测试类方法,那么又该怎样测试类方法呢?
下面是一个解决办法:在测试类中的非类方法 wrap 一下类方法,然后测试 wrap 方法。  阅读全文
posted @ 2011-12-27 14:34 罗朝辉 阅读(2247) | 评论 (0)编辑 收藏

     摘要: XCode 内置了 OCUnit 单元测试框架,但目前最好用的测试框架应该是 GHUnit。通过 GHUnit + OCMock 组合,我们可以在 iOS 下进行较强大的单元测试功能。本文将演示如何在 XCode 4.2 下使用 OCUnit, GHUnit 和 OCMock 进行 iOS 单元测试。  阅读全文
posted @ 2011-12-23 14:12 罗朝辉 阅读(2966) | 评论 (1)编辑 收藏

     摘要: 什么是 scrum
Scrum是一个敏捷开发框架,是一个增量的、迭代的开发过程。在这个框架中,整个开发周期包括若干个小的跌代周期,每个小的的跌代周期称为一个 Sprint,每个 Sprint 的建议长度2到4周。在 Scrum 中,使用产品 Backlog 来管理产品或项目的需求,产品 backlog 是一个按照商业价值排序的需求列表,列表条目的体现形式通常为用户故事。Scrum 的开发团队总是先开发的是对客户具有较高价值的需求。在每个 Sprint 中,Scrum 开发团队从产品Backlog中挑选最有价值的需求进行开发。Sprint 中挑选的需求经过 Sprint 计划会议上的分析、讨论和估算得到一个 Sprint 的任务列表,我们称它为 Sprint backlog。在每个迭代结束时,Scrum 团队将交付潜在可交付的产品增量。  阅读全文
posted @ 2011-12-09 09:58 罗朝辉 阅读(770) | 评论 (4)编辑 收藏

     摘要: 花了几天时间,在 iPad 上做了一个简陋的 Dicom Viewer,这个查看器没有使用 DCMTK 库(虽然可用,但太庞大,造造轮子亦有乐趣),而是自己移植了一个 Dicom 文件解析器(Thanks to Amarnath S and his great post.)。该Dicom 文件解析器以及开源,源代码在这里 or https://github.com/kesalin/DicomViewer。
先来看看效果图:  阅读全文
posted @ 2011-11-18 06:51 罗朝辉 阅读(9522) | 评论 (0)编辑 收藏

     摘要: DCMTK是德国 Offis 公司开发的实现 DICOM 协议的跨平台开源 C++库,在医学领域里是很有名的,它支持Windows ,Linux,Mac OS,SUN等平台。不过貌似在 iOS 平台上编译 DCMTK 的文档很少很少,折腾了好久终于编译成功了,记录下来。  阅读全文
posted @ 2011-11-10 12:59 罗朝辉 阅读(9149) | 评论 (13)编辑 收藏

     摘要: 前文已经说了如何配置服务器,下面来演示如何创建一个新仓库,然后与 XCode 结合。  阅读全文
posted @ 2011-11-08 17:54 罗朝辉 阅读(8592) | 评论 (0)编辑 收藏

     摘要: XCode 默认支持 Git 作为代码仓库,当我们新建一个仓库的时候,可以勾选创建默认仓库,只不过这个仓库是在本地的。本文介绍如何在 mac 机器上创建 Git 服务器,总体思路是:使用 gitosis 来简化创建过程,在用作服务器的机器上创建一个名为 git 的账户来创建 git 服务器,其他客户端通过 ssh 机制访问 git 服务器。  阅读全文
posted @ 2011-11-07 16:09 罗朝辉 阅读(9740) | 评论 (2)编辑 收藏

     摘要: [译]苹果 Cocoa 编码规范中文版
官方文档:Coding Guidelines for Cocoa
本文档下载:点击这里  阅读全文
posted @ 2011-11-03 16:02 罗朝辉 阅读(5466) | 评论 (1)编辑 收藏

     摘要: Objective C 的类方法(class method),即 static 方法,是用 + 修饰的方法。类方法是属于类对象的,所以无需创建类的实例对象我们就可以直接使用它们。使用形式为:
[ClassName classMethod];
在这里 ClassName 代表的就是一个类对象,而不是作为一种类型。类名只有出现在接收消息的表达式中才代表一个类对象,其他情况下都表示一种类型。  阅读全文
posted @ 2011-11-01 17:14 罗朝辉 阅读(2773) | 评论 (2)编辑 收藏

     摘要: 在前文 深入浅出 Cocoa 之 Framework 中讲解了 Framework,接下来讲解 plugin。如果你对 Framework 还不太熟悉的话,请阅读那篇文中,在本例中使用到了 framework,并在本文中没有详细讲述其创建和使用过程。

为什么要引入插件?
我们知道编译程序时,会连接相关 framework,通常我们所连接的框架是 Foundation 和 Application 框架。当程序启动运行时,每个被连接到的 framework 都会被加载到该程序的 objc 运行时环境中。如果我们想向正在运行的程序加载新的 framework,那该怎么办呢?答案之一就是使用 plugin 机制。cocoa 的 plugin 机制通常由 NSBundle 类来实现,而实现动态加载的功能由函数 objc_addClass 来完成。一般我们无需与 objc_addClass 这个函数打交道,我们使用 NSBundle 来完成绝大部分与 plugin 相关的工作。

plugin 机制能够让我们开发出高度模块化,可定制以及可扩展的应用程序,并  阅读全文
posted @ 2011-10-28 14:44 罗朝辉 阅读(2527) | 评论 (0)编辑 收藏

仅列出标题
共9页: 1 2 3 4 5 6 7 8 9