草庐IT

swift_FORCE_LOAD

全部标签

Swift 等同于 Unity3d 协程?

研究如何在Swift3中构建类似的东西。我习惯在Unity3d中使用这种架构,也许没有类似的东西来处理异步数据。我听说过完成block+使用协议(protocol)/委托(delegate)在Swift中传递数据,但我认为拥有一个获取数据的公共(public)函数然后使用协程等待所有数据都在VC中会更容易开始吧。这是我用来创建它们的C#代码:Listdata=newList;privateIENumeratorget_data(){run_async_func_to_get_data();while(data.count==0){yieldreturnnull;}yieldbreak;

swift - 确定 WKInterfaceLabel 的字体大小和粗细 - 等宽字体需要

WatchKit支持usingamonospacedfontfordigits.使用Xcode8.3.2和WatchOS3。我相信我无法在InterfaceBuilder中定义/选择它,因此我需要手动设置它。为此,我可以使用:classfuncmonospacedDigitSystemFont(ofSizefontSize:CGFloat,weight:CGFloat)->UIFont它需要我设置尺寸和重量。我想从InterfaceBuilder中定义的标签设置中继承这些设置。但是:如何获取标签的当前尺寸和重量?似乎没有获取当前属性的方法。因此,在应用等宽字体时,我似乎需要对其进行硬编

swift - CoreData transient 属性上下文中可选的语义

如果将核心数据中的transient属性设置为可选或非可选,会有什么区别。通常当您将一个实体设置为可选时,它允许拥有该属性的实体在该属性设置为null的情况下存储。但在transient属性的情况下,它们实际上并没有被存储。那么将transient属性设置为可选有什么作用吗?如果使用可选的非transient属性计算,是否需要将transient属性设置为可选?欢迎任何见解。 最佳答案 如果我没有将transient属性设置为可选,我会收到以下错误:CoreDataSaveError(NSValidationErrorKey,Coc

ios - 与 ios swift 本地数据库和服务器同步数据

我正在尝试构建一个使用SQLITE并将其同步到我的PHP后端服务器的iOSswift应用程序。我可以构建从服务器读取和写入数据的API。我可以从发出HTTP请求的服务器快速读取和写入数据。我想在这里完成的是:将数据保存到本地数据库并将其同步到服务器数据库,本地数据库是用户特定的,服务器数据库包含所有用户数据。本地数据库--------------------------|maintitem|duedate||abc|29-3-2018|DNA|24-1-2017|boy|17-2-2017--------------------------服务器数据库-----------------

ios - 在 swift3 中从 AppDelegate 调用函数

我正在使用OneSignal处理我应用中的通知。这是在AppDelegate.swift中启动的,其中有一个处理接收到的应用程序的函数:letnotificationReceivedBlock:OSHandleNotificationReceivedBlock={notificationinprint("ReceivedNotification:\(notification!.payload.body)")}然后我有一个带有5个选项卡的TabViewController,每个选项卡的navigationItem都有一个UINavigationBarButton,它将您发送到消息View

swift - 对象是 nil,尽管它是在 init 中设置的

我有一个名为navigator的对象,我在init中设置了它。我打开它以确保它已设置好。但是,当IBAction函数linkBut​​tonClicked被调用并尝试使用导航器时,我得到一个nil异常。为什么?classHomeCollectionViewCell:UICollectionViewCell{letappDelegate:AppDelegate!letnavigator:Navigator!@IBOutletweakvarlinkButton:UIButton!vardestinationView:String?varparentViewController:UIView

iOS Swift 3 - 如何保存可以拉到任何 View Controller 的数据

我正在制作一款游戏,其中每个技能都有自己的水平和经验,具体取决于玩家对它们的训练程度。它还在银行中存储了诸如金钱和元素之类的东西。我应该在哪里保存这些项目,以便您可以从任何ViewController访问它,以便在您关闭和打开游戏时保存它?我已经决定尝试使用UserDefualts,但我不确定我做错了什么。有人可以解释一下我是否想要一个名为硬币的变量并有一个标签显示这些硬币从0开始,每次单击按钮时硬币都会增加1。然后还可以关闭游戏或女巫观看次数和代币是否与关闭前保持一致? 最佳答案 首先你应该定义游戏数据是否敏感。如果不敏感,请尝试

swift - `?` 在 Xcode 8.3.2 的 Swift 编译器中导致段错误

我有这行Swift可以毫无问题地编译letlayoutSettings=tryLayoutSettings.deserialize(params:layoutSettingsParamsasDictionary)从Xcode8.3.2开始我得到错误SwiftCompilerErrorCommandfailedduetosignal:Segmentationfault:11如果我删除代码行末尾的?,它可以毫无问题地编译。如何在不使编译器崩溃的情况下使用可空类型? 最佳答案 AnyObject和AnyObject?不是一回事。AnyOb

Swift:将 AnyObject 转换为 Float 失败

letjson=["left":18,"deadline":"May10","progress":0.6]as[String:AnyObject]letss=json["progress"]as?Floatletsss=json["progress"]as?Doubleprint("ss=\(ss)\nsss=\(sss)")我不知道为什么ss显示nil而sss显示0.599999998。为什么强制转换为Float会得到nil?你们有什么方法可以让我得到正确的结果吗? 最佳答案 0.6是一个Double文字值。因此,您不能将其转换为

swift - 如何比较两个没有原始类型的枚举实例?

这个问题在这里已经有了答案:HowtotestequalityofSwiftenumswithassociatedvalues(14个答案)关闭5年前。给定:enumExample{caseStep1caseStep2(data:String)}和:leta:Example=.Step1letb:Example=.Step2(data:"hi")我如何使它工作?print(a==b)//ERROR:Binaryoperator'=='cannotbeappliedtotwo'Example'operands请注意,我不能放弃自定义枚举(它不能包含原始值)