草庐IT

safe-publication

全部标签

arrays - 根据变量 Swift 3 中的公共(public)值减少对象数组

我有这门课:classPost{varkey:Stringvaruid:Stringvarminutes:Intvarname:Stringletref:FIRDatabaseReference?init(key:String,uid:String,minutes:Int,name:String){self.key=keyself.uid=uidself.minutes=minutesself.name=nameself.ref=nil}我使用此类创建了一个对象数组,虽然我可以计算分钟数,但我无法计算只有具有不同uid的元素的分钟数。有人能帮我指明正确的方向吗?

arrays - 如何通过将一个数组与另一个数组进行比较来从一个数组中删除公共(public)元素

这个问题在这里已经有了答案:HowdoIfilteranarraybasedonobject'spropertywithmultipleORstatements(1个回答)关闭5年前。我有课classCardImage{varimageName:String?varimage:UIImage?varis_saved=false}我有两个数组varimagesToBeDeleted=[String]()varcardImages=[CardImage]()我想从cardImages中删除具有与imagesToBeDeleted中存在的元素相似的属性imageName的元素。额外细节:从两

ios - 混合语言(ObjC+Swift)动态框架中的公共(public)swift类导入 "private"模块

我有一个动态框架MyFramwork.framework,它有Swift代码和ObjCheader,标记为protected(在MyFramwork.framework内部使用)和公共(public)(由App在外部使用)在框架的项目中。另外MyFramwork.framework是App中的嵌入式框架按照此处提到的步骤http://nsomar.com/project-and-private-headers-in-a-swift-and-objective-c-framework/,我创建了一个moduleMyFramwork_Private{header"../...h"...ex

swift - CloudKit公共(public)数据库删除记录

假设我有一个包含公共(public)CloudKit数据库核心数据的本地缓存。使用私有(private)数据库,设备可以获得离线时发生的更改列表。如果我通过仪表板从公共(public)数据库中删除了一条记录,那么设备将如何知道这一变化?据我所知,区域和增量列表不适用于公共(public)数据库。这里有什么诀窍? 最佳答案 检测公共(public)数据库中的更改也是通过订阅处理的,但是针对cloudkit的不同方面有不同类型的订阅。如https://developer.apple.com/library/content/qa/qa19

iOS 共享扩展激活规则在不应用于 public.url 类型时触发

我有一个带有共享扩展的iOS应用程序。共享扩展使用"predicatesyntax"NSExtensionActivationRuleplist设置。这是使用的谓词字符串。SUBQUERY(extensionItems,$extensionItem,SUBQUERY($extensionItem.attachments,$attachment,ANY$attachment.registeredTypeIdentifiersUTI-CONFORMS-TO"public.url").@count==1).@count==1目标是匹配具有一个URL的内容,而不管它具有什么其他属性。不幸的是,

ios - 如何在 iOS 8 Swift 框架公共(public) API 中使用枚举

我正在尝试使用Swift或ObjectiveC创建一个可供其他iOS8应用程序使用的Swift框架。在我的一些公共(public)函数中,我需要使用枚举。当然,Swift有枚举,但这些与使用ObjectiveC的客户端应用程序不兼容。所以我尝试使用以下形式的ObjectiveC样式枚举:typedefNS_ENUM(NSInteger,MyEnumType){MyEnumTypeGreen,MyEnumTypeBlue,MyEnumTypeYellow};为了公开此枚举类型,我将此声明放在PublicEnums.h中。要从我的Swift代码访问,我需要在我的框架项目的Bridging-

公共(public)类的 Swift 初始值设定项

创建公共(public)类时,是否需要将指定的初始化器公开?公开与不公开有什么区别?例如publicclassA{init(){}}或publicclassA{publicinit(){}} 最佳答案 没有您无需将其公开。事实上,您可以将其设为私有(private)。指定初始化程序(并且您的类允许有多个)的唯一特殊之处在于它们负责确保对象被完全初始化。便利构造器(构造器要么是指定构造器要么是便利构造器)(由convenience关键字标记)没有这个责任。便利初始化器首先委托(delegate)给指定的初始化器,然后在返回后,它有机会

swift - 隐式公共(public)访问 (Bool) 内部类型 'Builtin.Int1' : runtime exception if appending instances of 'Int1' to an array

问题我知道我可能不应该摆弄内置类型,但我很好奇,Builtin.Int1类型是否真的可以公开访问,如下所示?如果是这样,为什么将它用作数组元素会导致Swift崩溃?我很好奇,因为我从来没有遇到过我自己无法存储在数组中的自定义类型(但我猜内置类型与我可以使用“构建自己的类型不同”公共(public)swift”)。我使用的是Swift2.2和Xcode7.3。详情查看swift/stdlib/public/core/Bool.swift的源代码,我们注意到我们可以隐式访问内部类型Builtin.Int1(1位整数),它构成了Swift中Bool类型的基础。publicstructBool

ios - 无法从框架 iOS Swift 访问公共(public)类

您好,我创建了一个框架,其中包含一个具有公共(public)类的swift文件。当我尝试在我已将此框架链接到的应用程序项目中使用此公共(public)类时,xcode显示没有此类。publicclassTestFrame{publicfunchello(){print("HelloWorld")}}这是我的框架中的类。首先,我为我的设备构建框架,然后将该文件链接到我的应用程序项目中的嵌入式二进制文件。然后我包含一个框架名称的导入语句,然后尝试使用这个类(在这个阶段这是不可能的)。我能够通过框架访问的唯一文件是框架的.h(头文件)。所以我需要做些什么才能在我的应用程序项目中访问这个类。

swift - 为什么公共(public)类型可以抛出一个私有(private)类型的错误?

为什么这段代码可以编译?//===============//MyStruct.swift//===============privateenumMyError:Error{caseunexpectedError}publicstructMyStruct{staticfuncthrowError()throws{throwMyError.unexpectedError}}//===============//main.swift//===============do{tryMyStruct.throwError()}catch{print(error)//"unexpectedErro