详解iPhone应用程序基本开发技能是本文要介绍的内容,很适合移动开发爱好者的一篇文章,不多说,我们先来看内容详解。
一、Windows下查看Objective-C代码
比较合适的方案是在UltraEdit增加Objective-C的语法定义。
相关内容引用 http://www.cocoachina.com/bbs/read.php?tid-1054.html
即增加语法定义文件,我在UltraEdit 12.0中使用成功
二、虚拟机MacOS的代码编辑
用虚拟机来编辑代码,往往很慢,因此我建议在HOST一侧,即WINDOWS上来编辑代码比较合适,而且你很可以从网络搜索一些代码段,需要往代码里粘。因此WINDOWS上编辑代码,速度更快,更方便.
macOSX可以用FTP和Samba两种方法共享文件以WINDOWS使用。用Samba的优点完全双向的。没有编码的问题。但是与虚拟机配合最大问题是虚拟机有不时网络断掉。一但网络断点,WINDOWS一侧软件跟死掉样一样。比如UltraEdit就是如此,强行都杀不死。
如果项目源码较多,我建议模式是 MacOS X (Samba server) + window(SourceInsight)这种情况最大问题是SourceInsight 不太认识Object-C的语法。
如果只几个文件的小项目,我建议直接用UltraEdit的FTP打开模式.这种模式优点是能进行Object-C的语法识别,另外FTP模式不容易断线,断线扣不影响UltraEdit的操作.
- MacOS X(FTP Server) +Windows(UtlraEdit)
三、调试技术:
最常见是用NSLog象printf一样输出。它会输出到XCode 所带的GDB 的控制台上。
相关内容引用 http://wangjun.easymorse.com/?p=757
NSLog的定义
NSLog定义在NSObjCRuntime.h中,如下所示:
- void NSLog(NSString *format, …);
基本上,NSLog很像printf,同样会在console中输出显示结果。不同的是,传递进去的格式化字符是NSString的对象,而不是chat *这种字符串指针。
示例
NSLog可以如下面的方法使用:
- NSLog (@”this is a test”);
- NSLog (@”string is :%@”, string);
- NSLog (@”x=%d, y=%d”, 10, 20);
但是下面的写法是不行的:
- int i = 12345;
- NSLog( @”%@”, i );
原因是, %@需要显示对象,而int i明显不是一个对象,要想正确显示,要写成:
- int i = 12345;
- NSLog( @”%d”, i );
格式
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)
- %llu 无符64位长整数
- %Lf 64位双字
调用控制台是在运行模拟器或连接真机时,点击GDB按钮,即可以查看NSSLOG的输出
四、在项目增加宏定义
XCode的2.2 版前,可以在项目设置里直接增加宏定义.在这个界面之下.
在2.2,加宏定义后有两种方法:
一种是直接在 <project_name>_Prefix.pch 增加宏定义,这个文件会自动被所有宏引用.
这是其默认内容
- //
- // Prefix header for all source files of the 'iphone.socket' target in the 'iphone.socket' project
- //
- #ifdef __OBJC__
- #import <Foundation/Foundation.h>
- #import <UIKit/UIKit.h>
- #endif
- #define TARGET_OS_IPHONE 1
另外一个种方法是GCC编译选项组下面
小结:详解iPhone应用程序基本开发技能的内容介绍完了,希望本文对你有所帮助。