草庐IT

lldb_private

全部标签

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

ios - 尝试 segue SWIFT 时出现 lldb 错误

我正在学习本教程http://www.raywenderlich.com/76519/add-table-view-search-swift当我遇到错误时。我正在将此功能添加到我已经在开发的应用程序中。进入booths表格View后,我希望能够使用导航栏上的按钮导航到主菜单。这是处理转场的代码部分。overridefunctableView(tableView:UITableView,didSelectRowAtIndexPathindexPath:NSIndexPath){self.performSegueWithIdentifier("BoothDetail",sender:tab

swift - LLDB 快速打印对象

我对如何使用LLDB检查swift项目中的对象感到有点困惑。在这种特殊情况下,我使用NSJSONSerializer序列化一小块JSON,我想检查值。在Xcode5.1中,这非常简单,只需在lldb提示符下键入“pojson”,我就会得到我想要的。现在命令po和print打印出大部分垃圾,使我失败。我什至尝试调用description属性,因为它适用于某些swift类型,但仍然不起作用。作为最后的手段,我使用了一个带有println语句的表达式,最终它起作用了。当然必须有更好更简单的方法吗?这是LLDB的输出:(lldb)printjson(AnyObject?)$R4=(instan

ios - Xcode 用户界面测试 : lldb error "only available on iOS 9.0 or newer"

背景我有一个相当详细的(大约2000行swift代码)自动化框架,它是用Xcode7.3和Swift为我们的iOS应用构建的。直到最近,我才能够使用lldb来构建我的框架,即插入断点并运行代码直到该点使用poXCUIApplication().debugDescription和exprblabla构建逻辑重复问题几乎是突然之间,每当在lldb的控制台中运行任何内容时,我现在都会遇到以下错误:(lldb)poXCUIApplication()error::2:1:error:'XCUIApplication'isonlyavailableoniOS9.0ornewerXCUIApplic

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

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