黑马程序员零基础解析第一个Objective-c程序

来源:互联网 发布:企业管理平台软件 编辑:程序博客网 时间:2024/05/17 05:55

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! ------

    Objective-C无非是附加C语言的一些额外的功能,也就是c语言的扩展!在本文中,我们将介绍其中的一些关键的小知识,我们带你通过建立你的第一个Objective- C程序。最简单Objictive-C程序你可能已经看到了C版的经典Hello World程序,其中的打印出的文字“你好,世界!”或类似的精辟言论。Hello World是usu-盟友新手C程序员学习的第一个程序。我们可以写一个类似的程序在这里名为HelloObjective- C.

首先:Building Hello Objective- C

    打开Xcode新建一个HelloObjective-c.m源程序,其代码如下:
#import <Foundation/Foundation.h>int main (int argc, const char *argv[]){    NSLog (@"Hello, Objective- C!");    return 0;} // main

  • 命名后缀:在c当中,是以.c结尾命名的,在C++中是以.cpp结尾命名的,并有相应的编译器编译.c和.cpp文件。同样的在Xcode中使用的.m扩展以指示Objective- C代码,并将由Objective- C编译器进行处理的文件。
  • 头文件:就像C,Objective- C使用头文件来保存元素,声明结构,符号常量和函数原型。在C语言中,使用#include语句通知它应该咨询一个头文件的一些定义编译器。您可以使用#include在为了同样的目的Objective- C程序中,但是在Objective-c中,我们会使用#import,就像这样:
    #import<Foundation/ Foundation.h>
    #import是由GCC编译器,它是提供了一个功能,当你在做什么Xcode使用编译Objective- C,C和C++程序。 #import保证一个头文件会包括只有一次。
     
注意在C中,程序员通常使用基于#ifdef指令的方案,以避免这种情况,其中一个文件包括第二文件中,然后,递归,又包括第一文件。在Objective- C,程序员使用#           import来完成同样的事情。
  • #import<Foundation/ Foundation.h>在#import<Foundation/ Foundation.h>语句告诉编译器看在Foundation框架Foundation.h头文件。我们很高兴你问"什么是架构?"。框架是件头的集合文件,库,图像,声音,和更收集在一起成为一个单一的单元。Apple ships技术,如CocoaCarbon,QuickTime和OpenGL作为集合框架。可可由一对框架的,基础和应用工具包(也称为AppKit),伴随着一系列的配套框架,包括核心动画和Core图像,其中新增各种很好用的东西。基础框架处理在用户界面下方的层中的功能,如数据结构和通信机制。
  • NSlog():现在,我们已经使用的#import对基础架构的主头文件,你准备好编写代码,需要一些Cocoa功能。代码中使用NSLog()函数,就像这样:的NSLog(@“您好,Objective-C!”),这种打印“Hello,Objective-C!”到控制台。如果你用到了C,你无疑遇到的printf()。NSLog()在Cocoa功能的工作原理很像printf()函数。就像printf(),NSLog()接受一个字符串作为第一个参数。此字符串可以包含格式说明符(如%d)和该函数相匹配的格式的附加参数符。 printf()的插头,这些额外的参数为字符串,然后才会慢慢打印。但是,因为它增加了功能,例如时间和日期戳,以及自动地追加换行('\n')结尾你。你可能会想,的NSLog()是怎样的一个奇怪的名字的功能。
  • return 0:和c语言里一样,一个int main(),必须有一个int类型的返回值,return 0就是作为返回值返回。在Objective-c里,如果函数类型是BOOL类型,如:
    BOOL areIntsDifferent (int thing1, int thing2){if (thing1 == thing2) {return (NO);} else {return (YES);}} 
    那么返回类型就是BOOL类型,返回值就是1或0.
小文总结:对于很多基础性知识,我们或许都说知道,但是我们并不能知根知底,只有深层解析,加以理解,我们才能更好地学习后面更难得知识,知识在于积累,今天就据自 己的理解,写了一点基础性的知识,有误之处,望大家加以指正!希望我们共同学习,共同进步!


0 0
原创粉丝点击