苹果在 10 月 27 号 发布了 Xcode 13.2 beta 版本,这个版本最受开发者欢迎的无疑是 Swift Concurrency 的向后兼容性了,现在可以在部署到 macOS 10.15、iOS 13、tvOS 13 和 watchOS 6 或更高版本的应用程序中使用 Swift Concurrency。这种支持包括异步/等待、参与者、全局参与者、结构化并发和任务 API。当然,除了这
我们的 Swift 项目上线已经有一段时间了。结合目前 Swift 的使用情况,总结下其与 Objective-C 相比的优缺点。总的来说,我认为使用 Swift 来作为编程语言的优点还是要远远大于缺点的,而且很多缺点苹果也在逐渐改善。优点简洁的语法更强的类型安全函数式编程的支持Swift 语言本身提供了对函数式编程的支持。 Objc 本身是不支持的,但是可以通过引入 ReactiveCocoa
转载 2023-12-23 22:13:56
6阅读
# 如何在Swift项目中兼容Objective-C文件 在Swift开发中,有时候你可能需要兼容使用Objective-C的代码。本文将详细说明如何在Swift项目中兼容Objective-C文件,我们将通过一个清晰的流程来指导你。 ## 流程概述 以下是将Objective-C文件集成到Swift项目中的基本步骤: | 步骤 | 描述
原创 7月前
38阅读
Cocoa框架早已烙上了不可磨灭的OC印记,而无数的第三方库都是用OC写成的,这些积累无论是谁都不能小觑。苹果采取了允许开发者在同一个项目中同时使用SwiftOC进行开发的做法,但要想实现互通,又需添加哪些桥梁? 虽然说Swift语言的初衷是希望能摆脱Objective-C的沉重的历史包袱和约束,但是不可否认的是经过了二十多年的洗礼,Cocoa框架早就烙上了不可磨灭的Objective-C的印
git主页)互用性使得开发者可以定义包含了Objective-C行为的Swift类。编写Swift的class类时,不仅能够子类化Objective-C类,采用Objective-C定义的协议接口,还能利用Objective-C的其它优势功能。这意味着开发者能够利用Objective-C中已有的熟悉的可靠的类、方法和框架创建新类,并结合swift提供的现代化和更有效的语言特性增强性新创建的类。继
转载 2023-10-28 14:54:13
116阅读
 Swift也出来一年多的时间了,虽然现在还没有大面积使用,但是其语法的轻便简洁等特性,相信在不久的将来,定会成为OC的替代者,好久没有写东西了,趁着今天有点时间,就来说一下SwiftOC的混用。一.在OC中使用Swift1.首先创建一个工程名字就叫做CHWTest12.在工程的Build Setting中把Defines Module改为YES,如图3.把Product Name设为
转载 2023-09-04 09:47:49
107阅读
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
# Swift如何支持Objective-C代码 在苹果开发生态中,Swift和Objective-C两种语言各有千秋,很多情况下我们需要在Swift项目中使用现有的Objective-C代码。这种互操作性是苹果语言设计的一大亮点,能够极大地简化代码的重构过程以及提高开发效率。 ## 实现流程 要在Swift中使用Objective-C代码,整个过程可以分为以下几个步骤: | 步骤
原创 10月前
71阅读
方法类、结构体和枚举都能定义成实例方法和类方法Swift与C和Objective-C的主要区别就是结构体和枚举可以定义方法。在Objective-C中,只有类才能定义方法。而在Swift中,你可以有选择性的在类、结构体或枚举中定义方法,并且使得在你创建的类中定义方法时更具有灵活性。实例方法实例方法是属于一个特定的类、结构体或枚举的实例的函数,一个实例方法具有隐式访问所有其他的实例方法和属性类型cl
# Swift 引用 Objective-C 代码的教程 作为一名经验丰富的开发者,我很高兴能分享一些关于如何在 Swift 中引用 Objective-C 代码的技巧。这在很多项目中都是常见的需求,尤其是在混合编程的项目中。下面我将通过一个简单的教程,指导你如何实现这一目标。 ## 流程图 首先,让我们通过一个流程图来了解整个流程: ```mermaid flowchart TD
原创 2024-07-28 09:41:44
10阅读
只能被class(类)继承的协议只能被class(类)继承的协议有三种:继承自AnyObject继承自class被@objc修饰的类protocol Runnable1: AnyObject { } protocol Runnable2: class { } @objc protocol Runnable3 { } struct Animal: Runnable1 { } //error: No
# 在Swift中使用Objective-C代码 随着Swift语言的普及,许多开发者逐渐把Swift作为主要开发语言。然而,Objective-C依然在许多成熟的项目中扮演着重要的角色。在某些情况下,使用Objective-C代码可以让开发者充分利用已有的库和框架。本文将介绍如何在Swift项目中集成和使用Objective-C代码,并提供一些代码示例来帮助大家理解这一过程。 ## 1. S
原创 2024-08-10 07:42:32
31阅读
编码和解码的基本介绍编写网络应用程序时,因为数据在网络中传输的都是二进制字节码数据,在发送数据时就需要编码,接收数据时就需要解码 codec(编解码器)的组成部分有两个:decoder(解码器)和encoder(编码器),encoder负责把业务数据转换成字节码数据,decoder负责把字节码数据转换成业务数据示意图netty本身的编码解码的机制和问题分析ProtobufProtobuf基本介绍和
 swift项目引入OC混编问题来源:1.swift项目pods  MJRefresh 为了在swift正常使用 建了一个桥接文件2.在项目中又使用了 SDWebImage 用于加载网络图片根据说明加了Podfile一个 use_frameworks!编译的时候问题来了问题显示类似这样的错误:failed to emit precompiled header
转载 2024-09-22 13:18:13
75阅读
swift 语言出来后,可能新的项目直接使用swift来开发。但可能在过程中会遇到一些情况,某些已用OC写好的类或封装好的模块。不想再在swift 中再写一次,哪就使用混编。 这个在IOS8中是同意的。 先中简单的入手,先研究在同一个project文件夹下混合使用的情况。 为了演示。先准备两个类 第一个是swift语言写的类,文件名称为 act.swift 1. import Foun
转载 2024-08-10 18:06:03
49阅读
一 转场效果图和采用转场方式1 转场效果图 :2 采用方式 (方法):—-> 2.1 自定义转场动画—-> 2.2 协议二 转场实现需要获取的东西1 获取转场前图片的frame2 设置一张临时imageView作为转场图片(图片并不是真实存在的)3 获取图片放大展示的frame三 转场图解四 转场动画思想1 通过在实现转场动画的类中定义协议方法,定义代理属性,明确谁可以提供需要的fra
iOS库的区别常见的自建iOS库分为两种形式,一种是xxx.a,还有一种是xxx.framework。这两种库有什么区别呢?.a库只能是静态库,只支持OC/Swift,只能使用静态链接的方式来引入库,调用时需要.h头文件,资源文件通常自建.bundle来管理,也就是最后交付使用的SDK通常包含3个文件,.a文件,.h文件和.bundle文件。.framework可以是静态库或动态库,支持OC和Sw
# 如何在Swift Package中使用Objective-C代码 作为一名经验丰富的开发者,我们经常会在项目中遇到需要在Swift Package中使用Objective-C代码的情况。对于一些刚入行的小白来说,这可能会是一个比较困惑的问题。在本文中,我将向你展示如何实现在Swift Package中使用Objective-C代码的步骤和具体操作。 ## 整体流程 首先,让我们来看一下这
原创 2024-03-12 05:21:49
149阅读
最近在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阅读
  • 1
  • 2
  • 3
  • 4
  • 5