草庐IT

公共网

全部标签

公共(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

objective-c - SwiftSupport 文件夹丢失。使用当前公共(public) (GM) 版本的 Xcode 重建您的应用程序并重新提交

我想在AppStore上提交应用程序,我的应用程序有快速语音SDK库,项目在ObjC中,每当我尝试上传我的构建时,我都会收到此错误,无效的Swift支持-SwiftSupport文件夹是失踪。使用当前公共(public)(GM)版本的Xcode重建您的应用程序并重新提交。DoingEmbeddedContentContainsSwiftCode->YESintargetsetting,不起作用。 最佳答案 如果您的项目有swiftclasses/library:,请确保以下设置如下:项目/目标设置->build设置1.Defines

图论--最近公共祖先LCA

最近公共祖先LCALCA(LeastCommonAncestors),即最近公共祖先,是指这样一个问题:在有根树中,找出某两个结点u和v最近的公共祖先(另一种说法,离树根最远的公共祖先)最近公共祖先是相对于两个节点来说的,一般来说,最近公共祖先为节点u和节点v的最近的公共祖先。若u为v的祖先或者v为u的祖先,则LCA(u,v)就是作为祖先的那个节点。示例图中86和67的LCA是75,61和85的LCA也是75。以下三种方法,后两种方法比较重要,需要熟记,再求后面次小生成树有很大帮助。LCA转RMQRMQ(RangeMinimum/MaximumQuery),即区间最值查询,是指这样一个问题:对

swift - 快速实现带有内部类的公共(public)协议(protocol)

所以我正在编写一个Swift框架,我想只通过一个协议(protocol)公开一些对象。例如:publicprotocolThing:class{varx:Int{get}}我想隐藏我的实现细节,所以我制作了一个内部类:internalclassThingImpl:Thing{publicprivate(set)varx:Int=0}并通过工厂方法出售新的Things:publicfuncnewThing()->Thing{returnThingImpl()}我不明白的是为什么编译器警告我关于在ThingImpl中制作varxpublic并鼓励我在内部声明它.尽管有警告,一切都运行良好,

xcode - Swift 中具有内部原始值的公共(public)枚举

我想创建一个带有公共(public)枚举(供其他模块使用)和内部字符串原始值的类(我不希望其他模块读取原始值,但我确实想在内部读取它同一个模块)。我知道我可以创建另一个私有(private)函数来接收枚举并返回一个字符串,但我想避免这种情况。 最佳答案 我认为这是不可能的,我先尝试这样做:publicenumEmotion{caseHate=EmotionInner.Hate,Love=EmotionInner.Love}internalenumEmotionInner:String{caseHate="hate",Love="lo

swift - 具有私有(private)构造函数的公共(public) OptionSet

我有一个示例代码:publicstructMyOptions:OptionSet{publicletrawValue:Intpublicinit(rawValue:Int){self.rawValue=rawValue}publicstaticletone=MyOptions(rawValue:1在其他模块我可以做:print(MyOptions.one)print(MyOptions(rawValue:10))我如何使用私有(private)构造函数和公共(public)静态属性(如一个一个、两个)来限制手动创建? 最佳答案 你不

swift - 如何访问公共(public)常量而不必像在 C# 中那样实例化类

不需要创建类的实例来访问公共(public)常量。我最近开始使用Swift工作,所以我一定遗漏了一些东西。在这个简单的例子中:publicclassMyConstants{publicletconstX=1;}publicclassConsumer{funcfoo(){varx=MyConstants.constX;//Compilererror:MyConstantsdon'thaveconstX}}这个foo代码给出了一个编译错误。为了工作,我需要像这样创建MyConstants的实例:publicclassConsumer{funcfoo(){vardummy=MyConstan