草庐IT

l_velocity_Array

全部标签

arrays - “数组”不可用 : please construct an Array from your lazy sequence: Array(. ..)

我将Xcode更新到9beta,我已将我的代码修复为swift2。现在,我在以下代码中遇到错误“'array'不可用:请从您的惰性序列构造一个数组:Array(...)”。vardic:[String:String]=Dictionary(minimumCapacity:8)dic.values.array//error我应该怎么写而不是这段代码?Array(dic.values)这段代码正确吗?我找不到关于LazyMapCollection的Apple文档。谢谢。 最佳答案 像这样:vardic:[String:String]=D

ios - Array.map() 产生 '[T]' ,而不是预期的上下文结果类型 '[String: Any?]'

我正在编写一个扩展来桥接FirebaseDatabase和Eureka之间的字典值.privateextensionDictionary{funcfirebaseFriendlyDictionary()->[String:Any?]{returnself.map({(key:String,value:Any?)->(String,Any?)inifvalueisNSDate{return(key,(valueas!NSDate).timeIntervalSince1970)}return(key,value)})}}但是当我尝试构建时抛出这个错误:map生成“[T]”,而不是预期的上下

ios - Swift 3 Array,一次删除多个项目,使用 .remove(at : i)

是否可以同时从数组中删除多个项目,使用索引位置,如.remove(at:i)有点像:伪代码:myArray.remove(at:3,5,8,12)如果是这样,这样做的语法是什么?更新:我正在尝试这个,它起作用了,但下面答案中的扩展更具可读性和合理性,并且实现了与伪代码完全相同的目标。创建了一个“位置”数组:[3,5,8,12]letsorted=positions.sorted(by:{$1 最佳答案 如果索引是连续的,则可以使用removeSubrange方法。例如,如果您想删除索引3到5处的项目:myArray.removeSu

arrays - Swift 中 Array 的 removeLast() 和 popLast() 方法有什么区别?

Swift中Array的removeLast()和popLast()方法有什么区别?他们在做同样的事情,删除并返回数组的最后一个元素。谁能告诉我什么时候使用什么? 最佳答案 这两个方法来自AnyRandomAccessCollection,Array符合。popLast如果集合为空则返回nil。如果集合为空,removeLast会崩溃。它也有一个可丢弃的结果。 关于arrays-Swift中Array的removeLast()和popLast()方法有什么区别?,我们在StackOver

swift - array[index] 不返回可选值有什么原因吗?

我觉得array[index]应该返回一个可选值,因为索引可能超出范围。这将允许这样的代码:ifletobject=array[index]{//Dostuff}使用扩展方法很容易做到这一点,但最好知道出现这种情况的真正原因。 最佳答案 这是myfirstSwiftradars之一,它被关闭为“行为正确”。还讨论了inthedevforums.正如DaveAbrahams所指出的:Astorationale,It’seasyandverycommontohavestaticknowledgethattheindexisinrange

arrays - swift 3 : Array to Dictionary?

我有一个大数组,需要通过键(查找)访问它,所以我需要创建字典。Swift3.0中是否有内置函数可以执行此操作,还是我需要自己编写?首先,我将需要它用于一个带有键“String”的类,稍后我可能会编写一个通用的模板版本(所有类型的数据和键)。2019年注意事项。这现在只是内置于Swift5、uniqueKeysWithValues和类似调用。 最佳答案 是吗(在Swift4中)?letdict=Dictionary(uniqueKeysWithValues:array.map{($0.key,$0)})注意:如评论中所述,如果您有重复

ios - 在 swift : Difference between Array VS NSArray VS [AnyObject]

正如标题所说,ArrayvsNSArrayvs[AnyObject]有什么区别?此外,最推荐的解决方法是什么。我的意思是推荐,什么是最简单的实现。谢谢。 最佳答案 Array是一个struct,因此在Swift中它是一个值类型。NSArray是一个不可变的ObjectiveC类,因此它是Swift中的一个引用类型,并且桥接到Array.NSMutableArray是NSArray的可变子类.vararr:NSMutableArray=["Pencil","Eraser","Notebook"]varbarr=["Pencil","E

ios - Swift访问iOS通讯录 : array count of zero

我正在尝试编写一个简单的方法来请求用户访问他们的地址簿,然后打印出地址簿中每个人的姓名。我看过许多解释如何在objective-C中执行此操作的教程,但很难将它们转换为swift。这是我到目前为止所做的。下面的block在我的viewDidLoad()方法中运行并检查用户是否已授权访问地址簿,如果他们尚未授权访问,第一个if语句将请求访问。此部分按预期工作。varemptyDictionary:CFDictionaryRef?varaddressBook:ABAddressBookRef?if(ABAddressBookGetAuthorizationStatus()==ABAutho

Swift 相当于 Array.componentsJoinedByString?

在Objective-C中,我们可以调用componentsJoinedByString来生成一个字符串,其中数组的每个元素由提供的字符串分隔。虽然Swift在String上有一个componentsSeparatedByString方法,但在Array上似乎没有相反的方法:'Array'doesnothaveamembernamed'componentsJoinedByString'Swift中componentsSeparatedByString的逆运算是什么? 最佳答案 swift3.0:类似于Swift2.0,但API重命名

ios - 在 Swift 中,Array [String] 切片返回类型似乎不是 [String]

我正在对一个字符串数组进行切片并将其设置为一个[String]变量,但类型检查器报错。是否可能是编译器错误?vartags=["this","is","cool"]tags[1.. 最佳答案 用范围给数组下标不会返回一个数组,而是一个切片。不过,您可以从该切片中创建一个数组。vartags=["this","is","cool"]tags[1..=tags[1.. 关于ios-在Swift中,Array[String]切片返回类型似乎不是[String],我们在StackOverflow