草庐IT

swift-keypath

全部标签

ios - 如何使用 Swift 在我的 iOS 应用程序上存储持久数据?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭6年前。Improvethisquestion我正在开发一个iOS应用程序,它将从事件的RSS提要中解析XML,并在表格View上显示每个事件的详细信息。每个事件都有标题、描述(可选)、日期和时间。我能够使用NSXMLParser解析XML数据;但是,我不确定我应该如何存储数据并使其在应用程序关闭后仍然存在。我读过我可以使用NSCoder来保存数据,但我不确定这是否是最好的前进路线。有没有人对我能做什么有任何想法或建议?感谢任何帮助。

Swift SpriteKit 使用 struct 而不是 class 来渲染 Sprite

我最近一直在更新我的游戏以使用更多的值类型。在某些情况下,我对weak和unowned仍然不是100%有信心,所以我采用结构方式来避免强引用循环。根据apples较新的主题演讲,值类型似乎是大多数情况下的方法。我从未见过在spriteKit游戏中使用结构来渲染Sprite的示例,所以我想知道有什么缺点。我知道它们是复制的而不是引用的,但对于我的使用来说它似乎有效。所以基本上我在做这个的时候有什么需要注意的地方structFlag{letpost:SKSpriteNodeletflag:SKSpriteNodeinit(postImage:String,flagImage:String)

objective-c - 查找枚举的未使用案例 (Objective-C/Swift)

我们刚刚将iOS项目中的几千个本地化字符串从旧的struct迁移到枚举。我们现在想找到任何未使用的。我正在寻找一种方法来查找在我的项目中未在任何地方使用的enum的任何情况,而不是一个一个地在项目中搜索它们。我们有Objective-C和Swift版本的字符串,所以两者都可以。有什么想法吗? 最佳答案 关于您唯一的选择是注释掉每个枚举值并查看哪些导致错误。没有使用的那些。如果您有很多枚举值,请以10或15个为一组将它们注释掉。进行编译。扫描错误并取消注释错误中报告的值。这会将未使用的枚举值注释掉。

ios - 基于 Swift SpriteKit 更改背景图像分数

我正在使用Swift和SpriteKit开发游戏。我希望背景在一定分数下发生变化。这是代码:classGameScene:SKScene{varbg=SKSpriteNode()overridefuncdidMoveToView(view:SKView){makeBg()}funcmakeBg(){letbgTexture=SKTexture(imageNamed:"img/bg.png")letmoveBg=SKAction.moveByX(-bgTexture.size().width,y:0,duration:9)letreplaceBg=SKAction.moveByX(bgT

swift - 将 UIImage 复制到粘贴板

我正在制作自定义键盘扩展。我希望人们能够使用粘贴板功能从键盘发送贴纸。但是这段代码UIPasteboard.GeneralPasteboard().image=image;不会将贴纸复制到粘贴板吗?有人知道swift2.0的正确代码吗? 最佳答案 你可以试试这个:UIPasteboard.generalPasteboard().setValue(image,forPasteboardType:"public.image") 关于swift-将UIImage复制到粘贴板,我们在StackO

ios - Swift/如何将字符串添加到方法以使其通用

我有以下代码来处理滑动手势。importFoundationextensionUIViewController{funchandleSwipes(sender:UISwipeGestureRecognizer){if(sender.direction==.Right){self.performSegueWithIdentifier("eventsModally",sender:self)}}}我调用这个方法:letrightSwipe=UISwipeGestureRecognizer(target:self,action:Selector("handleSwipes:"))rightS

ios - 按下按钮时播放随机声音 Swift 2.0

我已经完成了应用程序的所有代码,除了这个:我想让一个按钮在按下时播放随机声音文件。我找到了下面的代码,它编译了但是按钮,当按下时,它什么都不做。有人可以看看它,看看有什么问题吗?在模拟器中播放应用程序时出现超时错误。您可以在下面找到代码:importAVFoundationimportUIKitclassViewController:UIViewController{@IBOutletweakvarmainButton1:UIButton!//PUTSOUNDSASSTRINGSINARRAYvararrayOfSounds=["sound1","sound2","sound3","s

swift - 如何在 Swift 中正确执行 Nil Coalescing?

应该这样做varinputField=UITextField()letdefaultText="PLACEHOLDER"letnewText=inputField.text!.isEmpty?defaultText:inputField.text!letnewText2=inputField.text??defaultTextnewText有效,并输出PLACEHOLDER。但是newText只在Swift的预览栏中显示""为什么?如何正确处理? 最佳答案 ""和nil有很大区别。您的text属性为空,但不是nil。(它实际上等于字

swift - 从镜像反省如何改变 child 的值(value)观

我在iOS中做了很多BLE,这意味着很多紧凑的C结构被编码/解码为字节数据包。以下playground片段说明了我一般尝试做的事情。importFoundation//THEPROBLEMstructThing{vara:UInt8=0varb:UInt32=0varc:UInt8=0}sizeof(Thing)//-->9:(varthing=Thing(a:0x42,b:0xDEADBEAF,c:0x13)vardata=NSData(bytes:&thing,length:sizeof(Thing))//-->:(因此给定一系列不同大小的字段,我们无法获得“最紧密”的字节打包。相

Swift 为什么我的生成器协议(protocol)扩展不起作用?

我觉得我对Swift类型/协议(protocol)/泛型的认知已经溢出了。我一直在使用扩展“输入流字节”的模式,方法如下:extensionGeneratorTypewhereElement==UInt8{funcfoobar(){...}}它在过去适用于简单的东西。今天我正在玩以下游戏:protocolUnpackable{staticfuncunpack(inoutinput:IndexingGenerator)->Self}extensionUInt8:Unpackable{staticfuncunpack(inoutinput:IndexingGenerator)->UInt8