草庐IT

Swift-Mailer

全部标签

swift - 如何有效地比较 Swift 中的字符

我在Swift中有一个函数可以计算hammingdistance两个字符串,如果结果为1,则将它们放入连通图中。例如,readtohear返回的汉明距离为2,因为read[0]!=hear[0]和read[3]!=hear[3]。起初,我以为我的函数因为输入量(8,000+词典)而需要很长时间,但我知道几分钟太长了。因此,我用Java重写了相同的算法,计算仅用了0.3秒。我试过用两种不同的方式用Swift写这个:方式1-子串extensionString{subscript(i:Int)->String{returnself[Range(i..Int{ifw1.length!=w2.l

ios - 如何在 Swift 4 中使用字符串下标

这个问题在这里已经有了答案:HowcanIuseStringsubstringinSwift4?'substring(to:)'isdeprecated:PleaseuseStringslicingsubscriptwitha'partialrangefrom'operator(21个回答)关闭5年前。我正在尝试将Swift3代码转换为Swift4。但此错误显示:"substring(from:)'isdeprecated:PleaseuseStringslicingsubscriptwitha'partialrangefrom'operator."我的代码是:extensionStr

swift - 为 UIColor 创建自定义颜色

我有一个关于在swift中创建自定义UIColor的问题。我使用了以下扩展代码:importUIKitextensionUIColor{convenienceinit(red:Int,green:Int,blue:Int){letnewRed=CGFloat(red)/255letnewGreen=CGFloat(green)/255letnewBlue=CGFloat(blue)/255self.init(red:newRed,green:newGreen,blue:newBlue,alpha:1.0)}}letbrandBlue=UIColor(red:0,green:127,bl

swift - 优雅地使用可选项

我在类中有一个属性返回total/count。total和count都是可选项。有没有比这更优雅的方法来检查它们是否具有值:varequalAmount:Float?{iftotal!=nil,count!=nil{returntotal!/Float(count!)}else{returnnil}} 最佳答案 几乎任何方式都比使用强制解包更优雅。在以下选项之间进行选择:iflet:最接近你当前的设计iflettotal=total,letcount=count{returntotal/Float(count)}else{retur

ios - 在 Swift 3 中滚动动态 UISegmentedControl

您好,我想创建一个包含20多个项目的动态UISegmentedView。我试过了,但输出是这样的。文本被切片,不完全可见。我希望它向左和向右滚动并显示全文。有人可以帮我解决这个问题吗?发送ViewControlleroverridefuncviewDidLoad(){super.viewDidLoad()letitems=["AllFruits","Orange","Grapes","Banana","Mango","papaya","coconut","django"]letfiltersSegment=UISegmentedControl(items:items)filtersSe

使用复杂和嵌套数据在 Swift 4 中解析 JSON

我目前正在尝试使用https://openweathermap.org中的JSON制作一个天气应用程序但我在处理JSON文件中的天气部分时遇到了问题。我不确定如何访问对象内的“id”值。{"base":"stations","clouds":{"all":36},"cod":200,"coord":{"lat":51.51,"lon":-0.13},"dt":1507497600,"id":2643743,"main":{"humidity":82,"pressure":1021,"temp":10.65,"temp_max":13,"temp_min":9},"name":"Lond

Swift基础语法(六)闭包表达式和闭包

Swift基础语法文章汇总本文主要介绍闭包表达式和闭包,闭包表达式简化了函数的调用,闭包可以捕获局部变量,在局部变量的作用域外也可以进行操作主要内容:闭包表达式闭包使用闭包原理1、闭包表达式1.1闭包表达式认识闭包表达式用来实现功能,类似于函数的作用,只是写法不一样定义格式:{(参数列表)->返回值类型in函数体代码}代码:/*1、闭包表达式的写法*///1.1函数funcsum(_v1:Int,_v2:Int)->Int{v1+v2}print("sum\(sum(10,20))")//1.2闭包表达式varfn={(v1:Int,v2:Int)->Intinreturnv1+v2}letr

ios - 在 iOS/Swift 应用程序中跟踪时间/日期的最有效方法是什么?

我正在构建一个iOSSwift习惯养成应用程序,它需要在特定用户指定的时间间隔和/或日期向用户发送推送通知。例如,用户一养成了新习惯。他们指定他们希望它持续多长时间,他们想在哪几天做,一天中的什么时间执行任务,等等。开始时间是他们创建它的那一天。用户在他们应该执行任务时收到推送通知。我很好奇实现这些提醒并跟踪与日期相关的习惯时间的最有效方法(内存效率等)是什么。NSTimer是最优雅的解决方案吗?NSTimer是否在后台运行,我读过它是一个内存密集型解决方案?我确信这个问题会被否决,但是我一直在进行研究并试图找到一个明确的答案作为一个好的起点。这是我的第一个iOS/Swift应用程序。

swift - 如何在 Swift 单元测试中断言可选 Bool 的值?

我有一个类似于以下内容的Swift单元测试:varfirstArgumentInClosure:Bool?someFunc{firstArgumentInClosure=$0}XCTAssertTrue(firstArgumentInClosure?)我试图断言调用闭包时第一个参数是true。这不会编译错误消息:'?'mustbefollowedbyacall,memberlookup,orsubscript我可以解决这个问题的一种方法是将断言更改为:XCTAssertEqualTrue(firstArgumentInClosure??false)有没有更简洁的方法来做到这一点?看到有

ios - swift 。让所有类(class)最终?

我的问题是关于在Swift代码中使用final关键字。我知道final可以帮助编译器更快地编译代码,因为它是动态调度的。所以,如果我明确知道我不会继承我的一些类,我是否应该将它们全部设为final? 最佳答案 iOSStanfordcourse教授了这种保护方法.方法是,将所有API定义为private。它增加了封装。稍后,如果您需要放弃一些东西,请删除隐私。因为反过来做是不好的,即设计一些公共(public)的东西,然后再将其更改为私有(private)的。与此类似,我认为制作一个类final然后再决定它不应该是final比制作一