首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

WWDC 2023,期待 Core Data 带来的新变化

;最后,当前的 Swift 语言以及其他与 Core Data 配合使用的框架仍未具备支持创建纯 Swift 实现的能力。... SwiftUI 的经验可以看出,当苹果打算启动 Core Data 的 Swift 化时,我们必然能够 Swift 社区的提案中看到端倪。...如果苹果能将其他一些 API(例如:NSExpression等)也用 Swift 实现,届时再对 Swift 语言进行有针对性的增强,基于 Swift 实现的 Core Data 将应运而生。...就个人而言,SQLite 所能实现的全文检索和原生的 JSON 查询能力都是迫切需要的。 希望上述功能能在最近一两年内被 Core Data 所采纳。...作为开发者,理解基于成本的考量,官方有意控制了数据同步的频率和数量,但考虑到如此多的应用已将 Core Data with CloudKit 作为其同步框架,苹果是否可以考虑为开发者或用户提供更多的选择

43910
您找到你想要的搜索结果了吗?
是的
没有找到

Swift 周报 第三十四期

另外,无论输入是 MathML 还是 LaTeX,只要输出是 MathML(而不是 SVG 等其他格式),都将具有很好的可访问性,因为用户可以通过屏幕阅读器浏览方程式。...作为未来的方向,我们可以考虑支持 LaTeX 作为源语言。如果我们这样做,认为我们应该将 .tex 文件编译为 MathML(而不是 SVG、PNG 等)以保持一致性和最佳可访问性。...有谁能解释这个错误的原因? 这两者不是等价的?...回答: 在 Swift 中,扩展遵循与任何其他类型声明相同的访问控制规则,因此,如果发现编写的扩展范围太广,可能希望利用一些工具来帮助解决这个问题。...或者,如果团队关心的是这些扩展是否合适,因为添加了在所有 String/Int/ 或其他类型上都不合理使用的功能,因此不应该广泛访问,那么更好的解决方案可能是引入一个新的特定于领域的类型,它包含一个 String

17340

SQLite 并发的四种处理方式

不过即使 SQLite 已经非常成熟,但是我们在编程中依然会遇到一些问题,其中最常见也最难搞的就是 —— 并发。 就像其他类似的问题一样,SQLite 在移动端的并发处理也存在多种不同的设计。...下面我们通过 iOS 中四个常用类库 (SQLite.swift, FMDB, GRDB, Core Data) 来看看这些设计。...SQLite.swift 方案 SQLite.swift 采用了最简单粗暴的一种方案,使用者只会得到一个数据库连接,所有的操作都是在该连接上串下执行,类库的作者并没有提供数据库连接池类似的特性。...FMDB 方案 FMDB 与 SQLite.swift 一样都是采用串行设计,只不过 FMDB 在此基础上做了些加强:FMDB 中使用者不会接触到数据库连接而是通过在 API 闭包中组织语句来实现数据库访问...如果搞的大而全的话则有可能导致 SQLite 的执行效率变得很差。 总体而言,FMDB 和 GRDB 采用的方式安全性和灵活性上会更好一点。

6.5K70

Swift 周报 第三十五期

上期话题结果 投票结果可以看出来,购买决策不再仅仅只受价格影响,用户更注重手机性能、价值、国产支持等多个方面。你怎么看~ 新闻和社区 五天市值蒸发 2000 亿美元,苹果公司怎么了?...Swift论坛 讨论Swift 字符串比较不将连字等同于其组件[4] 内容大概 刚刚发现 Swift 字符串将 "office" 和 "office" 视为不相等,这让感到惊讶,因为它将 "caña...猜这篇文章主要是向其他人提供信息和警告。但我很好奇为什么 Swift 选择执行 "规范" 比较,而不是 "兼容" 比较?...仔细分析了开源实现,试图揭示出现 nil 可选值的源头,但我看不到任何问题,认为这与当前发布的代码不同。 对于我哪里的逻辑出了问题,有什么建议?...讨论序列化文件访问的 Actor[18] 问题描述 想知道使用 Actor 是否是保护资源免受并发访问的好选择,例如一个文件目录。在过去,曾使用 dispatch queues 实现这种情况。

20330

Swift 周报 第三十七期

如果某个函数本身使用参数包包中形成元组值,则对该值调用协议要求将调用元组一致性见证或单个元素的见证,具体取决于包的大小。 标记元组和方差 元组标签不是参数包可以抽象的东西。...关于“安全”对你意味着什么,@unchecked Sendable 是一个承诺,你的类型可以在任何并发域中使用,并且仍然保护其自己的状态。认为这样标记你的包装纸是不正确的。...回答这绝对感觉像是一个诊断可能更有帮助的地方 - 如果你尝试直接在同一位置使用设置器,你会得到更好的消息: 无法分配给属性:“nameFull”设置器无法访问 似乎我们可以查看尝试 KeyPath ->...讨论无法 Objective C 类调用 swift 扩展方法[8] 为 ViewController 类创建了 swift 扩展,并在其中定义了一种方法。...当我尝试同一个 Obj-c ViewController 调用相同的方法时,它给出了以下错误: ViewController 没有可见的 @interface 声明选择器 testMe 的代码如下:

16030

iOS开发常用之数据库、缓存处理

RealmIncrementalStore.swift - RealmIncrementalStore.swift:集Realm数据库和CoreData对象模型两者优势的Realm数据库访问类。...Breeze - 用Swift写的一个轻量级的CoreData管理工具,并且还支持iCloud。 AlecrimCoreData - Swift,更容易地访问CoreData对象封装类库。...Presentation - 重量级好项目Presentation,它可以方便你制作定制的动画式教程,发行注记,个性化演讲稿等。 CoreValue - Swift 2版核心数据封装库。...SQLite.swift - 纯swift实现的类型安全的SQLite3封装,数据存储和JSON解析是永恒的话题。...fluent.swift - 纯swift实现的类型安全的SQLite3封装,数据存储和JSON解析是永恒的话题。 swiftydb - 是一个第三方SQLite工具,能够大大简化数据库操作。

1.9K40

Vapor奇幻之旅(03上手)

作为一个服务端程序,可以做的事情包括: 提供接口供客户端访问 提供网页供浏览器访问 处理前端的请求,包括处理业务和提供数据 连接数据库对数据进行操作 安全相关,如加密解密 websocket 接入其他服务...Vapor采用模块化来组建web应用,利用Swift Package Manager来管理不同的组建,在Package.swift可以添加需要的package来引入新的模块,一旦package被引入,...Package: FluentProvider 这是一个管理数据库连接的库,相当于java的hybernate和mybatis,默认数据库是sqlite,现在可以支持Memory级别的数据库和MySQL...,引入这个package则会默认依赖上一个SQLite的模块,如果想要支持更多的库则添加相应的provider就可以,下面是现有的provider: mysql-provider fluent-provider...postgresql-provider mongo-provider Package: LeafProvider 可以通过web模版新建项目,会包含leaf,也可以独立加入Package.swift

85810

Swift 周报 第三十九期

在干净的构建中,时间约 56 秒缩短到约 1440 秒。另外,有些文件的编译速度似乎确实慢了一些,但这是一个很大的瓶颈,除了当时的“发射模块”之外,时间线中没有其他真正发生的事情。...比较输出,框架的大小几乎相同,没有看到任何其他真正值得注意的东西。 关于什么会导致这种巨大差异有什么想法?...如果这些步骤中的任何一个失败,都会发出一条诊断消息,要求该值是一个文字。 这是应该如何工作的?对于看似常见的用例来说,这似乎是一个极其繁琐的过程。在这里错过了什么?...但问题是 cleint 退出,打印未连接 -1 该如何解决此问题并成功请求? 回答 Swift 正确使用 BSD 套接字是一个严峻的挑战。... Swift 5.9 开始,我们可以使用参数包重写类似的函数。本文末尾总结了参数包的优势,并提供了进一步学习 Swift 的资源链接。

21420

Ask Apple 2022 中与 Core Data 有关的问答

还有其他建议?A:ASAN 也将有助于捕获并发问题导致的内存错误。参阅 关于 Core Data 并发编程的几点提示[9] 了解更多细节。...在的设置中,存储被保存到一个应用程序组目录中,以允许应用程序和扩展程序访问,所以我认为每个进程都将利用各自的容器来访问它。...可以用其了解设备是否执行了某种云迁移或其他活动?A:Core Data 将元数据存储在存储文件本身中。此元数据归 Core Data 所有,不建议你更改它。...Core Data 目前并不支持对 SQLite 进行加密。NSExpression 的 BugQ:应该如何看待 NSExpression 中的 CAST 函数?这是应该积极使用的功能?... Swift 3.0 开始,FetchRequest 支持在视图中动态修改它的谓词和排序描述。例如上面的问题,可以通过在 task(id:) 中更改 request 的配置。

2.8K20

Swift 周报 第三十六期

动机 全局状态在并发性中提出了挑战,因为它是可以任何程序上下文访问的内存。全局变量在数据隔离检查中受到特别关注,因为它们违背了其他强制隔离的尝试。...但全局变量可以任何地方访问,所以这些工具不起作用。...建议的解决方案 在严格的并发检查下,要求每个全局变量要么与全局参与者隔离,要么两者都隔离: 不可变的(immutable) 可发送类型(Sendable) immutable 并且 Sendable 的全局变量可以任何上下文安全地访问...考虑的替代方案 为了隔离,我们可以隐式锁定变量的访问,而不需要全局参与者。...访问控制在理论上是有用的:例如,我们可以知道全局变量是并发安全的,因为它是文件私有的,并且该文件中的所有访问都来自单个全局参与者上下文,或者因为它永远不会 变异了。

19320

【重识云原生】第三章云存储3.4节——OpenStack Swift 对象存储方案

节点 Swift 后端 (backend / private) 网络连接所有 Proxy server 节点和 存储节点 需要的话,还可以后端网络中分离出复制(replication)网络 在网络带宽选择上...哈希的结果应能够保证原有已分配的内容可以被映射到新的缓冲中去,而不会被映射到旧的缓冲集合中的其他缓冲区。...由于采用无状态的REST请求协议,可以进行横向扩展来均衡负载。在访问Swift服务之前,需要先通过认证服务获取访问令牌,然后在发送的请求中加入头部信息 X-Auth-Token。...客户端使用 HTTP 或者 HTTPS 访问 Swift,包括读、写、删除 objects。...其他3张表分别为container_stat、object、sqlite_sequence;表container_stat与表account_stat相似,其区别是container_stat存放的是关于

2.2K30

Python正在慢慢褪色

它非常地简单, 并可以其他编程语言无缝集成 (比如将CPU密集型任务交付予C/C++)。用Python语言开发会给开发人员带来许多好处。...在移动计算中表现牵强 随着台式机到智能手机的迁移,显然,人们需要为手机软件构建更强大的语言。...其他语言的兴起 最近,像Julia、Rust和Swift这些新出现的语言,借用了Python、C/C和Java的许多良好设计概念——Rust确保了运行时的内存安全和并行,并提供了与Web Assembly...人们利用它可以快速开发程序和应用程序。 和其他语言一样,Python只是一种工具。某些应用场景下,它是最好的工具;在另一种场景下,它或许不是。在大多数情况下,它 “挺好用的”。...那么,作为一种编程语言,Python会消亡不这么认为。 它逐渐失去魅力了吗? 啊,也许只是一点点,只是一点点。

54630

这就是艺术「GitHub 热点速览 v.22.25」

减轻等待焦虑的旋转小图标 svg-spinners 或者是让你随手涂鸦、随堂笔记即成画作的 Lorien,以及麻雀虽小但是数据俱全的 SQLite.swift,以及 ping 下就能看到的 say hi...作为一个不限画布大小的绘图和白板应用,你可以用它来记录你的疯狂 idea,脑暴时以此为记录工具,也可以当作工作和学习中的笔记工具,Lorien 有高性能、易用等特性。...GitHub 地址→https://github.com/SwifterSwift/SwifterSwift 2.2 小巧数据库:SQLite.swift 本周 star 增长数:1,050+ SQLite...而 SQLite.swift 则是基于 SQLite3 的 Swift 层,提供了 SQL 语句和解析上的“编译信心”。...GitHub 地址→https://github.com/stephencelis/SQLite.swift 2.3 笔记软件:siyuan 本周 star 增长数 150+ 思源笔记是一款本地优先的个人知识管理系统

42720

如何在 Core Data 中使用 Derived 和 Transient 属性

Derived 什么是 Derived 属性 iOS 13 开始,苹果在 Core Data 中添加了 Derived(派生属性),它的名称已经表明了该属性的含义—— 该属性的值从一个或多个其他的属性的值派生而来...Derived 值的计算是 Core Data 中为数不多的几个直接使用 SQLite 内置机制来完成的操作,并非由 Swift(或 Objective - C) 代码计算而来。...尽管在 Data Model Editor 中,我们可以为 Transient 设置默认值,但很多场景下,我们需要根据情况或其他数据计算并创建 Transient 的初始值。...:NSSnapshotEventType)从快照中载入实例时 在这些方法中设置 Transient 或其他属性时,应使用原始访问器方法来设置数据,避免触发 KVO 观察器通知。...如果使用持久化方案,可以为该数据创建一个用来表示显示与否的属性,例如 visible。通过在复制操作前后设置该属性并配置 Predicate 来解决列表重复问题。

95020

Swift 周报 第三十三期

该提案将 conformance 宏角色推广为 extension 宏角色,除了协议和 where 子句外,还可以向扩展中添加成员列表。 Swift论坛 讨论这些是错别字?...(理想情况下,该函数还可以提供对受锁保护的资源的回调访问,否则将无法访问。)只需使整个过程同步,就可以非常巧妙地表达在锁定和解锁之间不挂起的要求。...回答: 发现的唯一方法就是使用不同的名称。 从这个角度来看,Swift 仍然缺少完整的命名空间功能。可以是模块级命名空间,但更完整和可靠。...有什么想法? 回答: 历史上看,结果构建器对其内部运行的语法有一些限制。其中许多限制在 SE-0373:解除结果构建器中变量的所有限制中被删除,但如果仍然存在一些限制,不会感到惊讶。...结合 Swift Package 的可重用性和 Swift Package 插件的强大功能,甚至可以在构建时字体文件自动生成所有必要的代码。本文使用 SwiftGen 来演示如何实现这一点。

29720

Swift使用FMDB操作SQLite

SQLite大家都懂的。本地数据库,在移动设备上使用广泛。IOS平台上自然也少不了它。...最近自己折腾一个小App的时候需要使用sqlite本地数据库,上Github搜了下IOS下对SQLite的三方封装有个星星很多的FMDB。...不过是Obiect-C的库,是使用Swift的,本以为不能用了,不过后折腾了下发现在Swift下使用oc的库非常简单。下面就介绍下如何在Swift下使用oc的FMDB库。   ...XCode就会自动建立好oc到Swift的桥接了。   接下来我们在Swift项目下找到一个叫做BabyLog-Bridging-Header的文件,打开编辑。...在里面输入:#import "FMDB.h"   这样我们FMDB到Swift的桥接头就建好了。   3.使用   有了桥接头,我们就可以欢快的使用FMDB了。

61520

【面试】腾讯 iOS 开发实习电话面试记录(二)

(一开始让自我介绍一下,这一介绍,就说了基本在用 Swift 而不是 OC 写正式项目,然后他就开始偏重 Swift 来问,也不知道是照顾,还是怕撒谎) 说一下 C/C++ 里面变量定义和声明的区别...(可以通过 Terminal 来统计的项目文件夹里面任意后缀文件的行数) 你这个5万行,包括第三方 API ?...然后他说你怎么知道这些东西的,平时都在用说都是在网上看的,因为平时没有做过非常复杂的 Cell,所以实际应用起来了的优化手段并不多) 说一下 HTTP 协议 (说不会,就简单说了下 http...和 https 的区别,和 iOS 9 开始引导访问 https 的问题,大家可以背一下这一段:【为了强制增强数据访问安全, iOS9 默认会把所有NSURLConnection 、 CFURL 、...说一下你最复杂的一个项目的技术内容 你所有项目都是你独立开发完成的,包括切图、UI (说是,不过他也没问我 Photoshop,就此作罢) 说一下不同版本 iPhone 的分辨率 (没背下来那个

82720
领券