Objective-C基础 (基本语法)

来源:互联网 发布:cpda项目数据分析挂靠 编辑:程序博客网 时间:2024/06/02 11:07

一、关于Objective-C 与  C语言

    Objective-C继承了C的全部功能,很好的利用了C语言可移植的特点,当然学习Objective-C需要熟练的掌握C

Objective-C,通常写作ObjC和较少用的Objective C或Obj-C,是扩充C的面向对象编程语言。它主要使用于Mac OS  

X和GNUstep这两个使用OpenStep标准的系统,而在NeXTSTEP和OpenStep中它更是基本语言。

    。

 

二、Objective-C基本语法
 
      Objective-C在C语言的基础上增加面向对象,不仅兼容了C语言,同时又将C++的面向对象思想应用,但却不同与C++。

    下面以C语言与Objective—C 代码为例:

 

        C语言: 

#include<stdio.h>int mian(){   printf("这是一段C程序代码\n");      return 0;}

  

       Objective-C:

#import<Foundation/Foundation.h>int  main(){     NSLog(@"这是一段Objective-c程序\n");     return 0;}


比较这两段程序,在Objective-C中程序开头使用的是#import语句,输出语句用的是NSLog(@"这是一段Objective-C程序\n");而为什么这么写呢?其实下面这段程序完全没有问题:

#include<stdio.h>int main()     printf("这是一段Objective-C程序\n");     return 0;}

因为Objective-C继承了C的全部功能,这段程序完全可以正确运行,那么为什么还要用#import而不用#include呢?由于#import是由Xcode使用的编译器提供的,Xcode在你编译Objective-C、C和C++程序时都会使用它,#import可保证头文件只被包含一次,无论此命令在该文件中出现多少次,那么这样就给程序员提供了更多便利。

 

再比较两段程序的输出语句分别使用了printf函数与NSLog函数,printf函数是由“stdio.h”提供的,而NSLog函数则是由Foundation框架下的Foundation.h 提供的,使用#import就可以访问Foundation框架内的所有功能。再来观察NSLog中的“@”,@符号是Objective-C相对于C语言的新特性之一,它意味着“ ”里面的内容将作为字符串来处理。

 

 

三、学习笔记

       1.#import的用途

         (1)和#include一样,拷贝文件的内容

         (2)可以自动防止文件里的内容被重复拷贝

        2.#import<Foundation/NSObjRuntime.h>

            NSObjRuntime.h中有 NSLog函数的声明

        3.Foundation框架头文件的路径

            (1) 右击Xcode.app  --->显示包内容

            (2) Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks/Foundation.framework

        4.主头文件

            (1) 主头文件:最主要的文件,名字一般跟框架名称一样包含了框架中的所有其他文件

            (2) Foundation框架的主头文件名称就是Foundation.h

            (3) 只需包含Foundation框架主头文件,就可以使用整个框架的东西

       5.运行过程

            (1) 编写OC源文件:.m、.c

            (2) 编译:cc -c xxx.m xxx.c

            (3) 链接:cc xxx.o xxx.o -framework Foundation

                          (只有用到了Foundation框架才需要加上 -framework Foundation)

            (4) 运行:./a.out


 

0 0
原创粉丝点击