Swift共0篇
Swift
所有开发者注意,苹果审核策略有变-五八三

所有开发者注意,苹果审核策略有变

这里每天分享一个 iOS 的新知识,快来关注我吧 访问敏感数据的 App 新规 苹果最近在 Apple Developer 上发了篇新闻公告,对需要访问用户敏感数据的 App 增加了审核要求。 这件事的缘由是苹果发...
admin的头像-五八三admin2年前
0320
SwiftUI:做一个好看的评分控件-五八三

SwiftUI:做一个好看的评分控件

mask在SwiftUI中是用于遮罩控件的,它可以根据我们提供的形状或者图片来裁剪控件的可见区域。比如,我们可以用圆形的mask来让一个图片控件变成圆形,或者用三角形mask一个按钮,只展示按钮的一个角...
admin的头像-五八三admin2年前
0180
Swift 周报 第三十五期-五八三

Swift 周报 第三十五期

前言 本期是 Swift 编辑组整理周报的第三十五期,每个模块已初步成型。各位读者如果有好的提议,欢迎在文末留言。 欢迎投稿或推荐内容。目前计划每两周周一发布,欢迎志同道合的朋友一起加入周...
admin的头像-五八三admin2年前
0130

SwiftUI:如何使用多个 Sheet

当我们在工作中,总会遇到弹出多个Sheet的情况。弹出一两个的情况下,我们可以使用绑定Boolean变量来完成。但是如果有很多种情况,会弹出很多种不同的Sheet我们该如何了来做呢?这就是我们今天...
admin的头像-五八三admin2年前
0230
如何避免过早加载控制器 view-五八三

如何避免过早加载控制器 view

前言 最近做了一波性能优化,发现项目中有一部分控制器的 view 在没有展示给用户之前就已经加载到内存中了,这其实是一种浪费,而且不符合懒加载的原则。 那什么情况会导致控制器的 view 过早加...
admin的头像-五八三admin2年前
0200

Swift 5.9 新特性—C++互操作性

介绍 Swift 5.9 之前 Swift 与 C++ 互操作需要借助于 Objective-C,即 Swift ↔ Objective-C ↔ C++。 Swift 5.9 之后 Swift 与 C++ 的类型与函数有了可以直接交互的能力。 重要配置:Build Set...
admin的头像-五八三admin2年前
0110
GeometryReader in SwiftUI-五八三

GeometryReader in SwiftUI

GeometryReader 可以获取父视图的大小信息,用来适配不同尺寸的容器 再开始今天的主角前,我们先看一个使用普通手段布局的例子。 我们用两个视图来平分整个页面。 HStack(spacing: 0) { Rectangl...
admin的头像-五八三admin2年前
0640
如何使用 SwiftUI 中新地图框架 MapKit-五八三

如何使用 SwiftUI 中新地图框架 MapKit

前言 了解 iOS 17 中的 MapKit 后,我们会发现 Apple 引入了更适合 SwiftUI 的 API。 MapKit 弃用项 一旦将你的 App 目标更新到 iOS 17,Xcode 会将任何使用旧的 Map 初始化器的用法标记为已弃...
admin的头像-五八三admin2年前
0140
SwiftUI魔法:通过DragGesture互动提升用户体验-五八三

SwiftUI魔法:通过DragGesture互动提升用户体验

本教程会用 DragGesture 再打造一个我们经常在 app 中见到的交互动画效果,这个效果很有利于提升用户交互体验,相信你在很多 app 中见过这个交互,我们来一起看看具体实现吧 本章节的例子是一个...
admin的头像-五八三admin2年前
0210
DragGesture in SwiftUI-五八三

DragGesture in SwiftUI

GragGesture在项目中是经常用到的,尤其是在做一个些炫酷的动画中,比如一些流行的社交软件,例如:国内的探探,国外的Tinder, 首页都有类似左滑右滑的动效。这些都和Grag手势有关系。下面我们...
admin的头像-五八三admin2年前
0170

Swift 属性包装器 @propertyWrapper

Swift PropertyWrapper 官方教程:《Property Wrappers》 属性包装器在管理属性存储方式的代码和定义属性的代码之间添加了一层分离。例如,如果您有提供线程安全检查或将其基础数据存储在数据库...
admin的头像-五八三admin2年前
030
Swift Combine 框架学习系列二:错误处理-五八三

Swift Combine 框架学习系列二:错误处理

上一篇讲解了 Combine 中的两大概念:Publisher 和 Subscriber 以及其基本使用。这一篇主要讲解一下,当 Combine 流中发生错误,我们应该怎么处理。 错误主要是分为两大类,一种是错误类型不匹...
admin的头像-五八三admin2年前
0140
如何使用 Xcode 15 新组件 TipKit-五八三

如何使用 Xcode 15 新组件 TipKit

TipKit 介绍 今年的 WWDC 发布了一个新的 UI 组件库 TipKit,使用 TipKit 可以很方便的在 iOS/macOS/watchOS 等平台的 App 上展示一个提示框,并且内置了 UI 布局,并且支持配置展示频率、规则...
admin的头像-五八三admin2年前
0170

?优化GIF的内存加载

一、内存OOM问题 使用 UIImage.animatedImage(with:duration:) 方法:UIImage 类提供了一个便利的方法来加载并处理 GIF 图像,该方法可以将 GIF 图像转换为 UIImage 的动画表示。这种方法可以有...
admin的头像-五八三admin2年前
0210

Swift 5.9 新特性

Swift 5.9 内置于 Xcode 15,虽然是 Swift 5 的最后一个大版本,仍然增加了不少新特性。 if与switch表达式 if与switch语句可以作为表达式使用。 let score = 90 let result1 = if score >= 6...
admin的头像-五八三admin2年前
030
UITableView使用指南-五八三

UITableView使用指南

UITableView使用指南 概述 一般遇到大量相同结构的视图进行同一方向排列时,比如一般app的设置页面、通讯录等,使用UITableView是一个非常合适的方案。 基本介绍 风格样式: 这个属性是UITableV...
admin的头像-五八三admin2年前
0190
iOS/MacOS开发需要了解的苹果官方开源库-五八三

iOS/MacOS开发需要了解的苹果官方开源库

在大家印象中, Apple 和开源没有任何关系, 相比 Android 的各种定制和魔改, 苹果可谓是封闭之极, 开发者必须在苹果的框架下开发, 无法逾越一步。 封闭的商业模式在保证了极致的用户体验的同时也...
admin的头像-五八三admin2年前
0190

如何用原生的方式来定义Swift JSON Model

在Swift开发中,处理JSON数据序列化是一项常见任务。由于Swift的类型安全特性,处理类似JSON这样的弱类型数据一直是一个挑战。然而,Swift 4引入了一个令人欣喜的特性,即Codable协议。Codable...
admin的头像-五八三admin2年前
0120

iOS平台广告归因优化——使用SKAdNetwork归因

什么是SKAdNetwork? SKAdNetwork是苹果公司推出的一种广告跟踪解决方案。它是一种基于隐私保护的广告转化跟踪方式,旨在保护用户的隐私,同时仍然允许广告主获得有关其广告活动的有用数据。 使...
admin的头像-五八三admin2年前
02450
Swift使用原生Network框架对自签名证书进行双向认证并通信-五八三

Swift使用原生Network框架对自签名证书进行双向认证并通信

1.为啥要写这篇文章? 之前作者接触的都是用Objective-C语言及CocoaAsyncSocket进行Socket方面的编程,后来为了节约通信的流量,又加入了Protobuf来进行数据传输。从一开始一条Socket通道来解析...
admin的头像-五八三admin2年前
0150