草庐IT

lldb_private

全部标签

swift 。在内部协议(protocol)中声明私有(private)函数

我怎样才能实现这样的目标(不编译):internalprotocolInternalPrivateMix{privatefuncdoPrivately()internalfuncdoInternaly()}基本上我想做出一个promise,确认类私下实现了一些功能。这更适用于self记录。我显然可以在我的类中实现这些功能,而无需正式遵守协议(protocol)并编写描述每个类都应实现此功能的文档。如果我能更正式地向其他开发人员传达我的意图,那就太好了。编辑:我尝试在一个文件中实现两种协议(protocol),一种是私有(private)的,一种是内部的,如@creeperspeak所建

Swift 3 从扩展访问结构中的私有(private)属性

我一直在浏览swift文档并研究一些关于封装的示例,但不确定我所看到的行为。我在堆栈上寻找过类似的问题,浏览了文档并浏览了一些教程(参见下面的链接),虽然这是一个微不足道的问题但找不到答案(可能是因为Swift已经改变了吗?)创建一个表示队列的简单结构:structQueue{privatevarelements=[Element]()mutatingfuncenqueue(newElement:Element){elements.append(newElement)}mutatingfuncdequeue()->Element?{guard!elements.isEmptyelse{

swift - 使用 Swift 和 lldb 设置符号断点

使用Swift时如何在lldb中设置符号断点?例如,有时我使用:(lldb)bset-F'-[UIView(AdditionalLayoutSupport)updateConstraintsIfNeeded]'但这不再有效:Breakpoint2:nolocations(pending).WARNING:Unabletoresolvebreakpointtoanyactuallocations.我也试过(lldb)bset-F'UIView.updateConstraintsIfNeeded()'(lldb)bset-F'UIView.updateConstraintsIfNeeded

swift - NSTimer 不会调用私有(private)函数作为选择器

我正在研究要点:PasteboardWatcher.swift我在其中调用了一个NSTimer对象,如下所示:funcstartPolling(){//setupandstartoftimertimer=NSTimer.scheduledTimerWithTimeInterval(2,target:self,selector:Selector("checkForChangesInPasteboard"),userInfo:nil,repeats:true)}checkForChangesInPasteboard函数的定义是:funccheckForChangesInPasteboard

swift - 使 NSObject 子类的 init() 私有(private)

类FooClass应该只允许通过其sharedInstance进行交互。我试图通过不允许任何人访问FooClass的init()来防止滥用。我尝试了几种不同的方法,但都不起作用:使用私有(private)关键字:classFooClass:NSObject{//singletonstaticletsharedInstance=FooClass()letvalue:Stringprivateoverrideinit(){self.value="asdf"}}//thisshouldbeacompileerror,butitisnotletfoo=FooClass()使用@availabl

由于私有(private)保护级别,Swift 初始值设定项无法访问

我正尝试在Swift中创建一个单例,但出现此错误:initializerisinaccessibleduetoprivateprotectionlevel这是我的代码(单例类)classmySingleton{privateinit(){}staticletsharedInstance=mySingleton()varnumbers=0funcincrementNumberValue(){numbers+=1}}这是我调用单例的地方:overridefuncviewDidLoad(){super.viewDidLoad()letsingle=mySingleton().sharedIn

xcode - 如何交互地玩 Xcode lldb swift repl 中的对象?

假设我有一个小程序,涉及从数据库中选取文档:leterrorDatabase=NSError(domain:"dk.myproject.couchbase",code:0,userInfo:nil)letrev=database.existingDocumentWithID("_design/"+designDocName)//inxcodeIsetabreakpointhereassert(rev!=nil)ifrev==nil{promise.failure(errorDatabase)}然后我插入一个断点,运行程序然后可以做:(lldb)porev0x00007fad21df61

objective-c - 如何从 Swift 扩展访问 Objective-C 类的私有(private)成员?

我正在尝试在Swift中扩展一个Objective-C类并使其符合Equatable协议(protocol)。这需要访问扩展类的一些private成员,编译器不允许我这样做。不公开私有(private)成员的正确方法是什么?我的Swift代码:importFoundationextensionShortDate:Equatable{}publicfunc==(lhs:ShortDate,rhs:ShortDate)->Bool{if(lhs.components.year==rhs.components.year)&&(lhs.components.month==rhs.compone

swift - 如何将计算属性的 'setter' 设置为私有(private)?

我知道如何将存储属性的“setter”设置为私有(private)(例如publicprivate(set)varname:String="John")但是我们如何设置一个存储属性的“setter”计算属性(property)私有(private)?在本例中,变量“age”的“setter”。当我尝试将关键字private放在set(newAge){}前面时,XCode显示错误。那么是否可以将计算属性的“setter”设置为私有(private)?publicclassPerson{publicprivate(set)varname:String="John"varage:Int{ge

swift - 如何在 Swift 中为私有(private)枚举编写一个 equal 方法

我是Swift的新手,正在尝试编写一个符合Equatable的私有(private)枚举。这是我的代码的简化表示:classBaz{/*OthermembersinclassBaz*/privateenumTest:Equatable{caseFoocaseBar}privatefunc==(lhs:Test,rhs:Test)->Bool{//comparison}}在“==”方法这一行,编译器提示“运算符只允许在全局范围内使用”。当我将enumTest和“==”方法更改为public,然后将“==”移出类时,错误就消失了。我的问题是为私有(private)枚举实现“==”方法的正确