[Objective-C]简介、数据类型、NSLog、运算符

本文介绍了Objective-C(OC)的历史、第一个Hello World程序、#import和Foundation框架,重点讲解了自动释放池@autoreleasepool、NSLog的使用及格式化输出。此外,还涵盖了OC的数据类型,包括整型、浮点型、字符型、枚举和BOOL类型,以及运算符的使用。最后讨论了类型转换、逻辑表达式和运算符的优先级。
摘要由CSDN通过智能技术生成

1. OC历史简介:

    1) 以后OC就作为Objective-C的简称了;

    2) 大致经过:

         i) 最早由Brad J.Cox创造,仅仅是对C语言进行了一定的扩展,因此具有C语言的特性,但很多语法基于SmallTalk,因此是面向对象的;

         ii) NeXT公司获得OC授权,并发展出了OC的语言库和开发环境(该环境基于NEXTSTEP操作系统),该环境即为NEXTSTEP,简称NS;

         iii) NeXT和Sun联合发布针对NEXTSTEP系统的标准规范OPENSTEP,从此该开发环境全称为NEXTSTEP/OPENSTEP,即OPENSTEP标准下的NEXTSTEP环境;

         iv) NeXT被苹果收购,NEXTSTEP/OPENSTEP被苹果整合置自己的操作系统OS X中作为默认的开发环境,并改名为Cocoa(就相当于OS X的API了),并内置了对OC的支持,因此现在在写OC代码时经常会看到以NS打头的函数,这个就代表是原来NEXTSTEP框架中的函数;


2. 第一个Hello World程序:

    1) 程序示例:

// main.m

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    
    @autoreleasepool {
        
        NSLog(@"Hello, World!");
        NSLog(@"fuck");
    }
    
    return 0;
}

    2) 和C语言相通的一些基本特性:

         i) 格式自由:空白符随意加;

         ii) 注释方式://和/* */,其中后者不支持嵌套注释!

         iii) 大小写敏感;

         iv) 花括号框住一段代码块;

         v) 语句以分号;结束(必须加分号!);

         vi) 整个程序的入口函数main函数和C语言的定义也一模一样(包含命令行参数);

    3) #import导入语句和C语言的#include功能一样,都是直接将头文件中的内容复制到原文件中(OC也是实现和声明分开的编程风格),也都是在与处理阶段进行导入;

    4) Foundation/Foundation.h表示Foundation框架中的Foundation.h头文件,这样就可以使用Foudation框架中的NSLog函数了,框架中有很多苹果提供的功能(主要是一些分装了系统调用的函数,和微软的MFC功能类似);

补充:Cocoa框架就是Foundation框架和AppKit框架组成,用于编写OS X应用程序,而开发IOS应用程序的框架是Cocoa Touch框架,由Foundation框架和UIKit框架组成,可见Foundation是一种非常重要的基础框架;

    5) @autoreleasepool { }表示自动释放池,可以自动管理池中动态创建的对象(面向对象中会起到作用,因为OC一开始和C++一样,也是需要程序员自己管理内存的,之后引入了Java那样的垃圾回收机制,但是由于OC一开始并没有垃圾回收的基础模块,因此就开发出了这种方式,即在自动释放池的范围内自动进行内存管理),避免内存泄漏,采用的方式也被沿用到了Swift中,即ARC自动引用计数;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值