草庐IT

swift - 核心数据 : How do I store a custom object as a transformable attribute?

目前我有一个名为Place的类定义如下:classPlace{letname:Stringletaddress:Stringletcoordinate:CLLocationCoordinate2Dlettype:StringvarphotoReference:String?varphoto:UIImage?/*functionsetc*/}在我的数据模型中,我有一个名为FoundPlaces的实体。它有一个属性place,类型为“transformable”。我快要发疯了,试图找到存储此对象的Swift解决方案。开头的数据模型是不是错了?任何指导表示赞赏。谢谢!

ios - 在 "as!"之后发送类类型作为参数

我需要将作为参数发送给函数的ViewController作为特定类的VC“读取”。所以我需要类似的东西(我们也从函数参数中得到一个类):letvc=vc_from_func_argsas!type_from_func_args我可以传递一个类让我们说isMemberOfClass()这样做:letklass:AnyClass=MyClass.selfvc.isMemberOfClass(klass)但我不能用“as”表达式做同样的事情。它给我一个错误:klassisnotatype我们如何在“as”之后将类(类型?)作为变量传递? 最佳答案

swift - Swift 中 Lazy var 和 var as-a-closure 的区别

我创建了一些示例项目来测试各种类型的变量实现,以测试哪些只执行一次,哪些每次调用都执行classSomething:NSObject{varclock:Int=0overridevardescription:String{letdesc=super.descriptionclock+=1return"\(desc)Clock:\(clock)"}}staticvarstaticVar:Something{print("staticVar")returnSomething()}staticvarstaticVar2:Something={print("staticVarII")retur

Swift 和 SpriteKit : Move two sprites as one cohesive unit?

是否可以在Swift中将两个Sprite作为一个整体移动?假设我们有两个矩形。我们如何确保两个矩形一起移动,就像它们形成一个Sprite一样?现在,我们在同一runBlock内对两个Sprite使用moveTo,为两个Action赋予相同的属性(例如,计时模式、持续时间)。有更好的方法吗? 最佳答案 您可以将两个节点添加为SKNode实例的子节点,然后只需移动父节点:letrectNode1=SKShapeNode(rect:aRect)letrectNode2=SKShapeNode(rect:aRect)letparentNod

c++ - swift 3 中是否有等效的 c++ shared_ptr?

我知道swift3中的强引用(默认)和弱引用(使用weak关键字),但是是否有等效的共享引用?谢谢 最佳答案 Swift中的内存管理范式与C++不同,因为它继承了Objective-C的保留-释放机制(通过ARC)。如您所料,C++的解决方案减少了编译器的责任,更具表现力和优化,但使用起来也更复杂。因此,回答您的问题:strong(默认)基本上像shared_ptr一样工作,weak就像weak_ptr和unique_ptr没有直接的等价物。但是,如果编译器能够保证指针的唯一性(例如,您在同一范围内创建和销毁对象-就像函数的主体-而

ios - swift 3 Xcode : How to display battery levels as an integer?

我正在制作一个使用Swift读取电池百分比的应用程序!现在我的输出是这样的:61.0%或24.0%或89.0%我要修复的是摆脱.0,所以它是一个Int。到目前为止,这是我的代码:importUIKitclassViewController:UIViewController{@IBOutletweakvarinfoLabel:UILabel!varbatteryLevel:Float{returnUIDevice.current.batteryLevel}vartimer=Timer()funcscheduledTimerWithTimeInterval(){timer=Timer.sc

ios - `Protocol can only be used as a generic constraint because it has Self or associated type requirements` 问题

我正在尝试生成一个符合协议(protocol)Protocoling的ViewModel,该协议(protocol)是通用的,并且具有关联的类型。有几个ViewModel符合协议(protocol),所以我正在尝试为viewModel创建一个工厂。我在Swift中遇到了以下错误:Protocol只能用作泛型约束,因为它有Self或关联类型要求示例代码:protocolProtocoling{associatedtypemodulingTypevardata:modulingType{get}}enumMyTypes{casemyNamecasemyAddress}classNameVi

swift - Swift语法中的 "as"有什么作用?

最近我偶然发现了一个我找不到引用的语法:as在Swift语法中是什么意思?喜欢在:vartouch=touches.anyObject()asUITouch!不幸的是,很难搜索到像as这样的词,所以我没有在Apple的Swift编程语言手册中找到它。也许有人可以引导我到正确的段落?为什么as之后的元素总是有一个!来表示展开一个Optional?谢谢! 最佳答案 askeyword用于将一个对象转换为另一种类型的对象。为此,类必须可转换为该类型。例如,这个有效:letmyInt:Int=0.5asInt//Doubleisconver

ios - Swift 函数范围 - 引用 self (意味着 "self as the enveloping function")

采用这个基本函数:funcsampleFunction(){print(self)}这里self指的是包含它的class实例,而不是-可能更有意义-包含它的function.如何获取对封装函数而不是其封装类实例的引用?理想情况下,我希望做这样的事情:funcsampleFunction(value:Int){print(selfAsEnvelopingSampleFunction,value)} 最佳答案 如果要打印函数名,可以使用__FUNCTION__print(__FUNCTION__)在您的print语句中,否则只需使用sa

ios - 核心数据 : should I be fetching objects from the parent context or does the child context have the same objects as the parent?

我对ManagedObjectContext的父/子上下文有点困惑。当我设置子上下文并设置父上下文时,子上下文是否包含父上下文的所有对象?我正在使用在AppDelegate中创建的常用CoreData方法,但我将ConcurrencyQueue更改为main。在我应该更新数据库的方法中:创建子上下文,设置父上下文对子上下文执行阻塞从父上下文中获取在子上下文中创建或更新对象在子上下文中调用保存有通知监听器来处理子上下文保存保存父上下文我的问题是,看起来我没有将任何内容保存到子上下文中。我没有收到Update或CreateChatMessage的println消息。我在这里做错了什么?Ap