Objective-C
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相关推荐
- Objective C内存管理之理解autorelease------面试题
Objective C内存管理之理解autorelease Autorelease实际上只是把对release的调用延迟了,对于每一个Autorelease,系统只是把该Object放入了当前的Aut ...
- iOS完全自学手册——[三]Objective-C语言速成,利用Objective-C创建自己的对象...
1.前言 上一篇已经介绍了App Delegate.View Controller的基本概念,除此之外,分别利用storyboard和纯代码创建了第一个Xcode的工程,并对不同方式搭建项目进行了比较 ...
- 【iOS 开发】Objective-C 运算符
博客地址 : http://blog.csdn.net/shulianghan/article/details/41624613 参考文章 : 1.[iOS 开发]Object-C 运算符 2.[iO ...
- 成功解决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 ...
- 刨根问底Objective-C Runtime(2)- Object Class Meta Class
刨根问底Objective-C Runtime(2)- Object & Class & Meta Class Chun Tips 专注iOS开发 刨根问底Objective-C Ru ...
- Objective C 基础教程
复合 使用复合可组合多个对象,使之人工协作. 会同时使用继和复合来创建自己的类. 编程中的复合就好像音乐中的作曲一样:将多个组件组合在一起配合使用. 在Objective-C中,复合是通过包含作为实例 ...
- 观点:再见Objective C?程序员眼中的Swift
对于苹果开发者来说,如今已经进入了"Swift时代".虽然编程语言Objective C备受喜爱,不过它作为苹果主流编程语言的日子已经所剩无几.随着WWDC开发者大会的落幕,Swi ...
- Objective c类的初始化
Objective c中实现类的初始化要先重载父类的init方法: 1.首先调用[super init]使用父类的方法进行初始化.将对象赋给self 2.假设self不为nil即父类初始化成功,接着进 ...
- Objective -C Memory Management 内存管理 第一部分
Objective -C Memory Management 内存管理 第一部分 Memory management is part of a more general problem in pr ...
- 1.1 objective-c中的内存管理
备注:本来在一年前有一个出版社找到我,让我写一系列关于iOS性能优化的书.但是一直因为工作原因,没有能够按时交付.(其实就是自己懒)所以现在讲已经写好的部分章节分享到博客中,希望对大家有所帮助,如果有 ...
最新文章
- Leetcode上的题目
- js运动动画的八个知识点
- 也谈.net加密解密
- 行星齿轮设计手册_合理选用行星齿轮传动装置的侧隙
- JPA在MySQL中自动建表
- XHTML学习资料(三)—— 表格
- 天梯赛座位分布-一点都不垃圾的模拟题,代码长度超过100行的都是傻子
- 2021-09-08推荐系统有如下三大类算法
- Linux驱动基础知识(一)
- Excel常用电子表格公式大全【汇总篇】
- 【总结整理】产品经理技术
- 探究ESP32S【第六天】——接入米家(插曲)
- MacBook Pro 完美分屏
- hdu 3995 Perfect Faceless Void
- 密码学基础:Base64编码
- 损失函数-交叉熵的推导和二分类交叉熵
- 【jitpack】android implementation 远程仓库
- node php v2ex,vue2.0写的V2EX社区
- 计算机为什么经常更新,电脑老是配置更新怎么办
- bit, byte, short int占用的字节数简单解释