草庐IT

Any-Integer

全部标签

swift - 二元运算符 '===' 不能应用于类型 'Any?' 和 'UIBarButtonItem!' 的操作数

以下代码以前可以在swift2.2编译,现在swift3.0不能编译了。我们如何解决这个问题?Error:Binaryoperator'==='cannotbeappliedtooperandsoftype'Any?'and'UIBarButtonItem!'overridefuncprepare(forsegue:UIStoryboardSegue,sender:Any?){ifsender===saveButton{//Error!//...}elseifsender===closeButton{//Error!//...}} 最佳答案

swift - 为什么非可选的 Any 可以容纳 nil?

在Swift中,我可以声明一个类型为Any的常量,然后将一个String放入其中。letany:Any="helloworld"很好。另一方面,我不能将nil值放入any,因为它不是可选的。letany:Any=nilerror:nilcannotinitializespecifiedtype'Any'(aka'protocol')letany:Any=nil^完美。但是为什么编译器允许我写下面的代码呢?letcouldBeNil:String?=nilletany:Any=couldBeNilprint(any)//nil难道Any不遵循Swift规则,即只有Optionalvar/

ios - 无法使用类型为 '[String : Any]' 的索引下标类型为 'UIImagePickerController.InfoKey' 的值

我正在使用Apple'sSwiftiOSTutorial.这是抛出错误,Cannotsubscriptavalueoftype'[String:Any]'withanindexoftype'UIImagePickerController.InfoKey'他们定义的函数如下。funcimagePickerController(_picker:UIImagePickerController,didFinishPickingMediaWithInfoinfo:[String:Any]){//Theinfodictionarymaycontainmultiplerepresentationso

cocoa - Swift 协议(protocol) : method does not override any method from its superclass

由于Xcode6仍然有很多Swift的错误,我不确定是一个错误还是我遗漏了什么。我的类采用协议(protocol)NSLayoutManagerDelegate。但似乎不可能覆盖我需要的方法。我按照文档描述的那样做:overridefunclayoutManager(_aLayoutManager:NSLayoutManager!,didCompleteLayoutForTextContaineraTextContainer:NSTextContainer!,atEndflag:Bool){}但我在这里遇到错误:方法没有覆盖其父类(superclass)中的任何方法。我该怎么办?

integer - 快速将 UInt 转换为 Int

我有这个返回UInt32的表达式:letrandomLetterNumber=arc4random()%26我希望能够在此if语句中使用数字:ifletters.count>randomLetterNumber{varrandomLetter=letters[randomLetterNumber]}这个问题是控制台给我这个Playgroundexecutionfailed:error::11:18:error:couldnotfindanoverloadfor'>'thatacceptsthesuppliedargumentsifletters.count>randomLetterNu

ios - 代码 : Any way to refresh/re-run the playground?

Xcode中的Playground会在您键入时自动更新,但我不知道如何让Playground进行“重新编译”。在许多情况下,这无关紧要,但如果您正在编写生成或使用随机值的代码,那么运行几次以确保其正常工作会很有用。有没有办法让Playground重置/刷新/重新运行?看到几个问题询问如何阻止Playground自动更新,但没有相反的问题。最简单的方法似乎就是编辑代码(添加和删除空格),或者放入某种循环...只是想知道是否有菜单快捷方式等。 最佳答案 从Xcode菜单中尝试Editor>ExecutePlayground顺便说一句,我

integer - 如何在 Swift 语言中获取某个整数的幂?

最近在学swift,但是有个基础问题找不到答案我想得到类似的东西vara:Int=3varb:Int=3println(pow(a,b))//27但是pow函数只能用于double,它不能用于整数,我什至不能通过Double(a)或a.double()之类的东西将int转换为double...为什么它不提供整数的幂?它肯定会返回一个没有歧义的整数!以及为什么我不能将整数转换为double?它只是将3更改为3.0(或3.00000...随便什么)如果我有两个整数,我想做幂运算,我怎样才能顺利完成?谢谢! 最佳答案 如果愿意,您可以声明

swift - Swift 中的 AnyObject 和 Any

我不明白在Swift中何时使用AnyObject以及何时使用Any。在我的例子中,我有一个Dictionary[String:???]???:可以是Int,Double,Float,String,Array,字典谁能给我解释一下Any和AnyObject之间的区别以及在我的案例中使用哪一个。 最佳答案 AnyObject仅适用于引用类型(类),Any适用于值和引用类型。所以你应该选择[String:Any]。TypeCastingforAnyandAnyObjectSwiftprovidestwospecialtypesforwor

c# - 面试题: . Any() vs if (.Length > 0) 测试集合是否有元素

在最近的一次采访中,有人问我.Any()和.Length>0之间的区别是什么,以及为什么我会在测试时使用其中一个来查看是否集合有元素。这让我有点震惊,因为它看起来有点明显,但我觉得我可能遗漏了什么。我建议您在只需要知道集合包含元素时使用.Length,在希望过滤结果时使用.Any()。大概.Any()也会受到性能影响,因为它必须在内部执行循环/查询。 最佳答案 Length仅存在于某些集合类型中,例如Array.Any是一种扩展方法,可用于任何实现IEnumerable的集合.如果Length存在则可以使用它,否则使用Any.Pre

c# - 自反类型参数约束 : X<T> where T : X<T> ‒ any simpler alternatives?

我经常通过向其添加自引用(“自反”)类型参数约束来使一个简单的接口(interface)变得更加复杂。例如,我可能会这样:interfaceICloneable{ICloneableClone();}classSheep:ICloneable{ICloneableClone(){…}}//^^^^^^^^^^Sheepdolly=newSheep().Clone()asSheep;//^^^^^^^^进入:interfaceICloneablewhereTImpl:ICloneable{TImplClone();}classSheep:ICloneable{SheepClone(){…