草庐IT

Private_dirty

全部标签

ios - 如何测试项目中的私有(private)或文件私有(private)函数

我想为管理器类编写一些单元测试代码,我要编写的功能是使用一些小的private函数。如果要测试public函数,我会准备很多,所以我想测试那些private函数。但是在测试目标中我不能直接调用私有(private)函数。所以我想问一下,有没有一种方法可以在不将它们从private更改为internal或public的情况下进行测试? 最佳答案 SoIwannaask,isthere'sawaytotestthemwithoutchangethemfromprivatetointernalorpublic?添加一个只调用私有(priv

swift - @_downgrade_exhaustivity_check Swift 私有(private)关键字是什么?

在浏览Swift存储库时,我遇到了那个关键字。这是什么意思?例如,来自Time.swift:publicenumDispatchTimeInterval:Equatable{caseseconds(Int)casemilliseconds(Int)casemicroseconds(Int)casenanoseconds(Int)@_downgrade_exhaustivity_checkcasenever} 最佳答案 实际的提交消息状态Implement@_downgrade_exhaustivity_checkDispatchre

swift - Swift 类中的私有(private) Var

我希望在Swift的类中声明一个私有(private)变量并使用公共(public)(实际上是内部)方法访问它。以下代码是否正确?classsomeClass{//Usingunderscoreheretodistinguishvariableandmethodprivatevar_privateArray:[String]...funcprivateArray(){return_privateArray}funcsetPrivateArray(someArray:[String]){_privateArray=someArray}}我想使用上面的原因是因为我想在任何子类中使用数组,但

swift - 如何使用私有(private)集扩展协议(protocol)?

我正在编写一个带有只读标签的协议(protocol)。我想扩展它并给它一个默认实现,其中符合类型是UITextView。代码:protocolCountingView{varkeyboardLabel:UILabel{get}}extensionCountingViewwhereSelf:UITextView{varkeyboardLabel:UILabel{get{letlabel=UILabel()label.textColor=UIColor.whitelabel.translatesAutoresizingMaskIntoConstraints=falsereturnlabel

Swift - 如何声明私有(private)嵌套结构?

我想让我的代码更具可读性,所以我决定制作一些重复的字典键,软编码...所以我创建了一个新的.swift文件,里面有2个结构:structDatabaseTableNames{letPhoto=PhotoTable()}privatestructPhotoTable{letlowQuality="lowQuality"lethighQuality="highQuality"letnumberOfLikes="numberOfLikes"}所以我有我要使用的初始结构和第二个结构,我不希望它在文件范围之外可见......事情是,它说PhotoDatabaseTableNames结构的属性,需

swift - 为什么要在模型中使用私有(private)变量?

我在一个在线视频中找到了这个例子,但我无法真正理解它的重要性以及幕后发生的事情:classPerson{privatevar_name:String!varname:String{return_name}init(name:String){_name=name}}在视频中,他提到私有(private)变量是为了防止类操纵数据,但我不明白为什么这会成为一个问题,以及它是如何发生的。有人可以像我5岁一样向我解释一下吗?感谢帮助 最佳答案 Cansomeonepleaseexplainthistomelikei'm5?好的,我五岁的fri

swift - 如何使用 Swift 协议(protocol)扩展来创建可以修改私有(private)属性的共享代码?

假设场景:有类:ClassA;和ClassB。两者都实现了ProtocolC,其中包含单一要求funccreateKey()。ProtocolC有一个extension实现了createKey()因为关于这个函数,ClassA和ClassB是相同的。但是,createKey()的实现需要访问ClassA和ClassB都包含的名为uniqueKey的私有(private)变量,其值在两个类中需要不同(如您所想)。ProtocolC中createKey()的extension因此变得无用-因为变量是fileprivate-这意味着它的代码有在ClassA和ClassB中复制。但重复代码是编

swift - 拥有@objcMembers 私有(private)动态变量时@objc 冗余?

因此,我将Realm与Swift一起使用,并使用@objcMembers关键字标记我的类,但是当我尝试创建一些私有(private)变量时,Xcode强制我在这些私有(private)变量旁边添加@objc。这是有意的行为吗?对我来说似乎是多余的。@objcMembersclassMyObject:Object{@objcdynamicprivatevartext:String=String()@objcdynamicprivatevaryoutubeLink:String=String()@objcdynamicprivatevarcount:Int=0dynamicvarisFav

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

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

swift - 私有(private)属性的命名约定

我见过下划线用作私有(private)属性的前缀privatevar_aPrivateVar:String="Iamprivate"我见过他们没用过privatevaraPrivateVar:String="Iamprivate"在语法上,这没有区别,我偏好是不使用它们。但是,Swift中公认的惯例是什么,以便我养成正确的习惯? 最佳答案 在此SwiftGuidestyle,你可以找到类似的引用:privatevarcenterString:String{return"(\(x),\(y))"}在TheswiftProgrammin