草庐IT

some_parameter

全部标签

arrays - 警告 "Simultaneous accesses to parameter ' self' ..."真的适用于此吗?

我为Array写了一个扩展,允许我弹出最后一个元素并立即将它添加到另一个数组:extensionArray{mutatingfuncpopLast(tootherArray:inout[Element])->Element?{guardself.count>0else{returnnil}returnotherArray.appendAndReturn(self.popLast()!)}mutatingfuncappendAndReturn(_element:Element)->Element{self.append(element)returnelement}}playground中

swift - iOS 12 SDK 通用函数返回 Optional.some(nil)

使用Xcode10,但没有迁移到Swift4.2,所以我的项目仍在使用Swift4.1运行。假设我在Dictionary上有以下扩展:extensionDictionarywhereKey:ExpressibleByStringLiteral{funcfind(key:Key)->T?{returnself[key]as?T}}我使用此函数以类型安全的方式访问hashmap中的值,例如:letdict:[String:Any]=["foo":"bar"]letfoo:String?=dict.find(key:"foo")//prints"bar"当我希望从我的find函数返回Any类

parameters - Swift 会自动克隆参数吗?

我一直在阅读在Swift上发布的iBookApple,目前正在阅读有关函数的内容。在本章中,他们讨论了inout关键字。这让我想知道:当参数作为参数传递给函数时,swift会自动克隆参数吗?如果不是,我可以创建一个等于我想传递给函数的变量的常量,然后将常量传递给它以避免在我不想的情况下改变变量吗?ex(顺便说一句,我知道整数是不可变的。我只是使用整数来保持简单。)varvariable:Int=5letconstant=variableletreturnVale=function(constant)(抱歉,如果这是一个明显的答案。我的编程经验很少。)感谢您的帮助。

ios - 对核心数据 : "Select * WHERE "attribute"== "Some string" "执行此操作

我确实设法做到了这一点,方法是制作一个带有循环的函数,该循环将属性检查为字符串。但我正在寻找一种更好的方法来做到这一点。在sql中我这样做:Select*WHERE"attribute"=="string"是否有快速完成此操作的方法?我的函数如下所示:functableData(){letobjects=retrieveValues("JobTime")//RetrieveaNSMutableArrayif!objects.isEmpty{forvarindex=0;index 最佳答案 为了在CoreData中执行获取请求,您必须

swift - 错误 : Extra parameter in request i used Swift 4. 为什么我必须传递类型为 [String : Any]? 的参数

Alamofire.request(APPURL.GetAccounts,method:.post,parameters:transactionData,encoding:JSONEncoding.default,headers:nil).responseJSON{responseDatain}我的问题是限制我只能通过[String:Any]类型的字典的原因是什么?完整代码:classfuncgetAccounts(transactionData:[String:Any]?,withCompletionHandler:@escaping(_response:AnyObject?)->(

swift - 使用字典时有人在 Playground 上看到 'some' 输出吗?

我只是在写一些简单的字典代码作为varpicCard:Dictionary=["jack":11,"Queen":12,"King":13]但是当我在Playground上访问字典中的一个条目时picCard["Jack"]输出给我:{some11}已经阅读了swift编程指南,但无法找出为什么它说“一些” 最佳答案 那些是可选的。可选的基本上是这样定义的:enumOptional{caseNonecaseSome(T)//...}可选值是Some,nil是None:varfoo:String="blah"//"blah"varba

ios - 错误 : Assigning non-escaping parameter 'publicationQuery' to an @escaping closure

我有一个像这样的ViewController:classPublicationListViewController:UIViewController{varpublicationQuery:(()->[Publication])!funcinitWith(title:String,publicationQuery:()->[Publication]){self.title=titleself.publicationQuery=publicationQuery}}为什么我会收到“将非转义参数‘publicationQuery’分配给@escaping闭包”错误?

ios - var someString = “Some String” 和 var someString : String = “Some String” , 之间的区别 var someString = “Some String” as string

谁能解释一下区别varsomeString=“SomeString”varsomeString:String=“SomeString”varsomeString=“SomeString”asStringvarsomeString=“SomeString”as!StringvarsomeString=“SomeString”as?String 最佳答案 letsomeString=“SomeString”letsomeString:String=“SomeString”对于这两个:两者之间的运行时效率差异为零。在编译期间,Swift会

parameters - 带有字符串参数的 Swift 断言

为什么在Swift中这是合法的...assert(false,"Unexpecteddiagnosis:\(diagnosis)");这不是吗?letassertString="Unexpecteddiagnosis:\(diagnosis)"assert(false,assertString);在第二个片段中,我得到了错误...Cannotinvoke'assert'withanargumentlistoftype'(BooleanLiteralConvertible,String)当然,在这两种情况下,第二个参数都是一个字符串。 最佳答案

string - swift 2 : Iterating and upper/lower case some characters

我想修改Swift字符串,将一些字符转换为大写,将另一些转换为小写。在Obj-c中我有以下内容:-(NSString*)lowercaseDestination:(NSString*)string{NSUIntegerlength=string.length;unicharbuf[length+1];[stringgetCharacters:buf];BOOLup=true;for(inti=0;i在Swift2中你会怎么做?我没有找到任何Character方法来改变大小写。可以选择1个字符的String数组吗?(然后使用String方法对每个String