详解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)
- 1.
三、调试技术:
最常见是用NSLog象printf一样输出。它会输出到XCode 所带的GDB 的控制台上。
相关内容引用 http://wangjun.easymorse.com/?p=757
NSLog的定义
NSLog定义在NSObjCRuntime.h中,如下所示:
void NSLog(NSString *format, …);
- 1.
基本上,NSLog很像printf,同样会在console中输出显示结果。不同的是,传递进去的格式化字符是NSString的对象,而不是chat *这种字符串指针。
示例
NSLog可以如下面的方法使用:
NSLog (@”this is a test”);
NSLog (@”string is :%@”, string);
NSLog (@”x=%d, y=%d”, 10, 20);
- 1.
- 2.
- 3.
但是下面的写法是不行的:
int i = 12345;
NSLog( @”%@”, i );
- 1.
- 2.
原因是, %@需要显示对象,而int i明显不是一个对象,要想正确显示,要写成:
int i = 12345;
NSLog( @”%d”, i );
- 1.
- 2.
格式
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位双字
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
调用控制台是在运行模拟器或连接真机时,点击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
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
另外一个种方法是GCC编译选项组下面
小结:详解iPhone应用程序基本开发技能的内容介绍完了,希望本文对你有所帮助。