在苹果推出了swift语言之后,很多人担心OC很快会被取代,但是苹果方面表示2年内不会摒弃OC。但现在也快了啊。有的开发团队已经开始基于swift开发,但是有很多旧的框架还没来得及用swift写出来,并且某些swift的功能你还不会写,想用OC写。因此在swift开发的程序中时不时会用到OC的类,怎么让两门语言在一个程序里无缝衔接? 其实很方便 如图这是一个新建的swift项目,里面直接
前言因最近准备切换公司Objective-C(下面简称OC)项目为Swift项目,切换过程中不可避免地涉及到混编这一块,特此记录下来, 主要分为在swift项目中调用OC文件 和在OC项目中调用swift文件在Swift工程或者文件使用Objective - C文件在OC项目中添加swift文件或者在swift项目中添加OC文件(创建的文件必须是继承与NSobject或者间接继承与NSobject
# Swift与Objective-C的交互:如何解决“Swift找不到OC的方法”
在现代iOS开发中,Swift与Objective-C这两种语言的结合是非常普遍的。Swift以其简洁的语法和强大的类型系统受到越来越多开发者的喜爱,而Objective-C则在苹果开发生态中有着深厚的历史和大量成熟的第三方库。在某些情况下,Swift无法找到Objective-C的方法,这引起了不少开发者的困
原创
2024-10-30 07:41:39
98阅读
常见的一些视频/图像的处理app基本上都是使用OpenGLES实现的,本篇介绍学习自定义一些常用滤镜以及实现原理,主要是顶点着色器程序和片元着色器程序,大部分色滤镜都是顶点着色器进行
前面几篇文章已经详细介绍了OpenGL以及OpenGL ES的基本使用、加载一张图片、加载三维立体图像等,学习使用OpenGL的最终主要目的就是处理图片滤镜,视频滤镜,&n
注意事项oc不能继承Swift类,所以向oc项目中添加的Swift类不能包含oc的子类。Swift文件和.m不能重名。继承oc的类的Swift类才能在oc中使用。编译场景问题用oc新建的iOS项目,在swift文件中默认使用release编译场景,如果需要用到debug,需要在Build Settings-Swift Compiler-Active Compilation Conditions添加
转载
2024-04-11 18:51:05
250阅读
swift 语言出来后,可能新的项目直接使用swift来开发。但可能在过程中会遇到一些情况,某些已用OC写好的类或封装好的模块。不想再在swift 中再写一次,哪就使用混编。
这个在IOS8中是同意的。 先中简单的入手,先研究在同一个project文件夹下混合使用的情况。 为了演示。先准备两个类 第一个是swift语言写的类,文件名称为 act.swift 1. import Foun
转载
2024-08-10 18:06:03
49阅读
swift代码转oc代码 (Crashing your app is the safe route)(Force-Unwrapping An Optional Is Safe Code!)You may think there is no safety net when you force-unwrap an optional. You’re telling the compiler, “I k
转载
2024-01-11 17:36:30
245阅读
迁移工作正好提供了一个重新审视现有 Objective-C 应用程序的机会,也可以通过 Swift 代码来更好的优化应用程序的体系架构,逻辑以及性能。直接的说,你将用先前学到的 mix and match 以及这两个语言间的互操作性来进行增量迁移工作。Mix-and-match 功能使得选择哪些特性和功能来用 Swift 来实现,哪些依然用 Objective-C 来实现变得简单。Swift 和
转载
2024-08-01 21:32:37
29阅读
最近在oc工程里要引用swiftMonkeypaws,需要使用oc调用swift技术,里面踩了很多坑,这里简单记录一下。1、oc调用swiftoc调用swift其实很简单,google一下就有很多的教程,可以参考文章1、2、3、4。总体上就是在要调用swift代码的时候,引入头文件 “模块名-Swift.h”,这个头文件对外不可显示,需要手动导入。可以在 Build setting 中查看: 现在
转载
2023-07-11 19:28:27
477阅读
swift独有的性质:1.swift独有的范围运算符a...b 表示 [a,b] 如3...5 就是范围取3,4,5a..可以直接写在 for-in 循环中,或者if判断中 如 for x in 0...5 {}2.swift独有的溢出运算符默认情况下,当你往一个整型常量或变量赋于一个它不能承载的大数时,Swift不会让你这么干的,它会报错。这样,在操作过大或过
转载
2024-09-22 15:30:40
47阅读
OC与swift相互调用一、OC调用swift文件二、swift调用OC文件三、注意和总结添加:四、自定义桥接文件 一、OC调用swift文件在OC项目中创建一个swift文件的时候,Xcode 会提示 需要创建一个桥接文件,点确定创建桥接文件,Xcode会自动创建一个桥接文件名字:工程名-Bridging-Header.h这个桥接文件是 swift 调用OC文件的时候用的1、 进入T
转载
2024-02-22 14:16:09
106阅读
一. 单例模式简介单例模式的作用 可以保证在程序运行过程,一个类只有一个实例,而且该实例易于供外界访问 从而方便地控制了实例个数,并节约系统资源单例模式的使用场合 在整个应用程序中,共享一份资源(这份资源只需要创建初始化1次),一般用于工具类。例如:登陆控制器,网络数据请求,音乐播放器等一个工程需要使用多次的控制器或方法。单例模式的优缺点 优点: 单例模式可以保证系统中一个类只有一个实例
转载
2024-07-19 14:51:14
50阅读
Swift 挺好用的,但写给 OC 调用的 SDK 过程中遇到不少坑。 此教程包含,使用 Swift 代码,调用 OC 库(比如 CocoaAsyncSocket),一键打包支持 Bitcode 的 Framework ,兼容 OC 项目调用等目录新建 ProjectSwift Framework 调用 OC (无需求可略过)方便调试的 Framework一键打包通用的 Framework1.
转载
2023-10-16 19:20:43
680阅读
Swift无疑是iOS程序员的未来,但是目前苹果公司还在不端更新和改变Swift,甚至在语法层面还在不断探索,虽然xcode提供一些直接适配新版本Swift语法的快捷键,但给我们学习不免造成一些影响,这里是基于Swift3.0和OC的一些基础性知识的比较。一. 基础部分1.Swift的类型是在C和Objective-C的基础上提出的,Int是整型;Double和Float是浮点型;Bool是布尔型
转载
2023-08-23 09:20:20
6阅读
swfit和OC间的 联系 1.swift句尾不需要分号 ,除非你想在一行中写三行代码就加分号隔开。 2.swift不要写main函数 ,程序默认从上往下执行 3.swift不分.h和.m文件 ,一个类只有.swift一个文件 4.swift不在有地址的概念 5.swift数据类型都会自动判断 , 只区分变量v
转载
2024-07-02 20:41:24
30阅读
Cocoa框架早已烙上了不可磨灭的OC印记,而无数的第三方库都是用OC写成的,这些积累无论是谁都不能小觑。苹果采取了允许开发者在同一个项目中同时使用Swift和OC进行开发的做法,但要想实现互通,又需添加哪些桥梁? 虽然说Swift语言的初衷是希望能摆脱Objective-C的沉重的历史包袱和约束,但是不可否认的是经过了二十多年的洗礼,Cocoa框架早就烙上了不可磨灭的Objective-C的印
转载
2023-10-26 06:54:16
95阅读
最新一些学妹问起,所以抽点时间来写的,适合入门级别的swift 与 OC 混编 的程序猿。 本文章将从两个方向分别介绍 OC 与 swift 混编 1. 第一个方向从 swift工程 中引入 oc类 1. 1 如何在swift的类中使用oc类 1.2 如何在swift中实现oc的代理方法 &nb
转载
2023-08-22 12:10:29
365阅读
写久了OC后来写swift,总感觉写着是swift的皮毛,但是实际上是OC的核心,这里整理了OC迁移至swift中的一些小细节。1 在当前类中,实例方法调用属性以及方法都可以将self省略掉,而且是建议省略2 selector是调用方法写法是:Selector("sayHello")或者是#selector(sayHello)3 swift中不同类型的值之间不能直接做运算,所以不同类型值做运算的时
转载
2024-07-04 09:20:56
45阅读
直接上图:在Build Settings中搜索Packaging设置--将1处改为Yes,并记录2处名称,你可以随意修改2处名称,通常与项目名一致。然后新建或者拖入swift文件(如果弹出建立桥接文件的提示框可以不创建,在OC项目中无用,若Swift文件需要引用OC中的文件则可创建,在桥接文件中导入一次对应OC文件,swift的全部文件中均可使用,不需在swift文件中重复导入,这是swift的特
转载
2023-07-03 17:31:11
465阅读
swfit和OC间的 联系 1.swift句尾不需要分号 ,除非你想在一行中写三行代码就加分号隔开。 2.swift不要写main函数 ,程序默认从上往下执行 3.swift不分.h和.m文件 ,一个类只有.swift一个文件 4.swift不在有地址的概念 5.swift数据类型都会自动判断 , 只区分变量var 和常量let 6.强制转换格式反过来了 OC强转:(int)a Swift强转: