属性与方法我们在之前讲过的类和结构体中定义的常量/变量和函数,就是所谓的属性和方法。首先我们聊聊类中的属性。类的属性介绍在Swift的类中,属性分为如下三种:存储属性:用于存储类的实例的常量和变量计算属性:通过某种方式计算出来的属性类属性:与整个类自身相关的属性一、存储属性存储属性是最简单的属性,它作为类实例的一部分,用于存储常量和变量。我们可以给存储属性提供一个默认值,也可以在初始化方法中对其进
转载
2024-07-05 21:32:33
110阅读
扩展可以给一个现有的类,结构体,枚举,还有协议添加新的功能。它还拥有不需要访问被扩展类型源代码就能完成扩展的能⼒(即逆向建模)。扩展和 Objective-C 的分类很相似。(与 Objective-C 分类不同的是,Swift 扩展是没有名字的。)Swift 中的扩展可以: 1.添加计算型实例属性和计算型类属性 2.定义实例方法和类方法 &n
转载
2023-12-01 14:27:36
0阅读
Swift中的可选项(Optionals)是一种用于处理缺失值(nil)的特殊类型。在Swift中,每个变量都必须有一个类型,而可选项是一种类型,它可以有一个值或者没有值(即nil)。在声明一个可选项时,在变量或常量类型后面加上一个问号(?)即可,如下所示:var optionalString: String?当你需要使用可选项中的值时,可以使用可选项绑定(Optional Binding)来判断
# 科普:Swift扩展调用OC存储属性
在iOS开发中,我们经常会遇到需要在Swift代码中调用OC(Objective-C)代码的情况。而有时候,我们可能会遇到需要在Swift中扩展一个OC类的功能,包括调用OC类中的存储属性。本文将介绍如何使用Swift扩展来调用OC存储属性,并提供相关的代码示例。
## 什么是Swift扩展?
Swift扩展(Extension)是一种在不修改已有类
原创
2024-03-21 07:14:24
72阅读
//***********swift学习之27--扩展--***************************
/*
扩展跟OC一样就是向一个已有的类、结构体或枚举类型添加新功能。
只能添加新的功能,不能重写已有的功能。
*/
// 扩展声明使用关键字 extension:
// 一个扩展可以扩展一个已有类型,使其能够适配一个或多个协议,语法格式如下:
// extension Some
转载
2023-12-18 11:23:18
28阅读
oc的懒加载依赖于属性的双重属性的函数属性部分。 懒加载的本质是执行get函数。 swift的lazy,理论上与此类似。 编译器优化时可能对初始化块进行了保存。 懒加载的本质是延迟执行。 只要是执行,必定有调用; 只要有延迟,必然有保存。 #pragma mark - getter // 导航栏 /
转载
2018-06-06 14:23:00
142阅读
2评论
swift 语言出来后,可能新的项目直接使用swift来开发。但可能在过程中会遇到一些情况,某些已用OC写好的类或封装好的模块。不想再在swift 中再写一次,哪就使用混编。
这个在IOS8中是同意的。 先中简单的入手,先研究在同一个project文件夹下混合使用的情况。 为了演示。先准备两个类 第一个是swift语言写的类,文件名称为 act.swift 1. import Foun
转载
2024-08-10 18:06:03
52阅读
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
247阅读
一. 单例模式简介单例模式的作用 可以保证在程序运行过程,一个类只有一个实例,而且该实例易于供外界访问 从而方便地控制了实例个数,并节约系统资源单例模式的使用场合 在整个应用程序中,共享一份资源(这份资源只需要创建初始化1次),一般用于工具类。例如:登陆控制器,网络数据请求,音乐播放器等一个工程需要使用多次的控制器或方法。单例模式的优缺点 优点: 单例模式可以保证系统中一个类只有一个实例
转载
2024-07-19 14:51:14
50阅读
迁移工作正好提供了一个重新审视现有 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阅读
有的时候,我们须要调用纯c++的方法。这个时候,我们必须再次封装一下。通过调用中间层对象的方法,来调用c++的方法。请看下图:2.在test.h文件里定义方法#ifndef __test__
#define __test__
class Test
{
public:
void test();
static void testStatic();
};
#endif2.1.在tes
# iOS OC引用Swift系统类的扩展文件
## 概述
在iOS开发中,我们经常会遇到需要使用Swift系统类的情况。虽然我们在OC中无法直接使用Swift系统类,但是我们可以通过创建Swift扩展文件的方式来实现。
本文将介绍如何在OC项目中引用Swift系统类的扩展文件,并给出详细的步骤和代码示例。
## 流程
下面是整个操作流程的步骤表格:
| 步骤 | 操作 |
| --- |
原创
2023-11-24 03:57:53
359阅读
swfit和OC间的 联系 1.swift句尾不需要分号 ,除非你想在一行中写三行代码就加分号隔开。 2.swift不要写main函数 ,程序默认从上往下执行 3.swift不分.h和.m文件 ,一个类只有.swift一个文件 4.swift不在有地址的概念 5.swift数据类型都会自动判断 , 只区分变量v
转载
2024-07-02 20:41:24
30阅读
Swift 挺好用的,但写给 OC 调用的 SDK 过程中遇到不少坑。 此教程包含,使用 Swift 代码,调用 OC 库(比如 CocoaAsyncSocket),一键打包支持 Bitcode 的 Framework ,兼容 OC 项目调用等目录新建 ProjectSwift Framework 调用 OC (无需求可略过)方便调试的 Framework一键打包通用的 Framework1.
转载
2023-10-16 19:20:43
682阅读
Swift无疑是iOS程序员的未来,但是目前苹果公司还在不端更新和改变Swift,甚至在语法层面还在不断探索,虽然xcode提供一些直接适配新版本Swift语法的快捷键,但给我们学习不免造成一些影响,这里是基于Swift3.0和OC的一些基础性知识的比较。一. 基础部分1.Swift的类型是在C和Objective-C的基础上提出的,Int是整型;Double和Float是浮点型;Bool是布尔型
转载
2023-08-23 09:20:20
6阅读
本文章将从两个方向分别介绍 OC 与 swift 混编 1. 第一个方向从 swift工程 中引入 oc类 1. 1 如何在swift的类中使用oc类 1.2 如何在swift中实现oc的代理方法 1.3 如何在swift中实现oc的Block回调2 二个方向从OC工程中引入swift
转载
2023-10-18 11:18:39
236阅读
迁移工作正好提供了一个重新审视现有 Objective-C 应用程序的机会,也可以通过 Swift 代码来更好的优化应用程序的体系架构,逻辑以及性能。直接的说,你将用先前学到的 mix and match 以及这两个语言间的互操作性来进行增量迁移工作。Mix-and-match 功能使得选择哪些特性和功能来用 Swift 来实现,哪些依然用 Objective-C 来实现变得简单。Swift 和
OC与swift 1.协议 OC:主要用来传值 swift:不仅可以用来传值,swift中的协议可以定义属性方法,并且其协议可以进行扩展,在扩展中还可以有自己的默认实现,这个特性使其可以面向协议的时候非常强大。例: //如果遵守了swift中的协议,那么里边的非扩展方法必须实现
protocol AnimationProtocol {
//最大年龄(属性方法)
var maxAg
转载
2023-10-09 09:57:56
188阅读
概述 该文档整理OC和Swift混合开发相互调用,包括3大类情况和12种具体情形。三大类情况:1. 主工程内的混合互调,2. 主工程和Pod三方库之间的混合互调,3. Pod三方库和其他Pod三方库之间的混合互调。十二种情形:1. 主工程内的OC 调用 主工程内的OC:#import "NSObject.h" 导入头文件直接调用。2. 主工程内的OC 调用 主工程内
转载
2023-08-17 17:11:01
581阅读