IOS各种文件后缀的含义
IOS开发在很长一段时间用的是Object-C,后面才扩展用的swift。个人感觉oc比c#更加像C++,所以它的相关脚本的后缀名也更像c++,这样随意,用一个字母来表示文件性质,变量命名的时候不是不推荐用不知含义的字符如单个字符的吗(手动狗头)
.h
这个大家肯定都知道,就是头文件声明,在头文件中,我们可以声明方法,变量等
.m
这个就是文件的实现部分,在oc中,也可以在.m中写一些私有方法或者私有变量(这个就扯到了一个问题,OC中有私有方法?答案是没有,但是我们可以在.m中写,这样可以实现java语言中的私有方法或者私有变量),这里边可以写OC代码,也可以写C代码。
一般来说,一个h文件会有一个同名的m文件
.mm
也是实现文件(源代码文件)如果说遇到了这种扩展名文件,你可千万不要以为是弄错了,是正确的,Xcode确实可以编写这种后缀名的文件,这种后缀名的文件中除了可以写oc,c还可以写C++代码,当然了,仅在你的objective-C中确实需要使用C++类或者特性的时候才用这种扩展名文件。今天在书中看到了这么一句话,可能更能阐述.mm的含义:“用.mm做文件扩展名,编译器就会认为你是用Objective-C++编写代码,这样就可以同时使用C++和Objective-C来编写文件了”。
.m和.mm的区别是告诉gcc在编译的时候要的一些参数,当然.mm还可以命名成.m,但是在编译的时候需要自己再加一些参数(没必要)
至于如何创建.mm文件,这个就不是创建的了,在Xcode中我们可以创建C文件,可以创建C++或者Swift文件。要想实现C++文件和OC文件之间的混编,那么就把后缀名为.m的这个文件改为.mm,意思是告诉编译器,我这个文件里边可能回用到C++文件,你得允许我哦!
.a
外部静态库文件,相当于c#中的using 后面的东西,就是别人已经封装好的脚本文件。可能需要在XCode中进行配置。
.cpp
C++ 文件的后缀,文件里面只能写c++语言。
IOS各种文件后缀的含义相关推荐
- IOS去除文件后缀名
ios 去文件后缀名 第一种: NSArray * rslt = [fileName componentsSeparatedByString:@"."]; 04 if ([ ...
- Altium Designer 制造输出 各文件后缀的含义
PCB制造输出中各种后缀的GerBer文件说明 顶层/底层线路层(.GTL/.GBL) 顶层/底层丝印层(GTO/.GBO) 顶层/底层锡膏层(GTP/.GBP) 顶层/底层阻焊层(GTS/.GBS) ...
- Linux下各文件夹的含义和用途
Linux根目录"/"下各个系统文件夹的含义和用途 1./boot 该目录默认下存放的是Linux的启动文件和内核. 2./initrd 它的英文含义是boot loader in ...
- Linux下的文件及文件后缀名
1.Linux文件的扩展名: 一谈到文件类型,大家就能想到Windows的文件类型,比如file.txt.file.doc.file.sys.file.mp3.file.exe等,根据文件的后缀就能判 ...
- Linux下的文件类型、文件后缀名 知识点解析
文章目录 1.Linux文件的扩展名: 2.Linux 文件类型: 参考博客: https://blog.csdn.net/AQRSXIAO/article/details/82774729 人需要不 ...
- 后缀是php,php是什么文件_文件后缀php是什么意思
摘要 腾兴网为您分享:文件后缀php是什么意思,桌面日历,中信金通,易信,小睡眠等软件知识,以及语音朗读,安卓投屏电脑软件,c#编程软件,ppt批量转pdf,魅族服务中心,微学院,手机照片墙图片,牛账 ...
- java开发常用文件后缀
文件后缀常用 package com.CloudDisk.Entity;public interface FileType {//电子文件类型public static final String PD ...
- 210807算法日记:文件后缀数据点的生成洛谷数据点的上传
1.常见的文件后缀 后缀名 含义 .exe 可执行程序 .txt 文本文件 .doc/.docx 纯文字文件(word) .zip 压缩包 .jpeg/.jpg 图片 2.数据点的生成 #includ ...
- linux 文件拆分 原后缀,Linux批量更改文件后缀-转载
一.rename解决 1. Ubuntu系统下 rename 's//.c//.h/' ./* 把当前目录下的后缀名为.c的文件更改为.h的文件 2. CentOS5.5系统下 rename . ...
最新文章
- YOLOvi(i=1,2,3,4)系列
- 2015/6/1站立会议(补发)
- 疫情冬天过去,二手经济春天到来
- Linux学习之系统编程篇:线程同步的引出和思想
- nginx的常规配置
- 使用junit做其他事情
- 一步步编写操作系统 07 开机启动bios
- python中char的用法_如何从C++返回char **并使用cType在Python中填充它?
- element-UI级联选择器(Cascader 回显、默认显示项) - (返回结果的)格式转化 - 代码篇
- 95-136-043-源码-Operator-LegacyKeyedCoProcessOperator
- python3 asyncio_asyncio--python3未来并发编程主流、充满野心的模块
- Multi thread: std::promise
- Oracle截取字符串函数和查找字符串函数,连接运算符||
- Android中Socket大文件断点上传
- 优质的vray视频教程素材推荐,不容错过
- ehcache使用java_Java分布式缓存框架Ehcache 使用(一)
- 《你和你的研究》全文
- 基于MATLAB的数字调制方法
- linux修复磁盘坏道
- html 调用桌面exe程序,如何使用HTML、CSS和JavaScript轻松构建桌面应用程序
热门文章
- [原创]react native 注意事项
- 数字图像处理-数字水印的嵌入与提取
- AIOps(智能运维)中的指标算法场景分享 | 内附视频ppt资料
- 中科大软院机器学习总结——朴素贝叶斯
- 建设工程工程量清单计价规范2008最新分析报告ppt
- 计算机数控装置软件模块组成,第六章计算机数控装置
- python聊天小程序支持私聊和多人_利用Python打造一个多人在线匿名聊天的小程序!(前后端完整开发)...
- 使用 Jpcap 进行 ARP 抓包
- Rancher环境搭建手册
- 元宇宙游戏_区块链虚拟农场茶叶种植系统,含在线商城和系统交易大厅