草庐IT

swift-keypath

全部标签

ios - 如何在 Swift 中使用时区格式化日期?

我检查了其他问题,但没有一个对我有太大帮助。我有以下字符串:letdateString="2018-04-29T21:00:00.000Z"我已经使用以下方法成功地将它转换为日期:letdateFormatter=DateFormatter()dateFormatter.locale=Locale(identifier:"en_US_POSIX")dateFormatter.dateFormat="yyyy-MM-dd'T'HH:mm:ss.SSSZ"letconvertedDate=dateFormatter.date(from:dateString)但现在我只想要时间"hh:mma

ios - 如何避免我没有编写的 swift 函数的回调 hell ?

我不希望这被误解为重复。我想处理来自Firestore(Google平台Firebase的数据库)的API调用引起的回调hell。我不能修改它们的函数声明,所以我假设我必须用我的一些代码包装它们的函数。例如,在下面的代码中,函数eventCreatedSuccessfully()只能在异步函数完成后调用。eventCreatedSuccessfully()还包含一个对firebase的函数调用,它有一个闭包,另一个函数依赖于它等等......虽然这现在不会给我带来问题,但随着我的应用程序的增长,它可能会越来越大。我在网上进行了研究,并从第三方框架中找到了Futures和Streams等

ios - 无法在 Swift 中将远程照片保存到相机胶卷

我正在尝试将远程照片(存储在Firebase存储中)保存到相机胶卷,但以下代码无法在Swift中按预期运行:PHPhotoLibrary.shared().performChanges({ifletphotoUrl=URL(string:""){PHAssetChangeRequest.creationRequestForAssetFromImage(atFileURL:photoUrl)}},completionHandler:{(success,error)->Voidinifleterr=error{print(err)}})图片地址:https://firebasestorag

使用不间断空格和多行显示 NSAttributedString 时出现 Swift 错误

如果这很明显,我深表歉意,但我已经搜索了一段时间,这个问题难倒了我。我有一个NSAttributedString包含:1)一个“填空”式的子字符串,由不间断的空格组成,并在该子字符串上应用了下划线样式(例如“\u{00a0}\u{00a0}\u{00a0}"下划线样式仅应用于该子字符串;我最初使用下划线,但它们之间的空间有问题,因为我的文本具有不透明度,所以您可以看到之间的空间或重叠)2)字符串末尾有多个换行符,可以选择填空(例如"...\na)第一选择\nb)第二选择\nc)最后选择")然后我在numberOfLines设置为0的标签中显示这个NSAttributedString。这

swift - Codable 错误 - 预期解码 Dictionary<String, Any> 但发现了一个数组

我正在尝试借助codable解码JSON-https://pastebin.com/Xfjj2XiP但是,当我这样做时出现了这个错误。typeMismatch(Swift.Dictionary,Swift.DecodingError.Context(codingPath:[CodingKeys(stringValue:"txt_forecast",intValue:nil)],debugDescription:"ExpectedtodecodeDictionarybutfoundanarrayinstead.",underlyingError:nil))这是我使用的代码:structc

swift - 在 Swift 中结合 IF LET 和 OR

有没有一种优雅的方法可以通过or运算符组合两个iflet语句。例如,我需要检查字符串“pass”、“true”或整数1。下面的函数就是这样做的...functest(content:Any)->String{ifletstringValue=(contentas?String)?.lowercased(),["pass","true"].contains(stringValue){return"YouPassed"}ifletnumValue=(contentas?Int),1==numValue{return"YOUPASSED"}return"YouFailed"}test(con

swift - metadata?.storageReference?.downloadURL() 返回 nil

我正在尝试下载一个url以存储在我的数据库中,但Firebase中的新更新要求我使用新的方法来下载url,从而禁止我这样做。这是我的代码:letimageName=NSUUID().uuidStringletstorageRef=storage.reference().child("project_images").child("\(imageName)")guardletuplodaData=UIImageJPEGRepresentation(image,1)else{return}letuploadTask=storageRef.putData(uplodaData,metadat

swift - 使用 SceneKit 和模型 I/O 中的多个子对象、纹理、 Material 将 .obj 加载到 .scn?

我目前在Apple的SceneKit/ModelI/O中处理大型.obj文件,其中包含多个对象,每个对象都有单独的纹理和Material。这意味着我不能像许多其他表单帖子所建议的那样将一个单一的纹理应用于文件。有什么好的方法可以导入Material和贴图吗?我将我的objmtl和jpg都放在一个目录中,我也将scn场景放在该目录中。代码目前遵循这种设计,我从它各自的位置访问它,将它加载到MDLAsset中,然后将它放入SCNScene中,它被保存回一个文件,以便稍后在代码中加载。//...//Getthemeshfromtheobjobjectletasset=MDLAsset(url

iOS swift 4 : UIView in UIScrollView

我有一个带有点击手势识别器的UIImageView作为UIScrollView的subview。A.)如果UIImageViewisUserInteractionEnabled=falseScrollView工作正常(捏合缩放、滚动)但无法识别图像上的点击手势。B.)如果isUserInteractionEnabled=true我无法开始缩放或从图像滚动,但点击手势有效。我如何让它正常工作(继续滚动和缩放但识别点击内容)? 最佳答案 因为UIScrollView内部有用于处理滚动、捏合的手势,这意味着当您的UIImageView.i

swift - 检查当前 swift 4.1 中所有页面的互联网连接

只有一个viewController。我应该在didFinishLaunchingWithOptions范围内的AppDelegate.swift文件中写什么?第1部分AppDelegate.swiftfuncapplication(_application:UIApplication,didFinishLaunchingWithOptionslaunchOptions:[UIApplicationLaunchOptionsKey:Any]?)->Bool{//WHATSHOULDIWRITEINTHISSCOOPE?returntrue}第2部分viewController.swif