草庐IT

var_value

全部标签

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 3 : What's the safest way to unwrap optional values coming from an array?

首先,我初始化变量以保存股票数据varapplePrice:String?vargooglePrice:String?vartwitterPrice:String?varteslaPrice:String?varsamsungPrice:String?varstockPrices=[String]()我从YQL中获取当前股票价格,并将这些值放入一个数组中funcstockFetcher(){Alamofire.request(stockUrl).responseJSON{(responseData)->Voidinif((responseData.result.value)!=nil)

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

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

arrays - swift 3 : Remove value in Array with Unknown index

我想在我的ShinobiDataGrid中实现多次点击。我有一个有数组的网格(["1","32",andmore])如果我单击网格,我会将其放入新数组self.arrayNr.append(currNr)。但我想检查并删除currNr是否已经存在于arrayNr中,它将从arrayNr中删除。我是新手,正在使用Swift3。我读了一些关于我的问题的问题,比如this和this但它不工作。我认为Swift2在处理String方面比Swift3更简单。有什么建议或答案对我有帮助吗? 最佳答案 您可以使用index(of来检查数组中是否存

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

ios - Swift 如何获取对象的 "pass by value"

我是Swift的新手。我创建了一个类(例如):classFraction{vara:Intinit(a:Int){self.a=a}functoString()->String{return"\(self.a)"}}我还在其他类函数中构建了一个:classfuncA_plusplus(f:Fraction){f.a++}然后在执行类中我写:varobject=Fraction(a:10)print("beforerunfunc="+object.toString())XXXclass.A_plusplus(object)print("afterranfunc="+object.toSt

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

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

ios - 错误 : Value of type string has no member componentsSeparatedByCharactersInSet

以下代码抛出以下错误:“字符串类型的值没有成员componentsSeparatedByCharactersInSet”此代码来自之前在swift版本1或2中运行但不再运行的另一个项目。importFoundationextensionString{funcsplit()->[String]{returnself.componentsSeparatedByCharactersInSet(CharacterSet.whitespaceAndNewlineCharacterSet()).filter({$0!=""});}}extensionArray{funcunique()->[T]{