草庐IT

anyobject

全部标签

ios - [NSObject : AnyObject] and AnyObject in swift 有什么区别

在默认模板中我们可以找到以下代码:funcapplication(application:UIApplication,didFinishLaunchingWithOptionslaunchOptions:[NSObject:AnyObject]?)->Bool只是想知道为什么这里是[NSObject:AnyObject]?而不是AnyObject?它们有什么不同? 最佳答案 [NSObject:AnyObject]是一个字典,允许您通过提供不同的对象来访问一个对象。简单地说AnyObject意味着你的程序不知道参数是字典、字符串还是

swift - If Let Error - 条件绑定(bind)的初始化程序必须具有可选类型,而不是 '[NSObject : AnyObject]'

这是我的代码。PFUser.logInWithUsernameInBackground(email,password:password){(user:PFUser!,error:NSError!)->Voidinifuser!=nil{PushNotication.parsePushUserAssign()ProgressHUD.showSuccess("Welcomeback,\(user[PF_USER_FULLNAME])!")self.dismissViewControllerAnimated(true,completion:nil)}else{ifletinfo=error.

swift - 无法使用类型为 'map' 的参数列表调用 '([AnyObject],(_) -> _)'

我在swift1中这样写了一个方法:publicvararray:[JSON]?{get{ifself.type==.Array{returnmap(self.objectas![AnyObject]){JSON($0)}}else{returnnil}}}当我安装Xcode7.2(swift2)时,这个方法给我这样的错误:无法使用“([AnyObject],(_)->_)”类型的参数列表调用“map”现在我想知道那个问题是什么? 最佳答案 不要使用强制转换,而是在数组上调用map,因为该函数已在Swift2中移动return(se

swift - 如何区分 XCode 9 中的 AnyObject(或 Int)类型 - 新的 Swift 编译器

我需要检查给定Int(或Int16或UInt8)值的AnyObject的类型,即在Xcode8中——切换对象,用例:是Uint8,是Int16,是Int可以正常工作。在Xcode9中-它总是输入第一个可能为真的情况。这是Playground的代码示例:vart1:AnyObject?vart2:AnyObject?t1=30asAnyObjectt2=Int16(30)asAnyObjectifletobj1=t1{switchobj1{caseisUInt8:print("UInt8")caseisInt16:print("Int16")caseisInt:print("Int")d

ios - 在 Swift 4 中将 AnyObject 作为通用 T 参数传递

我有一个有趣的问题:classListCache{publicfuncgetCachedList()->[T]?{//loadslistfromfilecacheusingCodable}}假设我有Foo类:classFoo:Codable{varbar=""}现在,我可以做这样的事情:letarray:[Foo]=ListCache().getCachedList()但我不能这样做:varlistsToLoad:[AnyClass]=[Foo.self]letclazz=listsToLoad[0]letarray:[Codable]=ListCache().getCachedLis

ios - [AnyObject] 数组的 swift indexOf

尝试获取数组的索引([AnyObject])。我缺少的部分是什么?extensionPageViewController:UIPageViewControllerDelegate{funcpageViewController(pageViewController:UIPageViewController,willTransitionToViewControllerspendingViewControllers:[AnyObject]){letcontroller:AnyObject?=pendingViewControllers.firstasAnyObject?self.nextIn

ios - 将原始数据 "AnyObject?"转换为 NSData 或字符串

过去几天我一直被困在这个问题上,并且在Stackoverflow和网络上阅读了无数帖子,但我仍然有点迷茫。(顺便说一下,我是Swift的新手)。我有以下代码Alamofire.request(.GET,"url").response{(请求,响应,数据,错误)在printIn(数据)}这会在控制台中打印出一长串数字,非常完美,正是我所需要的。但是我现在想遍历这些并获取特定索引处的数字,所以想将其转换为字符串或NSData。我尝试了很多不同的方法,但还没有找到如何做到这一点,如果有人能帮助我,我将不胜感激。我试过用Alamofire.request(.GET,"url").respons

ios - swift 设计模式。为什么他们包括 Any, AnyObject

我最近从常规objc转向了Swift。是的,我知道如何使用Any和AnyObject。但我很好奇为什么Apple决定使用AnyObject和Any。为什么好呢?它在解决什么问题?它节省了多少开发人员时间? 最佳答案 为了与现有的Cocoa库向后兼容。NSDictionary、NSArray等类不会对包含的所有对象强制类型。在Obj-C中还有id,它是指向任何Obj-C对象的指针。 关于ios-swift设计模式。为什么他们包括Any,AnyObject,我们在StackOverflow上

swift - 如何修复错误 "Can' t 使用类型为 ((AnyObject!, NSError!) -> Void) 的参数列表调用 'findObjectInBackgroundWithBlock'

对于下面的代码,获取Can'tinvoke'findObjectInBackgroundWithBlock'withanargumentlistoftype((AnyObject!,NSError!)->Void)错误并且无法运行解析查询背景。有什么想法吗?vardata=Query.findObjectsInBackgroundWithBlock({(object:AnyObject!,error:NSError!)->Voidin}) 最佳答案 如果您使用的是swift1.2(Xcode6.3),您需要通过以下方式调用函数:va

swift - 从 '[NSObject : AnyObject]?' 转换为无关类型 'NSDictionary' 总是失败

这一行letuserInfo=notification.userInfoas!NSDictionary我收到警告:Castfrom'[NSObject:AnyObject]?'tounrelatedtype'NSDictionary'alwaysfails我尝试使用letuserInfo=notification.userInfoas!Dictionary替换letuserInfo=notification.userInfoas!NSDictionary.但我得到一个错误:Expected'>'tocompletegenericargumentlist.如何修复警告。Xcode7.1O