草庐IT

ANY_VALUE

全部标签

swift 错误 : cannot convert value of type B to type A in coercion

我有一个泛型类A及其子类B:classA{letx:T1lety:T2init(_v1:T1,_v2:T2){self.x=v1self.y=v2}}classB:A{init(_v:T){super.init(v,v)}}我需要一个不同对象的集合,它们都属于A的子类:vararr=[A]()但是我不能将对象放入集合中,下面的代码会导致错误:lett=B(10)arr.append(tasA)错误是:cannotconvertvalueoftype'B'totype'A'(aka'A,protocol>')incoercion如何解决这个问题? 最佳答案

swift - 苹果操作系统 : Any way to hide window title and not toolbar item labels?

我正在尝试制作一个与Apple的MacOSAppStore非常相似的应用程序,其中窗口的标题不可见,但它有一个带有图标和标签的工具栏。问题是,当我在我的窗口Controller中将窗口的标题可见性设置为隐藏时,它也会隐藏toolbarItem标签。window?.titleVisibility=.hidden我尝试明确设置工具栏以同时显示图标和标签,但它似乎忽略了这一点。toolbar.displayMode=.iconAndLabel这是设置标题可见性和未设置标题可见性的我的应用程序的屏幕截图: 最佳答案 你可以代替self.wi

swift - swift 中 Any.Type 的大小

我在获取声明为Any.Type的变量的大小时遇到​​了问题请参阅以下Playground代码:我有这个功能:funcgenericSizeMe(_:T.Type)->Int{returnMemoryLayout.size}我是这样运行的:letsize1=genericSizeMe(UInt32.self)//4letsize2=genericSizeMe(UInt16.self)//2vartype1:UInt32.Type=UInt32.selfletsize3=genericSizeMe(type1)//4vartype2:UInt16.Type=UInt16.selfletsi

ios - reloadData() fatal error : unexpectedly found nil while unwrapping an Optional value

应用程序在该行崩溃classImageValueCell:UITableViewCell,UITableViewDelegate,UITableViewDataSource{@IBOutletweakvarimagesList:UITableView!varimageArray:NSArray!overridefuncawakeFromNib(){//super.awakeFromNib()//InitializationcodeimagesList.delegate=self;imagesList.dataSource=self;imageArray=NSArray()imagesL

swift - 如何检查 Any 值是否确认通用协议(protocol),例如整数类型

是否可以动态检查一个值来确认通用协议(protocol)?我想做这样的事情:importfuncDarwin.atollfuncanyToInt(a:Any)->IntMax{ifletv=aas?IntegerType{//error!!returnv.toIntMax()}else{returnatoll("\(a)")}}这会导致编译错误并显示消息“错误:协议(protocol)‘IntegerType’只能用作通用约束...”。如果我使用了正确的静态类型,我会通过类型参数约束使用重载:funcanyToInt(a:T)->IntMax{returna.toIntMax()}fu

arrays - 上下文类型 'Any' 不能与数组文字 Swift 3 一起使用

我正在尝试将我的代码Swift2转换为Swift3,但我无法转换以下代码。当我使用Any而不是AnyObject时,出现如下错误:上下文类型“Any”不能与“items:”部分中的数组文字一起使用。当我使用AnyObject然后将“名称:”部分用作AnyObject时出现如下错误:上下文类型'AnyObject'不能与数组文字一起使用我找不到最佳解决方案。我该怎么做?varmenus:[[String:AnyObject]]{return[["name":NSLocalizedString("General",comment:""),"items":[MenuItem(icon:UII

json - 解码错误——应该解码 Dictionary<String, Any> 但发现了一个数组

我是swift编程和Xcode的新手,我尝试使用Json编码将数据库中的mysql数据调用到Xcode。我能够成功调用所有数据(数组),但是当我决定只调用一个值(列)时,说Courses.name我得到“解码错误-预期解码字典但找到了一个数组。”我该如何解决这个问题?我的目标是只打印courses.nameimportUIKitstructCourse:Decodable{letid:Stringletname:Stringletmember:String}classViewController:UIViewController{overridefuncviewDidLoad(){su

swift - "Expression resolves to an unused l-value"与 "Expression is unused"

考虑以下代码:classFoo{letbar="Helloworld!"init(){self//Warning:Expressionoftype'Foo'isunusedself.bar//Error:Expressionresolvestoanunusedl-value}functest(){self.bar//Warning:Expressionoftype'String'isunused}}为什么消息不同,为什么只有一个错误?我明白它们的意思,只是不明白为什么编译器会以不同的方式处理它们。 最佳答案 编译器之所以在初始化程序

string - 模式匹配 (Any, Any) as (String, String) 在 Switch Case 中失败

在以下代码方面需要帮助。letfirst:Any="One"letsecond:Any="Two"letvalues=(first,second)switchvalues{caselet(x,y)as(String,String):print("Success",x,y)default:print("Failure")}switchfirst{caseletxasString:print("Success",x)default:print("Failure")}---输出FailureSuccessOne---预期输出SuccessOneTwoSuccessOne演示:http://s

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来检查数组中是否存