草庐IT

anyobject

全部标签

swift - 如何在 Swift 中将 Tuple 转换为 AnyObject

以下代码编译错误:Error:(112,20)type'(String,Int)'doesnotconformtoprotocol'AnyObject'funcmyMethode(){aMethodeThatICanNotChange{leta=("John",7)returna//Error:(112,20)type'(String,Int)'doesnotconformtoprotocol'AnyObject'}}funcaMethodeThatICanNotChange(closure:()->AnyObject){//dosomethingwithclosure}如何将Tupl

arrays - swift 3 结构数组 -> 转换到 NSObject -> 投回 => 崩溃

以下代码在Swift3上崩溃,谁能解释一下原因?structS{leta:Int}lett=[S(a:8)]letu:AnyObject=tasNSObjectletv:[S]=uas![S]那是因为在Swift3中,结构数组是NSObject(它不是在Swift2中)并且它无法以某种方式很好地转换为NSArray吗?为什么是NSObject?.. 最佳答案 一个可能的解决方案是使用带有可选向下转换的条件绑定(bind):ifletv=uas?[S]{/**/}不确定为什么强制向下转换不起作用。可能是NSObject发生的一些奇怪的

ios - 分配一个 [String :AnyObject] to [String:AnyObject] in Swift replaces comma with semi-colon

我有varparams=[String:AnyObject]()我有一个返回[String:AnyObject]的函数。所以,我想将其分配给params的键,如下所示:params["phoneDetails"]=getPhoneDetails()我面临的问题是,getPhoneDetails()的返回值与params["phoneDetails"]中的值不同。这是getPhoneDetails()的输出[locale:en,ostype:32bit,appversion:4.0.0,architecture:x86,version:8.1]这是params["phoneDetails

Swift 泛型与任何泛型

我阅读了苹果网站上的swift文档。有一个函数swapTwoValues,它交换两个任意给定的值funcswapTwoValues1(_a:inoutT,_b:inoutT){lettemporaryA=aa=bb=temporaryA}现在我想编写类似的函数,但我不想使用T泛型类型,而是想使用AnyfuncswapTwoValues2(_a:inoutAny,_b:inoutAny){lettemporaryA=aa=bb=temporaryA}调用我写的这个函数vara=5varb=9swapTwoValues1(&a,&b)swapTwoValues2(&a,&b)我有两个问题。

ios - 首次加载时 NSCache 不适用于所有图像

我正在使用swift3.0开发一个项目,在该项目中,我通过使用NSCache来缓存来自服务器的响应,以便将它们填充到UITableView中。但是由于某种原因,当应用程序第一次加载时,我只看到很少的图像加载,但是如果我滚动并返回,我会看到所有内容(从服务器检索响应结束我也重新加载我的tableview,但似乎并非如此)。我不确定我在这里到底遗漏了什么,下面的代码显示了我如何缓存图像。letimageCache=NSCache()varimageURLString:String?extensionUIImageView{publicfuncimageFromServerURL(urlSt

string - 无法将类型 'AnyObject?' 的值分配给类型 'String!' 的值 - Swift with Parse

将我的代码更新到swift1.2后,我停留在一点上varQuestion:String!varAnswere:String!varAnsweres:[String]!varObjectIDsArray:[String]!varButtonNumber:String!varObjectIDsArrayCount:Int!varquery:PFQuery=PFQuery(className:"AddonQuiz")query.getObjectInBackgroundWithId(QuestionID){(ObjectHolder:PFObject?,error:NSError?)->Vo

swift - 如何消除仅在 Swift 中参数名称不同的函数的歧义

我有以下功能:funcmoveThing(thing:AnyObject,toLeftlength:Int){}funcmoveThing(thing:AnyObject,toRightlength:Int){}但是,当我将其中一个函数作为参数传递时,编译器会提示“‘moveThing’的使用不明确”funcexec(function:(AnyObject,Int)->()){}exec(moveThing)//Apparentlyambiguousexec(moveThingas(AnyObject,toLeft:Int)->())//Stillambiguous如何解决歧义?

ios - Swift:将 AnyObject 与 `is` 语法进行比较

我想检查我的发件人是否是一个Xyz对象overridefuncprepareForSegue(segue:UIStoryboardSegue!,sender:AnyObject!){letsenderIsBonusProduct=senderisXyz但我得到以下错误:Couldnotfindauser-definedconversionfromtype'Int1'totype'Bool' 最佳答案 表达式senderisXyz正在返回Bool取决于是否sender类型为Xyz.似乎有一个编译器错误senderisXyz实际上返回一

ios - NSObject 和 AnyObject 有什么区别?什么时候用这两个?

我正在尝试创建一个数组来存储字符串或自定义类的数组。我最好创建一本字典吗? 最佳答案 AnyObject是Swift对Objective-C的id类型的表示。它比NSObject更通用(即每个NSObject都是一个AnyObject,但不是每个AnyObject都是一个NSObject).关于问题的另一部分-取决于您打算如何使用该结构。为泛型结构(Swift的类型化数组或字典)使用更特殊的类将使您享受强类型的好处,而使用更泛型的类型将使您更加动态。实际上,这取决于您打算使用该类做什么。

swift - 在 Swift 中存储然后转换为元类型

这个问题在这里已经有了答案:UsingaTypeVariableinaGeneric(5个答案)关闭6年前。实际上,我想要一个将返回元类型(例如:Type.Type)的协议(protocol),我可以将其传递给类,然后在需要时将对象转换为该元类型。我要转换它的原因是它将在tableView出列函数中使用,我想转换为我分配的类型。考虑这个精简版(下面是完整版)。letanyObject:AnyObject=anything()letaType=type.type()//aTypehereisA.TypeifletnewType=anyObjectas?aType{print(newTyp