iphone学习笔记(一)

来源:互联网 发布:2017淘宝免费开店流程 编辑:程序博客网 时间:2024/05/11 04:39

之前写学习记录好久了,后来才发现一直写在日记里的别人都看不到,渐渐的懒病又犯了,现在下定决心将文章放出来,激励自己。(之前一直在博客园里写的)

找来找去,觉得还是看E文资料学习iphone开发比较靠谱,因此以翻译Programing in Objective-c2.0一书,做为学习objective-c的主线。

第一章基本是扯些无用的,和语法方面基本没什么关系。从第二章开始。

2

用objective-c编程

在本章中,我们将教您如何写出您的第一个objectve-c程序。你到目前还不会使用它,那将是我们下一章节的主题。我们希望您能够明白如何写一个程序,并且编译运行它。我们将特别的同时在windows和mac上操作。

开始,我们选择一个相当简单的例子:一个在你的屏幕上显示“Programming is fun!”短语的程序。事不宜迟,Program 2.1显示了一个完成该任务的objective-C程序。

Program 2.1

//First program example#import
 <Foundation/Foundation.h>int main(int argc,const char * argv[]){ 
     NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init];   
   NSlog(@"Programming is fun!");   
   [pool drain];    
  reutrn 0;
}

编译并运行程序

在我们详细解释这个程序之前,我们需要先走完编译与运行的步骤。你可以用x-code编译和运行你的程序或者使用GNC Objective-c在终端窗口中编译它。我们将两种方法贯穿在以上步骤中。现在你可以决定你希望在哪个平台上编译你的程序。

使用Xcode

Xcode是一个高级的应用程序可以让你很容易的输入、编译、调试,并执行程序。如果你准备在MAC系统上开发一个很重要的应用程序,学会如何使用xcode这个强力工具是非常有价值的。我们让你从这里开始。稍后,我们回到xcode并且带你贯穿开发图形界面应用程序的所有复杂步骤。

首先,Xcode 位于开发文件夹下的一个叫做Application的子文件夹中。它的图标如图2.1所示

(图2.1)

打开Xcode,在菜单栏的File中选择New Project(见图2.2)

(图2.2)

将出现如图2.3的窗口。

(图2.3)

选择application,找到comand line Tool 下面的Type选择foundation点击Choose确定。(此处与原作略有不同,因为版本差别,造成显示略有差异。)给项目取一个名字保存即可。我参照原作,给项目取名为prog1.保存后,将出现如图2.6所示窗口。

(图2.6)

(按原著所说,如果你之前已经使用过过Xcode或者更改了配置你显示的窗口将略有不同。)

现在是时候写你的第一个程序了。选择左栏中的prog1.m文件此时你的窗体将变成如图2.7所示

(图2.7)

objective-c的源文件以 .m 结尾。下表是其他常用的文件扩展名。(取自原著)

回到Xcode项目窗体。在靠右边的部分你可以看到如下代码。

1 #import<Foundation/Foundation.h>
2 int main(int argc,const char * argv[]){
3   NSAutoreleasePool * pool=[[NSAutoreleasePool alloc] init];
4     //insert code here...
5     NSLog(@"Hello World!");
6     [pool drain];
7     reutrn 0;
8 }

你可以在这个窗体中写你的文件,Xcode已经为你创建了一个模板文件。(这样太书面化的翻译实在是太别扭了,总感觉有种抄书的感觉,我在稍后的内容中,将全部以我的理解来写,尽量说成大白话的形式,便于领会。其中不乏省略一些个人感觉没有实际意义的内容。)

现在我们在程序的开头写如下代码:

//First program example

objective-c中也是以 // 作为注释。

不用担心在你屏幕上的各种不同颜色的代码,在Xcode中,保留字,值类型等都有着不同的颜色来表示。

现在是时候在Xcode编译并且运行你的第一个程序了,点击菜单栏上的“Build and Run”按钮。在此之前你需要保存你的程序,你可以通过点击菜单栏中的File,选择Save选项保存,又或者你直接点击“Build and Rund”按钮,编译器会提示你保存你的文件。

在菜单栏中的Build下,你可以选择Build或者Build and Run.我们选择后者,因为它会在编译后自动运行只要你的程序没有错误。同样的你可以点击Build,这时候工具栏上会出现Go图标。

如果你的程序中有错误,你会在这一步发现错误信息。在这种情况下,返回并且修正错误,重复刚才的动作。当程序中所有错误被修复,一个标题为prog1 - Debugger Console 的新窗体将出现在你眼前。这个窗体包含你程序的输出结果。

现在你已经用Xcode完成了一个程序的编译和运行部分。下面总结用Xcode创建一个新程序的过程:

1、打开Xcode 应用程序。

2、如果这是一个新工程,请选择New Project

3、选择程序类型,Foundation Tool,点击Choose确定。

4、给工程命名,点击Save保存。

5、在右边的窗体中找到prog1.m在下面输入你的代码。

6、点击File下面的Save保存你对程序的修改。

7、通过点击Build and run ,编译和运行你的应用程序,。

8、如果你得到很多错误信息,修复后,重复第6到7步。

一些人可能希望避免学习使用Xcode来进行objective-c 的学习。如果你之前用过UNIX命令行,你可能希望通过Terminal Application来写、编译、运行你的程序。下面我们来说明如何使用它们。

第一步打开你Mac中的Terminal application 。Terminal application在应用程序文件夹下,打开后,你会看到如图2.10所示。

(图2.10)

你可以给objective-c文件起任何名字,只要保证最后以.m 结尾。这将告诉编译器你有一个objective-c程序。

接下来,你需要在该文件中编写你的程序,你可以使用GNU Objective-c编译器,它的名字叫GCC,用来编译和链接你的程序。下面是一段普通的GCC命令行:gcc-framework Foundation files -o progname(因为我不用命令行的,下面的懒得看了,直接入正题。)

详解你的第一个程序

现在你已经熟悉了编译运行一个程序的步骤,让我们仔细看看这第一个程序。

1 //First program example
2 #import <Foundation/Foundation.h>
3 int main(int argc,const char * argv[])
4 {
5       NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init];
6       NSlog(@"Programming is fun!");
7       [pool drain];
8       reutrn 0;
9 }

在objective-c中,是区分大小写字母的。第一个要介绍的概念是注释。如:  //First program example

注释是用来在程序中标记,或提高程序可读性的。正确的使用注释是有很多好处的。

在objective-c中,使用注释有两种方法。一种是单行注释,以两个 / 开头,如: //First program example

另一种是多行注释,以 /* 开头,*/ 结尾。注释方法与c#中一样,后面就剩下些说养成写注释的好习惯等等好处,就不想写了,相信写过程序的人都知道在拿到一个别人写到一半的程序,却发现里面没有几行注释的时候,你心里会作何感想,又或者是自己命名不规范,都是一堆label1,button2 的时候,即使是自己写的程序,要是没有注释的话,等你过个几天再看的时候肯定也会崩溃的。
继续回到之前的代码,在程序的第二行,我们可以看到#import,这是告诉编译器我们在引用一个叫做Foundation.h的文件,类似于#include。表示里面有些你需要用到的方法什么之类的。

下面详细说一下main函数。

main是一个特殊的名字,指出程序的入口。在main之前的保留字符 int 表示main函数的返回值,表示返回一个int(即整形)的值。我们现在先忽略圆括号中的内容,我们将在后续章节中详谈。

现在你已经初步接触了main函数,你应当详细指定它如何执行。这些取决于在一堆花括号中的所有代码。所有的程序声明都在花括号以内。

程序中的第一个statement  :

NSAutoreleasePool * pool=[[NSAutoreleasePool alloc] init];

用来在内存中申请空间。我们将在第17章,内存管理中,详细讨论这些。现在先不讨论这些。

下一句  @"Programming is fun!"

在括号中的 @符号表示这是一个NSString 对象(objective-c中的字符串)。

NSLog是object-c,library中的函数,用来显示。在这样做之前,虽然它可以显示日期,时间,程序执行结果,程序名字,或者其他数字,我们不在这里详述。

今天先到这里吧,看了半天的鸟文太累。 p21

原创粉丝点击