问题标签 [swift5.2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1893 浏览

ios - swift 5 - 字符串到日期的转换结果为零

Swift 5.x 有什么变化吗?不知道我在这里做错了什么。

在此处输入图像描述

0 投票
2 回答
69 浏览

swift - 如何避免在 Swift 的 UIViewController 中再次编写相同的代码?

我在每个 UIViewController 中编写了以下代码:

我不想在UIViewController我创建的每一个中都写这些。我很懒惰,我不想重复自己。我无法添加它extension。那么我可以做些什么来在创建时不必编写这段代码UIViewController呢?

0 投票
2 回答
430 浏览

ios13 - 调用中缺少参数“委托”的参数 // JSON 文件在 SWIFT 中损坏?

我正在关注 SWIFT // XCODE 11.4 的电子课程教程,我必须从 Open Weather API 获取数据并将其显示在人们可以输入城市的界面上,并且视图控制器将显示温度、云图标和描述.

Clima 应用教程

我正在使用 MVC 模式设计和委托设计来完成本教程。我的快速文件如下:

MVC 设计模式中的 Swift 文件

以下是每个重要文件中的代码:

一、模型文件夹

WeatherManager.swift

WeatherData.swift

WeatherModel.swift

二、控制器

WeatherViewController.swift(出错的地方)

这是错误消息: WeatherViewControl.swift中的调用错误消息中缺少参数“delegate”的参数

当我点击运行按钮时,调试控制台中也出现了这个错误:

dataCorrupted(Swift.DecodingError.Context(codingPath: [], debugDescription: “给定的数据不是有效的 JSON。”,underlyingError: Optional(Error Domain=NSCocoaErrorDomain Code=3840“字符 0 周围的值无效。” UserInfo={NSDebugDescription=字符 0 周围的值无效。})))

调试控制台中的错误

我应该怎么做才能摆脱这些错误?

0 投票
1 回答
19 浏览

swift5.2 - 如何确保在 Swift 5.2 中声明协议的委托后,该委托在被调用时不为 nil?

我正在尝试从 DetailViewController 中清除 MainViewController 中的文本字段。我在 Swift Playground 中有以下代码。

当按下按钮时,detailViewController 为 nil。当按下按钮时,如何确保 detailViewController 不为零?

0 投票
0 回答
477 浏览

ios - 由于未决请求错误,CoreData 在 MacOS 应用程序上将数据同步到云时出现问题

我正在为 MacOS 编写一个应用程序,主要功能是将数据同步到 iCloud。我已经做的只是 - 打开了 Core-Data 和 CloudKit 选项的项目, - 创建了一个模型和一些基本例程,通过将文件导入应用程序来创建模型。

由于这是一个大文件,我在单独的线程中执行所有操作/调度一个新队列。当我调试应用程序时,将数据保存到本地数据库可以正常工作,然后当应用程序失去焦点时数据会同步到云端,我不得不说它可以工作,我可以通过查询 CloudKit 仪表板中的数据来说明这一点。但是当我开始导入文件时同步数据存在问题,在导入期间我将切换到其他应用程序。导入完成后,我看到数据存储在本地,但无法同步到云端。相反,我在控制台中看到以下错误:

CoreData:调试:CoreData + CloudKit:-PFCloudKitThrottledNotificationObserver noteRecievedNotification:::得到:NSApplicationWillBecomeActiveNotification - 0 CoreData:调试:CoreData + CloudKit:-PFCloudKitThrottledNotificationObserver noteRecievedNotification:::得到:NSApplicationDidBecomeActiveNotification - 1 CoreData:CloudKit:CoreData + CloudKit:-PFCloudedKitThrottledRecievObserver : - 已经安排了一个块来响应“NSApplicationDidBecomeActiveNotification”,此后有 2 个通知。CoreData:调试:CoreData + CloudKit:-[PFCloudKitThrottledNotificationObserver noteRecievedNotification:]_block_invoke(49)::为“NSApplicationWillBecomeActiveNotification”执行“AppActivateObserver”块,清除2次迭代。CoreData:CloudKit:CoreData+CloudKit:41AA55D5-F8A9-4EA9-A12A-9CA05775EC03 CoreData:警告:CoreData+CloudKit:-[NSCloudKitMirroringDelegate _enqueueRequest:]_block_invoke_2(724):无法将请求入队:41AA55D5-F8A9-4EA9-A12A-9CA05775EC03 错误域 = NSCocoaErrorDomain 代码请求‘41AA55D5-F8A9-4EA9-A12A-9CA05775EC03’已被取消,因为已经有一个类型为‘NSCloudKitMirroringExportRequest’的待处理请求。” UserInfo={NSLocalizedFailureReason=Request '41AA55D5-F8A9-4EA9-A12A-9CA05775EC03' 被取消,因为已经有一个类型为 'NSCloudKitMirroringExportRequest' 的待处理请求。} CoreData: CloudKit: CoreData+CloudKit: -[NSCloudKitMirroringDelegate _scheduleAutomatedExportWithLabel:activity:completionHandler: ]_block_invoke(2174): - 完成自动导出 - AppActivationExport - 结果:成功:0 madeChanges:0 错误:错误域 = NSCocoaErrorDomain 代码 = 134417 “请求 '41AA55D5-F8A9-4EA9-A12A-9CA05775EC03' 已取消,因为已经有一个类型为 'NSCloudKitMirroringExportRequest' 的待处理请求。” UserInfo={NSLocalizedFailureReason=请求“41AA55D5-F8A9-4EA9-A12A-9CA05775EC03”已取消,因为已经有一个“NSCloudKitMirroringExportRequest”类型的待处理请求。} CoreData:警告:CoreData+CloudKit:-NSCloudKitMirroringDelegate finishedAutomatedRequestWithResult::已完成请求“41AA55D5 -F8A9-4EA9-A12A-9CA05775EC03' 结果:成功:0 madeChanges:0 错误:错误域 = NSCocoaErrorDomain 代码 = 134417 “请求 '41AA55D5-F8A9-4EA9-A12A-9CA05775EC03' 已取消,因为已经有类型 ' 3D212164-ABDF-4A44-A31D-1D5A9B19A9D9' 已被取消,因为已经有类型为“NSCloudKitMirroringImportRequest”的待处理请求。} CoreData:CloudKit:CoreData+CloudKit:-[NSCloudKitMirroringDelegate _scheduleAutomatedImportWithLabel:activity:completionHandler:]_block_invoke(2150):-已完成自动导入 - AppActivationImport - 结果:成功:0 madeChanges:0 错误:错误域 = NSCocoaErrorDomain 代码 = 134417 “请求‘3D212164-ABDF-4A44-A31D-1D5A9B19A9D9’已被取消,因为已经存在类型‘NSCloudKitMirroringImportRequest’的待处理请求’。” UserInfo={NSLocalizedFailureReason=Request ' 3D212164-ABDF-4A44-A31D-1D5A9B19A9D9' 已取消,因为已经有一个类型为 'NSCloudKitMirroringImportRequest' 的待处理请求。} CoreData:警告:CoreData+CloudKit:-NSCloudKitMirroringDelegate finishedAutomatedRequestWithResult:: 完成请求'3D212164-ABDF-4A44-A31D-1D5A9B19A9D9' 结果:成功:0 madeChanges:0 错误:错误域=NSCocoaErrorDomain Code=134417“请求”3D212164-ABDF-4A44-A31D -1D5A9B19A9D9' 已被取消,因为已经有一个类型为 'NSCloudKitMirroringImportRequest' 的待处理请求。” UserInfo={NSLocalizedFailureReason=Request '3D212164-ABDF-4A44-A31D-1D5A9B19A9D9' 已取消,因为已经有一个类型为 'NSCloudKitMirroringImportRequest' 的待处理请求。} CoreData:调试:CoreData+CloudKit:-PFCloudKitThrottledNotificationObserver noteRecievedNotification:: : Got: NSApplicationWillResignActiveNotification - 0 CoreData:调试:CoreData+CloudKit:

所以上面所说的 - Error Domain=NSCocoaErrorDomain Code=134417- 无法执行请求,因为有一个待处理......看起来同步操作被触发了两次......

另外,我想提的是 - 当我重新启动应用程序时,应用程序将正确同步......

所以现在,我要做的就是:

  1. 应用委托:

我发现了一些像我一样设置合并策略的好习惯:container.viewContext.mergePolicy = NSMergePolicy(merge: .mergeByPropertyObjectTrumpMergePolicyType)

  1. 在 ViewController 中完成导入后

然后是我上面提到的同步数据错误的问题。对于开发,我正在使用 macOS 10.15.4 和 Swift 5.2... 有什么提示吗?可能有一些我目前看不到的问题。任何帮助表示赞赏:)

0 投票
1 回答
30 浏览

tableview - 为什么不返回表格单元格默认选择样式?斯威夫特 5.2

为什么不返回 tableview 单元格中 selectionStyle 属性的默认样式?我写了一个条件来检查并且打印命令有效,即它显示默认样式正在返回。但是表格单元格没有变灰,因为它应该是默认样式。

0 投票
0 回答
37 浏览

swift - 导航控制器未应用更改

我有两个视图控制器,然后我将第一个嵌入到导航控制器中,然后将其链接到第二个,但是当我去更改色调条颜色或标题颜色时,最终什么都没有改变。虽然当我查看两个视图控制器的顶部时,它都有带有后退按钮的白条。好像没有应用任何更改,或者我需要做其他事情来连接它。我也尝试过通过代码添加东西,但没有任何效果。

0 投票
1 回答
42 浏览

ios - 使用 viewDidAppear() 在 swift5 中关闭另一个 ViewController 后刷新 ViewController

我试图在 usersignin 时关闭我的 loginVC 我只是让用户签名

关闭它后显示我的主页是 AuthVC 另一个 viewController。

希望现在一切都清楚了。我的 viewDidAppear 函数没有被调用。

0 投票
1 回答
72 浏览

ios - 在 Map Kit 中绘制折线的问题

下午好社区,

我在我的应用程序中绘制折线时遇到问题,我已经尝试在 func 方法 locationManager (_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {} 中调用它

但是什么都没有生成,就像我希望标记折线的每一步而不是在旅程结束时一样。我在下面留下我的代码:

我已经阅读了一些文档,显然我的代码很好,如果有人可以帮助我,那将有很大的帮助!就像某人一样,如果您有任何方法可以帮助我知道我什么时候做了以及我走了多少步,因为我没有看到 CLLocation 可以选择此类信息。

0 投票
2 回答
22 浏览

game-center - 游戏开始后转移 Interger GameKit

我已成功使用 Apple 文档通过 Game Center 连接两个玩家并开始游戏。然而,几天来我一直在努力让应用程序在两个玩家之间发送数据。

我只需要在两个播放器之间发送一个整数,但甚至无法运行文档代码,即使在创建结构等之后也是如此。我看过的示例已经过时或者我无法构建它们。

如果有人可以提供一些我可以在 Swift 5+ 中试验的工作代码,我将不胜感激。