草庐IT

material-swift

全部标签

来自嵌套 JSON 的 Swift4 中的 JSONDecoder

使用Swift4,iOS11.1,Xcode9.1,尝试在Swift4的可解码结构中匹配JSON文件,我最终收到以下错误消息:"ExpectedtodecodeArraybutfoundadictionaryinstead."-->发现两个错别字后-还是有问题!现在的错误信息是:TheError-Messagesnowsays:intValue:Optional(5))],debugDescription:"Novalueassociatedwithkeyphotos(\"photos\").",underlyingError:nil))Coordinates-Struct中的Coor

swift - 快速了解断点和线程

我正在努力专注于Swift/Xcode中的调试和线程。我在方法的开头添加了一个断点,在调用堆栈中,我看到了对不同方法的多个引用。第一个方法用于创建UIImageView,第二个方法用于将UIImage添加到View中,第三个方法用于处理点击手势。当用户点击屏幕时,调用最后一个方法,从而调用前两个方法。这就是我在调用堆栈中看到每一个的原因吗?调用堆栈中第三个方法下方的虚线是什么?请看下面的照片: 最佳答案 您对正在发生的事情的描述是正确的,您设置的断点包括一个调用堆栈,说明您如何到达断点。在这种情况下,main线程正在监听触摸事件,当

ios - Swift 如何获得 UIScrollView 动态高度

我用谷歌搜索但没有找到可行的解决方案,我在UITextField和UIButtons中添加了UIScrollView和NSLayoutConstraint,我不使用Storyboard并以编程方式设置所有内容我的问题是:无法计算UIScrollView.contentSize的动态高度,因为我使用的是AutoLayout还尝试了UIScrollView.layoutIfNeeded()但没有成功任何人都可以指导或建议我如何让它工作吗? 最佳答案 @DonMag的评论是我问题的正确解决方案stackoverflow.com/a/449

swift - 播放声音文件时启动时出现白屏 SKAction

我正在尝试获取要在GameScene.swift文件中播放的背景声音文件。但是每当我这样做并调用run.SKAction时,屏幕都会变白并且我会听到很多静电噪音直到它崩溃。当我注释掉run.SKAction时,游戏正常开始。我尝试将文件格式更改为WAV、MP3、AAC、CAF。但同样的事情发生了。我检查了一下我是否拼错了什么,但我没有。它给我一条消息:“来自调试器的消息:由于内存问题而终止”重要说明:“waitForCompletion设置为TRUE它似乎工作正常,在配乐的开头有一点静态然后它正常播放。但是当“waitForCompletion”设置为FALSE时我得到白屏。我也有时会

swift - 完成处理程序 dispatch_async 出错?

这个问题在这里已经有了答案:HowdoIdispatch_sync,dispatch_async,dispatch_after,etcinSwift3,Swift4,andbeyond?(6个答案)关闭5年前。我在下面的函数中有完成处理程序staticfuncfetchFeatureApp(completionHandler:@escaping([AppCategory1])->()){leturlString="http://ebmacs.net/ubereats/Api/all_product?id=1"leturl=URL(string:urlString)!URLSession

ios - 围绕 x 轴旋转 BezierPath 用于 PDF 注释 Swift 4 iOS

我正在尝试使用UIBezierPath在我的应用程序中使用类型.ink注释PDF。我在下面包含了一段相关代码(可以添加整个示例,但问题仅在于旋转路径)。问题是当我应用这条路径时,它绕x轴旋转了180度,所以基本上它是上下颠倒的。我希望能够将这条路径围绕x轴旋转180度,使其看起来像最初预期的那样。我见过绕z轴旋转但没有绕x轴旋转的示例。任何帮助将不胜感激!letrect=CGRect(x:110,y:100,width:400,height:300)letannotation=PDFAnnotation(bounds:rect,forType:.ink,withProperties:n

arrays - Swift 4 Struct 按包含的参数搜索

我有一个结构数组,但我真的不知道如何使用结构参数之一进行搜索。我的结构看起来像:structActor{varname:String!varposterURL:String!init(_dictionary:[String:Any]){name=dictionary["name"]as!StringposterURL=dictionary["image"]as!String}}所以,我尝试使用谓词letactorSearchPredicate=NSPredicate(format:"namecontains[c]%@",text)filterredActors=(actorsasNSA

ios - 获取日期格式 | swift | iOS

根据要求,我的API可能会以“2018-01-01”或“01-01-2018”或“2018-01-01T00:00:00”格式返回日期如何检查日期的格式?例如:我的API响应代码“2018-01-01”应该返回“yyyy-MM-dd”等。我可以通过检查字符的长度并相应地分配日期格式来做到这一点..但我觉得这不是正确的方法。 最佳答案 您只需定义日期格式并尝试每一种格式。其中之一会成功。只要确保所有日期字符串都来自同一时区(我想它们都是UTC)并且在使用固定格式日期时不要忘记将日期格式化程序语言环境设置为“en_US_POSIX”:l

swift - 在文本字段中键入字符时 UI 元素移动

当用户选择底部文本字段时,View中的所有元素都会向上移动键盘的高度,直到用户关闭键盘。问题发生在用户选择底部文本字段之后。最初元素都正确向上移动。但是,当用户键入第一个字符时,所有元素都会向下移动到原始位置。结果,用户无法再看到他们正在编辑的文本字段。一旦用户关闭键盘,他们就会看到元素上升到它们应该在的位置,然后又回到原来的位置。我已经缩小了导致问题的范围,但我不明白为什么会这样。我的项目可以在GitHub上找到https://github.com/JMNolan/memesicle我对Swift还是很陌生,对一般的编码也很陌生,所以非常感谢所有帮助。对于不想使用GitHub的任何人

通用字典类 : cannot invoke 'removeValue' with an argument list of type '(forKey K)' 的 Swift 编译器错误

我创建了一个简单的字典类,用于跨多个线程同步访问字典。我正在使用DispatchQueue来同步从字典中读取和写入值。我正在使用泛型,以便它可以与任何字典类型一起使用K:Hashable作为键,T作为对象。这是一个类的例子:publicclassSynchronizedDictionarywhereK:Hashable{privatevaraccessQueue:DispatchQueue!privatevarinternalDict:[K:T]init(queueName:String){accessQueue=DispatchQueue(label:queueName,qos:.d