OC介绍

文章目录

  • 前言
  • 一、OC是什么?
  • 二、第一段OC代码
  • 三、OC基本介绍

前言

Objective-C是一种面向对象的C语言,本质还是C语言,兼容C和C++

​​​​​​​     简称:OC


提示:以下是本篇文章正文内容,下面案例可供参考

一、OC是什么?

Objective-C,通常写作ObjC或OC和较少用的Objective C或Obj-C,是扩充C的面向对象编程语言。它主要使用于Mac OS X和GNUstep这两个使用OpenStep标准的系统,而在NeXTSTEP和OpenStep中它更是基本语言。

二、第一段OC代码

1.下述代码与C的不同

<1>OC以#import<框架名/框架名.h>开头

C以#include<文件名.h>开头

<2>OC格式化输出格式:NSLog函数---NSLog(@"输出内容");

C格式化输出格式:printf函数---printf("输出内容");

<3>OC源文件后缀名是.m,m代表message(消息机制)

C源文件后缀名是.c

#import<Foundation/Foundation.h>
int main(int argc,const char* argv[])
{autoreleasepool{NSLog(@"Hello Wrold!");return 0;}
}

三、OC基本介绍

1.main函数仍然是程序的入口和出口

2.#import指令:<1>以#开头是一个预处理指令,执行时间:代码编译前

<2>作用:#include指令的加强版,将文件值内容在预编译时候拷贝到写指令的地方

<3>增强:同一个文件无论#import多少次,都只会包含一次,但是#include指令要实现这

个效果,就必须要配合条件编译指令#ifndef---#define---#endif来实现,而#im

port指令就需要直接包含就可以了

<4>简要原理:#import指令在包含文件的时候,底层先判断这个文件是否被包含,若被

包含就会略过,反之才包含

3.基本框架Foundation:

<1>个人理解,框架就相当于C语言中的函数库,就是一个功能集,就是把经常要用到的功能事先准              备好,把这些功能函数封装在一个类中,这些函数和类的集合就叫做框架

<2>常用框架<Foundation/Founation.h>、<UIKit/UIKit.h>等等

<3>Foundation.h文件中包含了Foundation框架中其他的所有的头文件,所以我们只要包含                     Foundation.h就相当于包含了Foundation框架中所有的头文件

4.@autoreleasepool:自动释放池

5.NSLog()函数

<1>. printf的加强版

<2>.语法格式:NSLog(@"格式控制字符串",变量列表);

<3>.加强:->会自动换行,若手动加 \n 函数的自动换行就会失效!

->会输出一些调试相关信息 2022-3-23 12:40:52.628 程序名[进程数:进程编号]输出信息

->OC中新增了一些数据类型(只能通过NSLog()来输出);

->NSLog()函数的第一个参数前面必须加一个@符号

Objective-C相关推荐

  1. Objective C内存管理之理解autorelease------面试题

    Objective C内存管理之理解autorelease Autorelease实际上只是把对release的调用延迟了,对于每一个Autorelease,系统只是把该Object放入了当前的Aut ...

  2. iOS完全自学手册——[三]Objective-C语言速成,利用Objective-C创建自己的对象...

    1.前言 上一篇已经介绍了App Delegate.View Controller的基本概念,除此之外,分别利用storyboard和纯代码创建了第一个Xcode的工程,并对不同方式搭建项目进行了比较 ...

  3. 【iOS 开发】Objective-C 运算符

    博客地址 : http://blog.csdn.net/shulianghan/article/details/41624613 参考文章 : 1.[iOS 开发]Object-C 运算符 2.[iO ...

  4. 成功解决coordinate_descent.py:491: ConvergenceWarning: Objective did not converge. You might want to inc

    成功解决coordinate_descent.py:491: ConvergenceWarning: Objective did not converge. You might want to inc ...

  5. 刨根问底Objective-C Runtime(2)- Object Class Meta Class

    刨根问底Objective-C Runtime(2)- Object & Class & Meta Class Chun Tips 专注iOS开发 刨根问底Objective-C Ru ...

  6. Objective C 基础教程

    复合 使用复合可组合多个对象,使之人工协作. 会同时使用继和复合来创建自己的类. 编程中的复合就好像音乐中的作曲一样:将多个组件组合在一起配合使用. 在Objective-C中,复合是通过包含作为实例 ...

  7. 观点:再见Objective C?程序员眼中的Swift

    对于苹果开发者来说,如今已经进入了"Swift时代".虽然编程语言Objective C备受喜爱,不过它作为苹果主流编程语言的日子已经所剩无几.随着WWDC开发者大会的落幕,Swi ...

  8. Objective c类的初始化

    Objective c中实现类的初始化要先重载父类的init方法: 1.首先调用[super init]使用父类的方法进行初始化.将对象赋给self 2.假设self不为nil即父类初始化成功,接着进 ...

  9. Objective -C Memory Management 内存管理 第一部分

    Objective -C Memory Management  内存管理  第一部分 Memory management is part of a more general problem in pr ...

  10. 1.1 objective-c中的内存管理

    备注:本来在一年前有一个出版社找到我,让我写一系列关于iOS性能优化的书.但是一直因为工作原因,没有能够按时交付.(其实就是自己懒)所以现在讲已经写好的部分章节分享到博客中,希望对大家有所帮助,如果有 ...

最新文章

  1. Leetcode上的题目
  2. js运动动画的八个知识点
  3. 也谈.net加密解密
  4. 行星齿轮设计手册_合理选用行星齿轮传动装置的侧隙
  5. JPA在MySQL中自动建表
  6. XHTML学习资料(三)—— 表格
  7. 天梯赛座位分布-一点都不垃圾的模拟题,代码长度超过100行的都是傻子
  8. 2021-09-08推荐系统有如下三大类算法
  9. Linux驱动基础知识(一)
  10. Excel常用电子表格公式大全【汇总篇】
  11. 【总结整理】产品经理技术
  12. 探究ESP32S【第六天】——接入米家(插曲)
  13. MacBook Pro 完美分屏
  14. hdu 3995 Perfect Faceless Void
  15. 密码学基础:Base64编码
  16. 损失函数-交叉熵的推导和二分类交叉熵
  17. 【jitpack】android implementation 远程仓库
  18. node php v2ex,vue2.0写的V2EX社区
  19. 计算机为什么经常更新,电脑老是配置更新怎么办
  20. bit, byte, short int占用的字节数简单解释

热门文章

  1. Windows原版安装程序中diskpart使用
  2. Debian 启用root账户远程登录并删除多余用户
  3. Java关键字,标识符,数据类型,运算符
  4. Pytorch min函数详解
  5. python easygui该如何使用?
  6. 光辉国际宣布陈兆丰先生为新任中国区总裁
  7. icare3.0医用his软件部署基本流程
  8. U盘打不开或者不显示
  9. JavaScript基础知识快速预览
  10. 【HTML】iframe标签