草庐IT

Swift-Mailer

全部标签

swift - 在 Swift3 中没有更多上下文的表达式类型不明确

在我尝试升级到最新Swift版本的项目的这部分代码中,我收到“Typeofexpressionisambiguouswithoutmorecontext”。我似乎无法弄清楚。我尝试了不同的方法,但无法正常工作。问题出在这一行的语法上:varsec=Int64(0.001*Double(NSEC_PER_SEC))lettime=DispatchTime.now()+.seconds(sec)编译器指出加法(+)DsipatchTime.now()到.seconds(sec) 最佳答案 DispatchTimeInterval有一个c

arrays - Swift:为什么创建空白数组时需要空括号?

为什么定义一个空白数组后需要括号“()”?例如:letemptyArray=[String]()但是当你使用一个带有预定义值的数组时,它就不需要它们了?letpopulatedArray=["Hello","question"] 最佳答案 您正在调用初始化程序,这类似于:letobject=MyObject()或letstring=String()也可以写成letarray=Array()当您使用预定义值时,类型是从数组项的类型中推断出来的。对于空数组,没有任何项,因此必须明确指定类型。另一种方法是:letarray:[String

ios - Swift 线程安全计数器变量?用于跟踪何时删除网络事件指示器

我的场景的快速解释:我有一个iOS应用程序,可以使用不同线程同时执行大量网络调用。在我的iOS应用程序中,我想在发生任何网络事件时显示内置的(在状态栏上)网络事件指示器。所以我所做的是在任何网络调用之前启动事件指示器,然后在该网络调用出错或成功完成后停止它。发生的事情(显然)是,一旦一个网络事件操作成功(或错误)完成,它就会删除网络事件指示器,即使我知道其他网络事件正在发生。所以我的解决方案是创建一个静态变量(因为有很多类执行网络事件),它跟踪当前正在执行的网络请求数量(每次启动时递增此静态变量,然后在它们启动时递减此静态变量完成(成功或失败),仅当此计数器达到0时才会关闭网络事件指示

swift - Swift 通用协议(protocol)注入(inject)可能吗?

我正在尝试使用通用协议(protocol)并注入(inject)具体实现,但出现以下错误:Protocol'Repo'canonlybeusedasagenericconstraintbecauseithasSelforassociatedtyperequirementsat让repo:repo我的代码protocolRepo{associatedtypeTfuncdoSomething()->T}classMyRepo:Repo{funcdoSomething()->String{return"hi"}}classSomeClass{letrepo:Repoinit(repo:Rep

swift - 覆盖注释

您好,我正在尝试在我的注释周围创建一个叠加层,例如苹果提醒应用程序,我已经创建了一个MKCircle对象,我认为我应该使用它来显示叠加层,但是如何将我的MKCircle对象转换为MKOVerlay对象?也许有更好的方法来添加注释?我是swift和编程的新手。有什么建议么? 最佳答案 MKCircle是一个MKOverlay对象。您只需将其添加为叠加层即可:letcircle=MKCircle(center:coordinate,radius:1000)mapView.add(circle)当然,你必须通过实现mapView(_:re

swift - 使用包含链接的默认正文打开 iMessage

我正在尝试使用来self的应用程序的默认消息打开iMessage应用程序。默认消息包含指向应用程序商店中应用程序的链接。这是用户邀请人们下载应用程序的一种方式。用户输入一个数字,然后点击提交按钮,然后它会打开带有该数字和重新填充的消息的iMessage应用程序。但是,出于某种原因,Swift不会生成URL。这是我的东西letbody="DownloadSomeAppbyclickingthelinkbelow:\n\nhttps://appsto.re/us/someapp.i"guardletphoneUrl=URL(string:"sms:\(numberTextField.tex

ios - Swift 中静态 TableView 中特定单元格的披露指示符

我创建了一个静态TableView,我想添加或删除一个披露指示器,具体取决于我们是在咨询我们自己的帐户还是guest帐户。这就是我想要的:letindex=IndexPath(row:4,section:0)letcell=tableView.cellForRow(at:index)ifcurrentUser{cell.accessoryType=.none//cell.backgroundColor=UIColor.red}我尝试将其放入viewDidLoad函数中,但没有成功。我也尝试了cellForRowAtindexPath,结果相同。我该怎么做?

ios - Swift 3 - 具有一对多关系的核心数据保存

我正在处理核心数据,我有两个实体:游泳池参数每个游泳池可以有多个参数我已经保存并获取了游泳池的数据。我已经通过表格保存了它们。在我的AppDelegate中我有:letad=UIApplication.shared.delegateas!AppDelegateletcontext=ad.persistentContainer.viewContext这是函数:varswimmingpool:SwimminPool!ifswimmingPoolToEdit==nil{swimming=SwimminPool(context:context)}else{swimming=swimmingPo

Swift 5.7 新特性

Swift5.7内置于Xcode14,重点增加了如下几个与实际开发相关的新特性。简化的iflet/guardlet语法letname:String?="zhangsan"print(name)//Optional("zhangsan")//Swift5.7之前//ifletifletname=name{print(name)//zhangsan}//Swift5.7之后//ifletifletname{print(name)//zhangsan}funcmethod(name:String?,age:Int?){//Swift5.7之前//guardletguardletname=nameel

ios - Swift Alamofire 从刷新 token 请求错误中获取 token

我对使用Alamofire还很陌生,对于这个请求,我的头撞墙了。我正在使用GIDSignIn,并成功地为用户获取token和刷新token,范围为["https://www.googleapis.com/auth/youtube.readonly"]。我正在尝试完成此请求,如site上的示例所示.该网站说要忽略对iOS使用client_secret,我这样做了。POST/oauth2/v4/tokenHTTP/1.1Host:www.googleapis.comContent-Type:application/x-www-form-urlencodedclient_id=&client