技术标签: objective-c macos 开发语言
OC介绍
Objective-C是一种面向对象的C语言,本质还是C语言,兼容C和C++
简称:OC
提示:以下是本篇文章正文内容,下面案例可供参考
Objective-C,通常写作ObjC或OC和较少用的Objective C或Obj-C,是扩充C的面向对象编程语言。它主要使用于Mac OS X和GNUstep这两个使用OpenStep标准的系统,而在NeXTSTEP和OpenStep中它更是基本语言。
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;
}
}
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()函数的第一个参数前面必须加一个@符号
文章浏览阅读1k次。通过使用ajax方法跨域请求是浏览器所不允许的,浏览器出于安全考虑是禁止的。警告信息如下:不过jQuery对跨域问题也有解决方案,使用jsonp的方式解决,方法如下:$.ajax({ async:false, url: 'http://www.mysite.com/demo.do', // 跨域URL ty..._nginx不停的xhr
文章浏览阅读2k次。关于在 Oracle 中配置 extproc 以访问 ST_Geometry,也就是我们所说的 使用空间SQL 的方法,官方文档链接如下。http://desktop.arcgis.com/zh-cn/arcmap/latest/manage-data/gdbs-in-oracle/configure-oracle-extproc.htm其实简单总结一下,主要就分为以下几个步骤。..._extproc
文章浏览阅读1.5w次。linux下没有上面的两个函数,需要使用函数 mbstowcs和wcstombsmbstowcs将多字节编码转换为宽字节编码wcstombs将宽字节编码转换为多字节编码这两个函数,转换过程中受到系统编码类型的影响,需要通过设置来设定转换前和转换后的编码类型。通过函数setlocale进行系统编码的设置。linux下输入命名locale -a查看系统支持的编码_linux c++ gbk->utf8
文章浏览阅读750次。今天准备从生产库向测试库进行数据导入,结果在imp导入的时候遇到“ IMP-00009:导出文件异常结束” 错误,google一下,发现可能有如下原因导致imp的数据太大,没有写buffer和commit两个数据库字符集不同从低版本exp的dmp文件,向高版本imp导出的dmp文件出错传输dmp文件时,文件损坏解决办法:imp时指定..._imp-00009导出文件异常结束
文章浏览阅读143次。当下是一个大数据的时代,各个行业都离不开数据的支持。因此,网络爬虫就应运而生。网络爬虫当下最为火热的是Python,Python开发爬虫相对简单,而且功能库相当完善,力压众多开发语言。本次教程我们爬取前程无忧的招聘信息来分析Python程序员需要掌握那些编程技术。首先在谷歌浏览器打开前程无忧的首页,按F12打开浏览器的开发者工具。浏览器开发者工具是用于捕捉网站的请求信息,通过分析请求信息可以了解请..._初级python程序员能力要求
文章浏览阅读7.6k次,点赞2次,收藏6次。@Service标注的bean,类名:ABDemoService查看源码后发现,原来是经过一个特殊处理:当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致public class AnnotationBeanNameGenerator implements BeanNameGenerator { private static final String C..._@service beanname
文章浏览阅读3k次,点赞4次,收藏14次。Java软件工程师职位分析_java岗位分析
文章浏览阅读2k次。Java:Unreachable code的解决方法_java unreachable code
文章浏览阅读1w次。1、html中设置标签data-*的值 标题 11111 222222、点击获取当前标签的data-url的值$('dd').on('click', function() { var urlVal = $(this).data('ur_如何根据data-*属性获取对应的标签对象
文章浏览阅读6.9w次,点赞73次,收藏463次。1.前序创建#include<stdio.h>#include<string.h>#include<stdlib.h>#include<malloc.h>#include<iostream>#include<stack>#include<queue>using namespace std;typed_二叉树的建立
文章浏览阅读7.1k次。在Asp.net上使用Excel导出功能,如果文件名出现中文,便会以乱码视之。 解决方法: fileName = HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8);_asp.net utf8 导出中文字符乱码
文章浏览阅读2.1k次,点赞4次,收藏23次。第一次实验 词法分析实验报告设计思想词法分析的主要任务是根据文法的词汇表以及对应约定的编码进行一定的识别,找出文件中所有的合法的单词,并给出一定的信息作为最后的结果,用于后续语法分析程序的使用;本实验针对 PL/0 语言 的文法、词汇表编写一个词法分析程序,对于每个单词根据词汇表输出: (单词种类, 单词的值) 二元对。词汇表:种别编码单词符号助记符0beginb..._对pl/0作以下修改扩充。增加单词