草庐IT

Swift-Mailer

全部标签

swift - 在单元格自定义 TableViewCell 中按下按钮时删除单元格

您好,我正在尝试在选中复选框时删除单元格,但该函数一直在删除索引0处的单元格,而不是选定的单元格索引设置带标签的Cellletcell=tableView.dequeueReusableCell(withIdentifier:"Cell",for:indexPath)as!TableViewCelllettask=tasks[indexPath.row]cell.delegate=selfcell.tag=indexPath.rowprint("Thetagis\(cell.tag)")CustomTableViewCellprotocolTableViewCellDelegate{f

Swift - 可选参数未按预期工作

我有一个迭代类别类列表的方法,最后返回所有类别的项目。简单的代码如下所示:funciterateMyCategoriesItems(item:(_category:Category)->Void){forcategoryinallCategories{item(category)}}使用时:iterateMyCategoriesItems{(category)in//doingsomethingherewitheverycategory...}到目前为止一切顺利,但现在我想为这个方法添加一个可选的完成,所以我将代码更改为:funciterateMyCategoriesItems(ite

swift - 为什么我需要字符串来确定第 N 个字符的索引?

我想获取字符串的前N​​个字符的子字符串。(例如10)。但字符串是函数生成的输出。我想这样做...letstring=someInputString.someGeneratorFunctionThatReturnsAString().substring(to:10)但是我做不到。因为substring函数中的索引需要字符串本身来判断第10个字符在哪里。第一个问题……为什么会这样?第二个问题...如何在不需要原始字符串获取索引的情况下获取这样的子字符串。 最佳答案 我可能理解错了你的问题,但在这里你可以轻松地进行子串:extensio

ios - Swift - 数组到数据并返回到字符串

我想把字符串数组转成base64再转回字符串我尝试以下操作letarray=[[1,2,"preved"],[3,4,"hola"],[5,6,"poka"]]letencodedData=NSKeyedArchiver.archivedData(withRootObject:array)letbase64String=encodedData.base64EncodedString()letdata=Data(base64Encoded:base64String)letdecodedData=NSString(data:data!,encoding:String.Encoding.ut

swift - 带有嵌套类的 Swift 4 上的 "instance member cannot be used on type"错误

我有一个带有嵌套类的类。我试图从嵌套类中访问外部类的变量:classThing{varname:String?vart=Thong()classThong{funcprintMe(){print(name)//error:instancemember'name'cannotbeusedontype'Thing'}}}然而,这给了我以下错误:instancemember'name'cannotbeusedontype'Thing'有没有一种优雅的方法来规避这种情况?我希望嵌套类能够像闭包一样捕获词法范围。谢谢 最佳答案 你可以这样做c

swift - 是否可以在同一条件语句中使用来自可选绑定(bind)的变量?

ifletpopupButton=result?.controlas?NSPopUpButto{ifpopupButton.numberOfItems我想避免双重嵌套if。ifletpopupButton=result?.controlas?NSPopUpButton&&popupButton.numberOfItems但如果我这样做,我会收到unresolvedidentifier编译器错误。有什么办法可以在一行中实现这个条件吗?或者因为我使用的是可选绑定(bind),我是否被迫在此处创建嵌套的if? 最佳答案 你可以这样做:if

swift - 我可以使用可选链接为可选属性提供默认值吗?

是否可以像这样同时使用可选链接和nil合并?print("Meetinghost:"+meeting.host?.email??“Nohost”)我想这样做,但我收到一条错误消息,提示我的字符串?没有展开。email是一个非可选的字符串。这是否可能而无需事先解包host?如果不能,为什么我尝试这样做不起作用? 最佳答案 您无需打开包装即可使用。这不是错误发生的原因。毕竟,??旨在处理此类情况。错误的发生是因为运算符的优先级。编译器认为它应该首先评估+,连接两个字符串,然后进行nil合并。它看到第二个操作数没有展开并发出提示。为了使其

ios - 在 Swift 3.0 中使用 rangeOfCharacter

我正在尝试使用rangeOfCharacter创建应用程序,但无法理解其文档:funcrangeOfCharacter(from:CharacterSet,options:String.CompareOptions,range:Range?)-FindsandreturnstherangeintheStringofthefirstcharacterfromagivencharactersetfoundinagivenrangewithgivenoptions.文档链接:https://developer.apple.com/documentation/swift/string#symb

swift - init抛出异常时是否调用deinit?

考虑以下示例类:classSocketWrapper{letsock:Int32init()throws{trysock=SocketWrapper.createSocket()}deinit{close(sock)}}如果createSocket()抛出并且init()因此失败会怎样?socks将保持未初始化状态。当init()抛出时,deinit是否仍然被调用(在部分未初始化的对象上)? 最佳答案 deinit不会在未正确初始化的实例上调用。如果init由于某种原因失败,则类实例永远不会开始存在。因此,没有可以调用deinit的

ios - 在 api 调用 Swift 上显示事件指示器

我想在执行api调用时显示事件指示器。当收到api响应时,事件指示器应该停止但是在api调用期间不显示事件指示器我是swift的新手,这是我的代码。importUIKitvarARR_states:NSArray=NSArray()varactivityIndicatorView:UIActivityIndicatorView=UIActivityIndicatorView()varVW_overlay:UIView=UIView()classVC_search_Course:UIViewController{@IBOutletweakvarTBL_states:UITableView