草庐IT

Swift-Mailer

全部标签

swift - 为什么我的特殊 Codable 协议(protocol)与 Swift 的 Codable with Array 的工作方式不同?

使用Codable,我可以创建以下扩展extensionDecodable{publicstaticfuncdecode(data:Data,decoder:JSONDecoder=.default)->Self?{do{returntrydecoder.decode(self,from:data)}catchleterrorasNSError{CodableKit.log(message:"\(error.userInfo)")returnnil}}}并将其用于单个对象和数组类型,例如letperson=Person.decode(data:personData)//singlele

swift - 为什么从 Float 转换而来的 CGFloat 不表现出 CGFloat 行为?

我有一个简单的例子,我尝试画一个圆。下面这段代码没有给我一个圆圈。importUIKitclassPlayingCardView:UIView{overridefuncdraw(_rect:CGRect){ifletcontext=UIGraphicsGetCurrentContext(){context.addArc(center:CGPoint(x:bounds.midX,y:bounds.midY),radius:100.0,startAngle:0,endAngle:CGFloat(2.0*Float.pi),clockwise:true)context.setLineWidt

swift - ARKit——为什么没有 'ARPlaneDetection' 枚举了?

为什么Apple的软件工程师确实删除了ARPlaneDetectionenum并制作了ARWorldTrackingConfiguration.PlaneDetectionstruct?是:publicenumARPlaneDetection:UInt{case.nonecase.horizontal}现在:publicstructPlaneDetection:OptionSet{publicinit(rawValue:UInt)publicvarhorizontal:ARWorldTrackingConfiguration.PlaneDetection{get}publicvarve

swift - 如何使用全局结构进行单元测试?

我很清楚在单元测试中你生成输入属性将此属性传递给您要测试的方法将结果与您的预期结果进行比较但是,如果您有一个全局结构,例如游戏经验值和游戏关卡有私有(private)setter,不能修改。当应用程序启动时,我会自动从UserDefaults加载这些数据。当您无法更改输入时,如何测试访问该全局结构的方法?例子:importUIKit//GlobalstructwithprivatedatastructGameStatus{private(set)staticvarxp:Int=0private(set)staticvarlevel:Int=0///Holdsallwinningstat

swift - 如何在元组上定义后缀运算符?

我有以下代码:postfixoperator^^^publicpostfixfunc^^^(lhs:Int)->Int{return0}publicpostfixfunc^^^(lhs:(T,T))->[T]{return[lhs.0,lhs.1]}funcgo(){1^^^//thisworks(0,0)^^^//error:Unaryoperator'^^^'cannotbeappliedtoanoperandoftype'(Int,Int)'}我得到的错误是,一元运算符'^^^'不能应用于'(Int,Int)'类型的操作数。有什么解决办法吗? 最佳答案

swift - 将 Swift 类标记为 final 是否也会使所有包含的 var、let 和函数自动获得 Static Dispatch 的好处?

我正试图从我的应用程序中榨取最后一点性能。我尝试尽可能在类上使用Structs(没有状态共享,默认情况下直接分派(dispatch)等等)。但是我的ViewController和UIView对象显然仍然是类。出于性能原因,我想对我的每一个方法和数据成员强制执行直接调度。我是否还需要在我的类(class)中标记每个var、let和funcfinal,或者是是否足以将托管类标记为最终类,以便其下的所有内容都可以利用直接方法分派(dispatch)?换句话说:在每个方法和变量之前都粘贴final非常乏味。所以我希望将它放在类(class)本身上具有强制直接dispatch所有类(class)

swift - 一次到达 NSTextField 的两个 IBOutlets

我有一个包含两个NSTextField的登录页面,所以我在我的ViewController中创建了两个@IBOutlets。对于某些样式,我必须同时调用它们。我想给他们相同的属性,但我不想称他们为个体。那么我怎样才能立即联系到他们并为他们提供像inputFields.isBordered=true这样的属性对于iOS,swift提供了@IBOutletCollection,但对于MacOS则没有。@IBOutletweakvaremailInput:NSTextField!@IBOutletweakvarpasswordInput:NSTextField!overridefuncvie

cocoa - Swift 中 Array<Prototocol> 中对象的索引

我想获取当前主题的索引。我的主题列表是通过以下方式声明的varthemes:Array=[]我试过使用letcurrentIndex=find(self.themes,self.currentTheme)但它不起作用。我也试过用funccurrentThemeIndex()->Int?{letindecies=enumerate(self.themes)for(index,item)inindecies{ifself.currentTheme==item{returnindex}}returnnil}知道我做错了什么吗? 最佳答案

Swift:截断一个 float 以在标签中显示它

这个问题在这里已经有了答案:StringformattingofaDouble[duplicate](2个答案)关闭8年前。当我想在Objective-C的标签中截断一个float时,我可以使用LABEL.text=[NSStringstringWithFormat:@"%.3f",FLOAT];虽然我找不到如何在Swift中这样做。

ios - 如何在 Swift 中实现全局化?

我在viewDidLoad函数中创建了一个UILabel。然后,我有一个在viewDidLoad函数之外的函数。我需要能够访问UILabel。我知道我可以在ObjC中使用extern来做到这一点,但在Swift中如何做到这一点? 最佳答案 根据您的需要,您可以使用如下的属性声明来完成:yourViewController:UIViewController{varlabel:UILabel?//yourpropertyoverridefuncviewDidLoad{super.viewDidLoad()label=UILabel()/