OC之开篇

iOS LiveCommunicationKit OC 实现 LiveCommunicationKit主要用于优化VoIP通话体验,适用于需要高质量语音通话功能的应用。类似的功能,允许应用程序设置为系统默认通话应用,但与CallKit不同的是,LiveCommunicationKit在锁屏状态下不会全屏弹出,也不会在。因为项目是OC版本的,所以进行了封装实现,目前已经实现OC版本,供大家使用。8.0.56版本就采用了LiveCommunicationKit接口,替换了原先的CallKit框架,以进一步提升语音通话体验‌。中引入的一个新框架,旨在优化。 阅读详情

一、OC简介

Oc语言在c语言的基础上,增加了一层最小的面向对象语法,完全兼容C语言,在OC代码中,可以混用c,甚至是c++代码。

可以使用OC开发mac osx平台和ios平台的应用程序。

拓展名:c语言-.c  OC语言.-m  兼容C++.-mm

注:其实c语言和oc甚至任何一门语言都只是我们为了实现一些功能,达到一些效果而采用的工具,抛开语法的差别外,我想最重要的应该是在解决问题的时候考虑的角度和方法不一样而已,然而这也构成了学习一门语言的重要性。

 

二、语法预览

(一)关键字

基本上所有的关键字都是以@开头的(为了与c语言的关键字区分开来),如@interface  @implementation  @public等,少部分没有以@开头,如id,_cmd等

 

(二)字符串以@开头

C语言字符串:“hello”

OC语言字符串:@“hello”

 

(三)其他语法

基本类型:5种,增加了布尔类型

Nil相当于是null,也就是0。

屏幕输出:NSLog(@“hello”);//自动换行

NSLog(@“age is %d”,2);

 

三、OC程序开发过程

#import预处理指令有两个作用:(1)与#include一样,拷贝文件内容(2)可以自动防止文件的内容被重复拷贝

程序编译连接过程:

源文件(.m)---(编译)---->目标文件(.0)-----(链接)---->可执行文件(.out)

 

Foundation框架。如果要使用框架中的所有头文件那么应该怎么办?包含框架的主头文件。主头文件是一个框架中最主要的头文件,每个框架的主头文件名和框架名一致。

如#import<foundation/foundation.h>

运行过程如下:

(1)编写OC源文件  .m .c

(2)编译文件  cc -c xx.m  xxx.c

(3)链接  cc xx.o xxx.o  -framework Foundation

(4)运行 ./a.out

 

四、类型补充

Int main()

{

BOOL b=YES;

BOOL b1=NO;

BOOL b2=1;//  YES

BOOL b3=2;//  NO

NSLog(@“%i”,b);

}

 

BOOL类型与其他类型的用法一致,BOOL类型的本质是char类型的,定义如下:

Typedef signed char BOOL

宏定义:

#define YES  (BOOL)1

#define NO   (BOOL)0

布尔类型的输出一般当做整数来用。

OC—基础语法 一、Objective-C语言简介 Objective-C简称Obj-C或者OC,Objective的意思就是面向对象的。OC其实就是在C语言的基础之上,封装了一层面向对象的语法,他并不是一门全新的编程语言。OC是Mac OS X系统和iOS系统的主要开发编程语言,当然马上要被Swift给替代了,然并卵,我们还是得好好学习OC,因为现在大多数公司还是使用OC来做iOS开发。 二、第一个OC程序... 阅读详情

相关推荐

iOS UMeng OC和Swift混编

设置Objective-C桥接文件导入SDK头文件在UMengDemo-Bridging-Header.h中加入U-Share SDK头文件://导入UMCommon的OC的头文件//导入UShare的OC的头文件//导入UMAnalytics的OC的头文件//导入UMPush的OC的头文件UMengDemo的OC和Swift的切换UMengDemo是用OC的代码编写的,同时也兼容了swift3.0的调用示例(UMengDemo不再对swift2.0做示例兼容).

2501_90230875的博客 1700

iOS开发 objective-c

iOS开发之OC

q28292929的博客 2513

oc调用swift

OC调用Swift 如果你想在Objective-C工程中,嵌入Swift文件,实现OC调用Swift,那么这篇文章就能帮助你,由于本人最近在开发Swift项目,所以实现过OC调用Swift,在这过程中遇到过一些瓶颈,特此,将此文奉上,供大家参考。 OC调用Swift文件,需要创建桥接头文件,这个文件是当你在OC开发环境中创建Swift文件时由Xcode生成,该桥接头文件的命名是:-B

Xiao_Long_Li的专栏 2136

OC语言前期准备

  OC语言前期准备 一、OC简介 Oc语言在c语言的基础上,增加了一层最小的面向对象语法,完全兼容C语言,在OC代码中,可以混用c,甚至是c++代码。 可以使用OC开发mac osx平台和ios平台的应用程序。 拓展名:c语言-.c  OC语言.-m  兼容C++.-mm 注:其实c语言和oc甚至任何一门语言都只是我们为了实现一些功能,达到一些效果而采用的工具,抛开语法的差别外,我想...

weixin_33671935的博客 194

RT-Thread新手必看:FMT飞控移植中的5个常见坑及解决方案

本文针对RT-Thread新手在移植FMT开源飞控时遇到的5大核心挑战,提供了深度解决方案。内容涵盖SCons构建系统配置、RT-Thread版本API兼容性处理、BSP与设备驱动适配、TOML系统配置解析以及算法模块集成调试,帮助开发者高效避坑,成功完成飞控移植。

gin88的博客 250

SDIO协议

SDIO协议1 概述  SDIO,全称:Secure Digital Input and Output ,即安全数字输入输出接口。2 特点①与多媒体卡系统规格书版本4.2全兼容。支持三种不同的数据总线模式:1位(默认)、4位和8位。②与较早的多媒体卡系统规格版本全兼容(向前兼容)。③与SD存储卡规格版本2.0全兼容。④与SD I/O卡规格版本2.0全兼容:支持两种不同的数据总线模式:1位(默认)和4

Let the development board fly! 3万+

IOS之oc学习笔记(1)

IOS之oc学习笔记(1) OC的简介 1.Objective-C简称Obj-C或者OC,Objective的意思就是面向对象的。OC其实就是在C语言的基础之上,封装了一层面向对象的语法,他并不是一门全新的编程语言。 2.OC是Mac OS X系统和iOS系统的主要开发编程语言。 3.C程序的源文件的后缀名为.c,OC程序的源文件是后缀名为.m,m就是message的意思。因为OC是完全兼容C语言的,所以在.m文件之中是可以写任意的C代码。 并且OC中main函数仍然是OC程序的入口,作用和C语言中的是一样

android_Mr_夏 957

智能车实战——从ADC采集到PWM控制,让电磁车精准循迹

本文详细介绍了电磁循迹智能车的实现原理与实战技巧,涵盖从ADC信号采集、PWM控制到PID算法整定的全流程。通过STM32代码示例解析电感信号处理、差比和偏差计算及电机驱动等关键技术,帮助开发者快速掌握智能车精准循迹的核心方法,提升电磁车竞赛项目的开发效率。

weixin_29192211的博客 301

ios 开发语言Objective-C 小白入门科普

就是一种编程语言,专门用来开发苹果设备(iPhone、iPad、Mac)上的应用程序。盖房子需要工具 → 编程需要语言中文、英文是人类交流的语言 → Objective-C 是人和计算机交流的语言就像厨师用刀切菜 → 程序员用 Objective-C 写 App。

weixin_52236586的博客 650

Bentley二次开发教程28-交互窗口-案例实战2-EC属性赋值工具

该工具会根据用户输入的路径获取Schema文件的路径,然后通过路径读取对应的Schema文件并在树状图中显示EC类,当用户选择树状图上的节点时,此时会触发事件,根据EC属性添加用户自定义控件用于显示EC属性并可对其进行赋值操作。完成后选取元素,点击界面上的应用,此时元素会被赋予指定EC类,同时修改的EC属性值也会被同步赋予。该工具涉及到的WinForm控件有:TextBox,Button,TreeView,Panel,UserControl(用户自定义控件)。

不见不散的博客 1474

使用conda环境python3.13和python3.12下安装vllm过程记录

使用conda环境python3.13和python3.12下安装vllm过程记录

没刮胡子的程序员专栏 885

OC语言概念解释

理解OC语言部分概念的缩写

chil110110的博客 490

LeRobot 入门教程(九)使用 Android、iOS 手机控制机械臂

本指南详细介绍了如何使用iOS/Android手机远程控制机器人。内容包括:1)安装依赖(pip install leroobot[phone]);2)平台支持说明(iOS需HEBI Mobile I/O应用/Android用WebXR);3)手机方向校准方法;4)控制模式设定(按钮/手势);5)示例脚本使用(遥操作/数据记录/回放/策略评估);6)关键参数配置(运动学/安全限制/夹爪控制);7)故障排查方法。支持ROS2集成,提供URDF文件处理、逆向运动学计算和实时可视化功能,适用于物理机器人和仿真环境

2506_90492529的博客 1657

跟我一起学OC系列-开篇

最近一直在思考一些问题,想把过去一些OC知识再重新梳理一遍,一方面自己可以温故而知新,另一方面也可以供新手或者刚入门的参考一下(纯属自恋哈,哈哈哈),欢迎大家一起探讨,共同进步,成长,装逼!1.前言本博客系列主要介绍OC编程语言基础,这也是进行IOS开发必备之路(虽然现在也有基于swift语言开发的,不过目前主流的还是基于OC的哈);期间,有纰漏之处,还望大家一起指正或者反馈,我会及时纠正,避免误导

ESON的专栏 655

【动态导通电阻】GaN HEMT动态导通电阻的精确测量

2023年7月,瑞士洛桑联邦理工学院的Hongkeng Zhu和Elison Matioli在《IEEE Transactions on Power Electronics》期刊发表文章,提出了一种稳态测量方法,用于研究氮化镓(GaN)高电子迁移率晶体管(HEMT)的动态导通电阻(Ron)。实验结果显示,商业GaN器件在稳态下的动态Ron变化显著,稳定时间可达数分钟且与电压相关。传统的脉冲测量方法由于测试时间不足,可能导致结果不准确。该

荷塘阅色 1376

【多模态实验总结】整理了几十篇文章,理清 多模态目标检测 在写论文中需要做哪些实验

此篇文章中将多模态目标检测所做的实验,分成了各个类别,目的是为了对多模态的实验有一个清晰的理解。可以看到,很多表格中放的并不是做了单一的某一个对比,而是将提出的模型,在不同的骨干、数据集上的效果与基线进行对比,使内容更全面。因此这里提到的各种实验,大家在后续改进写论文过程中可以根据自己的论文内容进行整合。对于这里提到的这些文章,大家都可以看看,我只是按照我这里的分类截取了部分实验,这里提到的所有实验在每篇文章中也基本能看到相应的实验。

Limiiiing的博客 3138

开篇:说说OC中的property修饰词

OC中的属性property按照其功能分为以下三种类型: 线程安全 内存管理 读写权限 缺省情况下,基本数据类型的修饰词是:atomic、assign、readwrite;普通对象的修饰词是:atomic、strong、readwrite 线程安全:atomic与nonatomic atomic:原子属性;修饰的对象会保证 setter 和 getter 方法的完整性,任何线程访问时...

GeekLee609的博客 508

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Open Catalyst Project数据集全解析:OC20/OC22/OC25有何不同

你是否在催化剂研究中遇到过数据集选择困难?面对OC20、OC22和OC25等多个版本,不知道它们之间的区别和适用场景?本文将详细解析这三个数据集的核心差异、技术特点和应用场景,帮助你快速选择适合自己研究需求的催化剂机器学习数据集。读完本文后,你将能够:区分不同数据集的结构特征、了解它们的技术参数差异、掌握各自的适用场景,并学会如何获取和使用这些数据集。 ## 数据集概述与核心差异 Open C...

gitblog_00055的博客 1626

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

15、OC与Swift的混编

在使用Swift进行iOS开发的过程中,经常涉及到Swift与OC混编的情况,有时主工程是OC的需要另外编入Swift代码,而有时主工程是Swift的需要另外编入OC代码。这其中涉及到修改一下XCode的工程配置。 1、在同一个工程中的混编 在Swift 5.1中,两种混编的实现步骤: Swift访问OC:只需要在桥接文件(ProductName-Bridging-Header.h)中导入需要暴露给Swift的OC类,即可在Swift中访问相应OC类及方法。 OC访问Swift:在OC类中导入Pro

重楼的博客 3583

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

[科普] GLONASS现代化:新民用CDMA信号L1OC、L2OC与L3OC详解

俄罗斯GLONASS系统正通过引入新一代民用CDMA信号实现现代化升级。目前已部署L3OC信号(1202.025 MHz),采用BPSK(10)调制和I/Q正交复用结构,提供宽带宽和高精度;部分卫星已测试播发L2OC信号(1248.060 MHz),形成双频优势;计划中的L1OC信号(1600.995 MHz)将采用BOC(1,1)调制。这些新信号显著提升了系统性能,改善了与其他GNSS系统的兼容性,为高精度应用提供支持。随着GLONASS-K2等新一代卫星的发射,系统将实现从FDMA到CDMA的全面转型。

极客不孤独的博客 1611

OC 基础入门

OC 语法基础 OC 的语法知识其实有蛮多,以下知识基础的一部分. 目录部分: 文章目录 @ 符号 在 OC 语言中,绝大部分的关键字使用的@符号开头。记住这是一个规则就好了。 字符串 在 Java 中字符串和 C 语言中字符串定义的方式是一样的。 但是在 OC 中的字符串的定义是需要添加 @ 的,在OC 中字符串类型使用的是 NSString ,相对而言添加一个 NS 前缀。 Java: "Android" "Java" OC: @"OC" @"iOS" //比如定...

秋天的博客 2807

OC和Swift混编相互调用

现在咱们就一起学习下 OC和Swift混编,如何实现呢? 首先创建一个OC项目 这里不在做详细解释,直接进入 打开项目; 一 、添加swift 文件 (只要是混编 无论是在oc项目中添加swift文件 ,还是swift项目中添加oc文件) 会提示添加一个桥文件 名字为oc_swift-Bridging-Header.h下面都用这个名字(如图) 这个时候 我们只需要点击确定即可; 这个桥文件是用来添加 swift使用oc的时候导入头文件使用的 扩充 — 这个文件oc_swift-Bridging-Head

哈皮吖的博客 5468

iOS JS与OC交互

iOS JS与OC交互 1、UIWebView 与 JS 交互 UIWebView 在 iOS12 中已经被废弃,同时WKWebView在iOS8中已经出现。所以无特殊情况的话,我们一般应该也是用不到前者了! UIWebView 初始化: self.webView = [[UIWebView alloc] initWithFrame:self.view.bounds]; self.webView.delegate = self; [self.view addSubview:self.

kangpp的博客 2978

IOS 07 Swift调用OC源码及OC第三方框架

创建SwiftUseOCTest项目,是一个Swift语言的项目;再创建一个OC类文件,里面有静态方法,实例方法,字段等;然后在Swift项目中调用OC类;像OC类的复杂宏,在Swift类中是无法调用。

sziitjin的博客 1831

oc怎么添加win引导_OC透明贴图

写在前面透明贴图在C4D中经常会用到,比如在物体上贴个图形,如下图所示,这个在默认渲染器中操作比较简单,切换到OC中,有的小伙伴会有些懵圈,所以写了这篇文章(使用OC3.07),希望对大家有所帮助,笔芯。OC中实现透明贴图,涉及到图像纹理节点,下面先梳理相关的知识。OC节点编辑器OC中一个个节点可以看成一个个暗盒,它有两类端口,左侧输入端:输入指令,右侧输出端:输出结果,输入端可有多...

weixin_39834488的博客 2820

催化剂数据集终极指南:OC20/OC22/OC25深度对比与实战应用

面对催化剂机器学习研究中众多的数据集选择,你是否感到困惑?OC20、OC22、OC25这三个核心数据集各有侧重,选择错误可能让你的研究事倍功半。本文将为你提供从基础认知到深度应用的完整解决方案。 ### 数据集速查表:快速定位你的需求 | 应用场景 | 推荐数据集 | 核心优势 | 技术门槛 | |---------|------------|----------|----------| |

gitblog_00457的博客 1122
上一篇: C++之多态
下一篇: OC之基础简介
Shicuf
博客等级 码龄16年 11粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值