在这篇文章中,我会解释什么是内存泄漏(memory leaks),讨论循环引用(retain cycles)和其他事物。内存泄露这确实是我们开发者经常面对的问题之一,我们的代码越来越复杂,随着app的增长,我们也带来了泄漏。内存泄漏会永久占用一部分内存,让它无法再使用。它是占据空间带来问题的垃圾。有时候我们分配内存,却再也没有释放,并且也没有app引用去。因为没有对它的引用,也就没有办法释放它,这
转载 2023-10-30 12:58:59
96阅读
写在前面或许有这样的需求,要求页面在无网状态先显示上一次显示的数据,这就涉及到缓存,但是缓存又分为文件缓存,归档等,realm 太过笨重,归档太麻烦,最后选择了文件缓存, 看了很多博客,在参考了别人的缓存开源项目, 功能太过简单单一化,比如:我想删除某一个文件下的缓存信息,大部分是只提供了删除所有缓存 ,不可以按目录删除。我总结了一个,可以异步按照目录删除 。简单方便,快捷神速,是居家iOS码农
转载 2024-06-12 23:37:32
119阅读
使应用程序感觉快速和响应不仅仅是调整其UI的呈现方式,或者提高其操作和算法的执行速度 - 它通常与有效管理数据和避免不必要的工作同样重要。这种不必要工作的一个非常常见的来源是我们最终多次重新加载完全相同的数据。它可能是加载同一模型的重复副本的多个功能,或者每次重新显示在屏幕上时重新加载视图的数据。本周 - 让我们来看看缓存在这种情况下如何成为一个非常强大的工具,如何在Swift中构建一个高效优雅的
转载 2023-10-26 09:20:18
162阅读
//获取APP缓存 funcgetCacheSize()-> Double { // 取出cache文件夹目录 let cachePath = NSSearchPathForDirectoriesInDomains(.cachesDirectory, .userDomainMask, true).f
原创 2022-07-14 11:45:38
464阅读
func fileSizeOfCache()-> Int { // 取出cache文件夹目录 缓存文件都在这个目录下 let cach
原创 2022-07-14 17:19:30
390阅读
# iOS Swift 数据缓存的实现指南 在现代应用开发中,数据缓存是提高性能和用户体验的重要技术手段。尤其在 iOS 开发中,合理的缓存机制可以显著减轻网络负担,提高应用的响应速度。本文将指导您如何在 Swift 中实现数据缓存。我们将分步骤进行,并在每一步提供代码示例和注释。 ## 实现流程 在实现 iOS 数据缓存的过程中,我们需要遵循以下流程: | 步骤 | 描述
原创 10月前
129阅读
# 如何在 Swift 中清除 Launch 缓存 在 iOS 开发中,Launch 缓存(Launch Cache)是一个可能会影响到应用程序运行的因素。特别是在调试和开发过程中,某些修改(例如:资源文件的改变、逻辑的更改等)可能会由于缓存的原因而未能及时生效。因此,清除 Launch 缓存是一项非常重要的技能。本文将帮助你理解如何在 Swift 中清除 Launch 缓存。 ## 流程概览
原创 2024-10-21 05:51:57
96阅读
# iOS Swift磁盘缓存 在iOS应用程序中,磁盘缓存是一种常用的技术,用于存储和获取大量数据,以提高应用程序的性能和用户体验。本文将介绍如何在Swift中使用磁盘缓存,并提供代码示例。 ## 什么是磁盘缓存? 磁盘缓存是将数据存储在设备的磁盘上,以便在需要时快速访问。相对于网络请求或数据查询,磁盘访问速度更快,可以显著减少数据加载的时间。对于一些图片、音频和视频等大型文件的加载,磁
原创 2023-12-18 12:47:17
73阅读
SwiftUI确实改变了我们设计和思考iOS应用程序的方式。 在WWDC 2019上首次亮相后,Apple通过引入大量新视图,属性包装和自定义类型进一步提升了性能。但是,声明性框架仍处于起步阶段。 SwiftUI的错误使得在生产中很难使用。 此外,我们还没有看到iOS应用程序中许多SwiftUI的高级用例。无论如何,许多开发人员已经赶上潮流,并构建了一些惊人的SwiftUI,您可以在iOS应用程
转载 10月前
138阅读
介绍 咖喱是大多数现代编程语言中的一项功能。 它将具有多个参数的单个函数转换为一系列具有一个参数的函数。 本质上,这使得可以将函数存储在变量中并创建返回函数的函数。 尽管乍一看似乎很奇怪,但它是一项强大的技术,有时可能非常有用。 在本教程中,我将向您展示如何利用Swift中的函数循环。 1.函数式授课 在定义我们自己的自定义函数之前,我将首先向您展示一个使用类在Swift中进行简化的简单示例。
# 如何创建一个 Swift ## 概述 在本文中,我将向你介绍如何创建一个 Swift Swift 是一种可重用的代码模块,可以通过导入库的方式在各个项目中使用。创建一个可以让我们将常用的代码逻辑封装起来,并在多个项目中共享使用,提高代码的可维护性和复用性。 在创建 Swift 之前,我们首先需要了解整个过程的流程。下面是一个创建 Swift 的步骤表格: ```merm
原创 2023-10-13 08:05:20
75阅读
前言打算用几篇文章介绍一下 TCA (The Composable Architecture),这是一种看起来非常契合 SwiftUI 的架构方式。四年多前我写过一篇关于使用单向数据流来架构 View Controller 的文章,因为 UIKit 中并没有强制的 view 刷新流程,所以包括绑定数据在内的很多事情都需要自己动手,这为大规模使用造成了不小的障碍。而自那时过了两年后, SwiftUI
转载 2024-06-11 16:51:36
41阅读
//web清除缓存 class func cleanWebCache() { let dataStore = WKWebsiteDataStore.default() dataStore.fetchDataRecords(ofTypes: WKWebsiteDataStore.allWebsiteD
原创 2022-07-14 11:43:28
291阅读
//countElements 入参为<T : _CollectionType>(x: T) 返回值T.Index.Distance 本demo返回11 //11 //0:A 1:B 2:C 返回一个新的序列,其中每个元素是一个元组,第一个值为原来元素所在的位置`index`,第二个为原来序列中的元素 for (i,j) in enumerate(["A
转载 2023-12-25 21:30:12
27阅读
在6月9日凌晨举行的WWDC 2015全球开发者大会上,苹果发布了Swift 2.0,并宣布将于今年年底开源Swift语言。Swift 2.0引入了很多的新特性以确保开发者可以更快、更简单的构建应用,这些新特性包括更好的性能、新的异常处理API、可用性检查、支持Linux等。苹果将会在新发布的iOS 9中全面支持Swift,iOS 9 beta也会在今天对所有注册的苹果开发者开放。\\ 异常
转载 2024-06-29 20:28:15
29阅读
1、描述运用你所掌握的数据结构,设计和实现一个 LRU(最近最少使用)缓存机制,它应该支持一下操作:获取数据 get 和写入数据 put。获取数据 get(key) --如果密钥(key)存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。写入数据 put(key, value)--如果密钥不存在,则写入其数据值。当缓存容量达到上限时,它应该在写入新数据之前删除最近最少使用的数据...
原创 2021-09-02 09:46:53
587阅读
Instagram 程序员做的,IGListKit 是数据驱动的 UICollectionView 框架,为了构建快速和可扩展的列表。另外,它有助于你在 app 结束对于大量视图控制器的使用。看看这篇来自 Ray Wenderlich 的教程,关于如何在项目中实现这个,或者读读这篇Rodrigo Cavalcante 的文章,关于迁移现有的 UITableVie
转载 1月前
339阅读
作为一门集百家之长的新语言,Swift拥有着苹果先天的生态优势,而其在GitHub上各种优秀的开源项目也层出不穷。本文作者@SwiftLanguage从2014年6月苹果发布Swift语言以来,便通过跟踪、归纳、汇总持续更新《Swift语言指南》半年有余。近日,他站在个人的角度,将2014年Swift开源项目做了一个甄别、筛选。1、工具类1.1、SwiftyJSON:GitHub上最为开发者认可的
CPU Cache原理与示例基础知识现在的 CPU 多核技术,都会有几级缓存,老的 CPU 会有两级内存(L1 和 L2),新的CPU会有三级内存(L1,L2,L3 ),如下图所示:   其中:Ÿ   L1 缓存分成两种,一种是指令缓存,一种是数据缓存。L2 缓存和 L3 缓存不分指令和数据。Ÿ   L1 和 L2 缓存在每一个
转载 2024-01-25 21:07:55
61阅读
目录新建项目设置相关参数1.设置静态2.设置版本号3. 设置生成fat包4. Dead Code Stripping(NO)创建swift系统类扩展添加脚本脚本使用教程新建脚本项目在脚本项目中添加脚本合并framework静态的脚本内容运行脚本swift代码调用我们的swift静态OC使用swift编写的framework 之前我写了一篇名为:xcode写framework静态脚本文件
转载 2023-08-08 20:29:16
158阅读
  • 1
  • 2
  • 3
  • 4
  • 5