温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Objective-C(1) 认识一下吧

发布时间:2020-06-25 11:29:16 来源:网络 阅读:615 作者:ymanmeng123 栏目:移动开发
  • Objective-C的简历

    Objective-C(1) 认识一下吧

历史背景

     20世纪80年代初 Objective-C诞生

     1988年 NeXT开发了Objective-C语言库

     1992年 GNU增加了NeXT公司的Objective-C的支持

     1996年 苹果收购NeXT,并更名为Cocoa

     2004年 Mac OS X 以“NS”作为前缀

     2007年 苹果公司发布了Objective-C 2.0

    经过多年的发展,Objective-C和Cocoa已演化成一个功能强大的工具集。

OC的特点:

    兼容性 :是一种面向对象的C语言,可以有C和C++语句,可以调用C的函数,也可以通过C++对象访问方法。

    类 :定义类是基本能力,OC的类声明和实现,包括接口部分和实现部分。

    方法 :定义方法也是它的基本能力,OC中的方法是通过[]运算符进行调用,有时也称作“消息发送”。

    属性 :是OC2.0提出的概念,替代对成员变量访问的“读取方法(getter)”和“设置方法(setter)”的手段

    协议 :OC中来的协议类似于Java中接口或C++的纯虚类,只有接口部分定义没有实现部分

    分类 :OC中的分类类似于继承机制,通过分类能够扩展父类的功能。

OC的缺点:

     OC的最初版本并不支持垃圾回收

     OC不包括命名空间机制

     OC不支持运算符重载    

     OC不支持多继承

     故,OC不是一个完全面向对象语言


  • Objective-C源文件

     在Mac OS X下使用XCode进行开发

     Xcode通过.m扩展名表示文件使用的是OC代码(可以嵌入C语言)

     如果需要嵌入C++的代码,则扩展名应为.mm。。


  • 编写Hello World

学习一种新的语言的第一步就是要输出 Hello World。,使用XCode创建一个新的Mac OS的控制台项目。

将main.m中的代码更改为如下:

     #import <Foundation/Foundation.h>

     int main(int argc, const char *argv[])

     {

          NSLog(@”Hello World, Objective-C!”);

          return 0;

     }

import关键字:

     OC使用import关键字来代替include关键字包含头文件。

     优点:import本身即可避免头文件的重复包含。

     其他方面和include一样

Foundation框架:

     Foundataion是Cocoa中的一个框架。

          简单理解框架就是库,包含了一些列的头文件、源文件、图像文件、声音文件等。

          Apple公司将Cocoa、Carbon、QuickTime和OpenGL等技术作为框架提供。

     Foundation框架处理的是用户界面之下的层(layer)的特性,如数据结构、通信机制等。

          包括了各种基本数据类型、集合、操作系统服务的类

          包含了集中设计模式和机制,以便设计出更健壮和高效的Objective-C程序

          

NSLog函数:

     NSLog是Foundation框架中提供的一个函数。

     提供了日志形式的输出,类似于C中的pringf

     该输出会自动加上日期等信息以及自动换行的

OC中的@:

     表示后面是一个OC的对象

     @“"用于描述一个OC字符串常量

     OC字符串的类型是NSString,是Foundation框架中的一个类

     在NSLog中使用%@输出一个OC对象


  • 其他基本元素说明

布尔类型:

     布尔类型用于描述“真”、“假”, 类型为BOOL,其值可为 YES  NO

     typedef signed char BOOL;

     #define YES (BOOL)1

     #define NO (BOOL)0

OC对象指针类型:

     void *    任意类型的指针

     id          OC的对象指针

     instancetype  和id类似,用于构造方法的返回值类型

OC中的“空”:

     NULL   对应普通指针变量的空地址

     nil         表示OC对象指针的空地址

     Nil         表示OC类对象指针的空地址


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI