草庐IT

another_var

全部标签

ios - 内存管理 : retain cycle with weak var, 无主的非保留周期。为什么?

长话短说我有一个结构和一个类。该结构具有对该类实例的引用,并且该对象具有捕获该结构的闭包。如果对对象的引用是unowned,那么它们似乎都被取消了初始化。如果对对象的引用弱,它们会相互保留。为什么?我有一个可以相互引用的结构和一个类,我试图找出保留循环和打破它们的方法。所以我在playground上玩了一会儿。给定这段代码:structA{unownedvarb:Binit(b:B){self.b=b}funcsetup(){print("Asetup")b.didSomethingClosure={print("A:bdiddosomething")self.printSomethi

ios - Swift:使用 `var` 会导致编译器警告,使用 `let` 会导致编译器错误?

我已经定义了一个CanStack协议(protocol)和一个名为Item的关联类型:CanStack.swift//protocoldefinitionprotocolCanStack:ExpressibleByArrayLiteral,CustomStringConvertible{associatedtypeItemvaritems:[Item]{get}init()mutatingfuncpush(_items:[Item])mutatingfuncpop()->Item?}//protocolextension(defaultbehavior)extensionCanStac

ios - Swift.Extensions var 和 func。哪一个更好?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭6年前。Improvethisquestion我是初学者。这是代码extensionDouble{funcabs1()->Double{return(self>0)?self:-1.0*self}varabs2:Double{return(self>0)?self:-1.0*self}}我想知道,abs1()函数和abs2变量有什么区别,它们是如何工作的,哪个更好?

arrays - 如果 var 似乎在 Swift 中深度复制数组。如果让?

在Swift3.0中,下面的代码为thisArray[0]提供了不同的地址,表明该数组被深度复制。事实确实如此,还是我在分析中遗漏了什么?iflet的行为是否相同?它可能与iflet无关,因为它是不可变的...varthisArray:[String]?=["One","Two"]withUnsafePointer(to:&thisArray![0]){print("thisArray[0]hasaddress\($0)")}ifvarthisArray=thisArray{withUnsafePointer(to:&thisArray[0]){print("thisArray[0]h

ios - 了解 Swift 中的 `var status = (string: statusVal as NSString)` 变量声明

我在一个编译执行成功的项目中找到了如下代码。但我无法理解它是如何工作的。我尝试使用各种搜索短语对其进行谷歌搜索,但找不到解释。letstatusVal="Somestring"varstatus=(string:statusValasNSString)有人可以澄清第二行发生了什么吗?根据我对Swift的了解,第二行应该是这样的varstatus=NSString(string:statusValasNSString)当然也可以编译。 最佳答案 虽然,它只是一个只有一个元素的元组varstatus=(abcdefg:"abc")abc

swift - Swift 中的 var 和 weak var 有什么区别

这个问题在这里已经有了答案:ExplanationofstrongandweakstorageiniOS5(6个答案)关闭7年前。Swift中的var和weakvar有什么区别?

swift - Swift 在使用 var 时是否有二次字符串连接?

IntheSwiftLanguageReference,underStringMutability它说:YouindicatewhetheraparticularStringcanbemodified(ormutated)byassigningittoavariable(inwhichcaseitcanbemodified),ortoaconstant(inwhichcaseitcannotbemodified)我不清楚可变的“它”是变量还是值。例如,如果我写:vars=""foriin0...100{s+="a"}这是否类似于创建一个NSMutableString并调用appendS

swift - 为什么 "var delegate: UIApplicationDelegate?"在 UIApplication 中成为可选项?那会是 fatal error 吗?

如果delegate属性曾经是nil,应用将处于不可恢复的状态。classUIApplicationDeclarationunowned(unsafe)vardelegate:UIApplicationDelegate?DiscussionEveryappmusthaveanappdelegateobjecttorespondtoapp-relatedmessages.Forexample,theappnotifiesitsdelegatewhentheappfinisheslaunchingandwhenitsforegroundorbackgroundexecutionstatus

swift macOS : How to paste into another application

我正在使用swift为MacOS10.10+编写辅助应用程序。我需要能够将通用NSPasteboard中的内容粘贴到之前处于事件状态的应用程序中。只是为了更加清楚:我需要粘贴到另一个应用程序中。它应该像这样工作:用户正在使用一些随机应用由于用户因残疾无法按cmd+v,他们做了一个激活我的应用程序的手势(这部分已经完成,不在这个问题的范围内)我的应用程序变为事件状态,现在我需要在用户之前使用的应用程序中模拟粘贴操作。这是我不知道该怎么做的一点。最后,之前激活的应用需要再次激活。请记住,该应用程序将被提交到AppStore。 最佳答案

ios - 具有默认值的 Swift public var 并为该默认值运行 didSet

这个问题在这里已经有了答案:IsitpossibletoallowdidSettobecalledduringinitializationinSwift?(9个回答)关闭6年前。我的Swift类是下面的简单代码:classFavoriteView:UIView{requiredinit?(coderaDecoder:NSCoder){super.init(coder:aDecoder)commonInit()}overrideinit(frame:CGRect){super.init(frame:frame)commonInit()}convenienceinit(){self.ini