草庐IT

有一手

全部标签

ios - swift 函数可以有一个默认的完成处理程序吗?

这个问题在这里已经有了答案:Canswiftclosuresbesettoadefaultvaluewhenusedasaparameterinafunction?(4个答案)关闭6年前。在Swift中,函数可以像这样为参数设置默认值:funcinit(name:String="foo"){...}具有完成处理程序的函数是否可以具有默认值,以便在调用函数时无需将completionHandler指定为nil,类似于以下内容?funcfoo(completion:(success:Bool)->void=nil){...}

ios - 有一个非可选的弱引用有意义吗?

考虑这段代码:internalweakvarsomeObj:SomeClass?=TheObject.Exists().Somewhere.obj这看起来非常合理。引用很弱——也就是说我们无法控制someObj的生命周期——所以在某些时候引用可能变为nil。即使是SomeClass!我也可以认为是可以接受的,只要您意识到可能存在的风险。现在怎么样:internalweakvaranotherObj:AnotherClass=aDifferent.Source().ofObjects.obj编译器甚至不会发出警告。Weak建议引用可能指向已被释放的对象。另一方面,非可选的AnotherC

ios - 如何将具有一定半径的圆添加到我的 MKpointAnnotation IOS Swift

有人可以为我指出正确的方向,以便为我的点添加半径。它是非常标准的代码,我已经尝试添加一个MKcircle,但我的map没有任何内容。类ViewController:UIViewController、MKMapViewDelegate、CLLocationManagerDelegate{@IBOutletweakvarmaps:MKMapView!varlocationManager=CLLocationManager()overridefuncviewDidLoad(){super.viewDidLoad()varlatitude:CLLocationDegrees=54.53varl

swift - 成员运算符 '==' 必须至少有一个类型的参数

我正在尝试在equalityClass中实现Equatable协议(protocol),但显示成员运算符“==”必须至少有一个类型为“eqaualityClass”的参数。任何人都可以解释这里出了什么问题吗?protocolRectangle:Equatable{varwidth:Double{get}varheight:Double{get}}classeqaualityClass:Rectangle{internalvarwidth:Double=0.0internalvarheight:Double=0.0staticfunc==(lhs:T,rhs:T)->Bool{retur

swift - 在 Swift Array 中,是否有一个函数可以根据 where 子句返回最后一个索引?

Swift数组的函数index根据where子句中的条件返回第一个元素。有没有办法得到这个条件下的最后一个元素?例如,我想要这样的东西(我知道没有名为lastIndex的函数。这个函数或类似函数就是我要搜索的):letarray=[1,2,3,4,5,3,6]letindexOfLastElementEquals3=array.lastIndex(where:{$0==3})print(indexOfLastElementEquals3)//5(Optional) 最佳答案 lastIndex(where:)和相关方法是在Swift

swift - 具有关联值的枚举元素必须至少有一个关联值

这种用关联值定义枚举的语法在Swift4.2中使用得很好enumNetworkService{caselookUp(type:String)caseallLookUps()}当我尝试在Xcode10.2和Swift5中转换我的代码时,它抛出错误提示Enumelementwithassociatedvaluesmusthaveatleastoneassociatedvalue在这种特殊情况下,为allLookUps()提供关联值没有任何意义。那么Swift5中的最佳实践是什么? 最佳答案 只需去掉case后面的括号()即可:enumN

ios - 成员运算符 '%' 必须至少有一个 'ViewController’ 类型的参数

我正在尝试创建一个简单的Swift3模板,其中包含一个自定义函数,用于在Xcode应用程序中使用后缀一元运算符计算百分比。这似乎是一个重复的问题,因为acceptedanswer在我之前的帖子中已经展示了如何在Playground中执行此操作。但后来我发现自定义函数在Xcode项目中的工作方式不同。在下面的模板中,我在文件范围内声明了'operator'(或者至少我相信我这样做了)。但是当声明后缀函数时,Xcode会提示Operator'%'declaredintype'ViewController'mustbe'static'并提供了一个修复程序来插入static。使用static插

ios - 摄像头下方有一个黑色的底部空间

我从UITabBarController呈现一个UIImagePickerController。letimagePicker=UIImagePickerController()imagePicker.delegate=selfimagePicker.sourceType=.CameraimagePicker.allowsEditing=falseimagePicker.showsCameraControls=falsepresentViewController(imagePicker,animated:true,completion:nil)我已明确将showsCameraContro

swift - 一旦答案明确,Swift 中是否有一个运算符会停止对多表达式条件语句的求值?

在某些编程语言中,除了简单的||之外,还有另外两个运算符和&&。从现在开始,我将称之为_orif和_andif的这些运算符可以用来代替&&和||它们可能有助于提高效率和避免错误,因为一旦答案明确,条件评估就会停止。例如,以下表达式的计算将在(selectedSprite!=nil)为false的中间停止:因此条件的其余部分将被忽略并且永远不会计算,这将防止fatalerror在这种情况下:fatalerror:expectedlyfoundnilwhileunwrappinganOptionalvalue并且它会在到达第二个表达式时引发,因为显然nil不响应SpriteOwner()。

ios - Swift:我怎样才能有一个监听器来报告连接何时丢失以及何时恢复?

我想在我的iOS应用程序启动时调用一个方法,但我只想在有连接时调用这个方法。我发现在Objective-C中你可以使用Reachable,但事实证明这个方法不是Swift的一部分。我找到了一个名为Reachability.swift的pod,我正在使用提供的示例:overridefuncviewWillAppear(animated:Bool){letreachability:Reachabilitydo{reachability=tryReachability.reachabilityForInternetConnection()}catch{print("Unabletocreat