数组专题提供数组的最新资讯内容,帮你更好的了解数组。
一、定义数组 // 1、定义数组 //定义不可变数组:使用left修饰标识符定义出来的数组就是不可变数组 let array=["124","333","3.14"] print(array) //定义可变数组:使用var修饰标识符定义出来的数组就是可变数组. var arrayM=[String]() 二、对可变数组的基本操作 1、添加元素 arrayM.append("哈哈") arrayM
我正在Swift实现一个算法,注意到性能非常差。在深入挖掘之后,我意识到瓶颈之一就像排序数组一样简单。相关部分在这里: let n = 1000000 let x = Int[](count: n, repeatedValue: 0) for i in 0..n { x[i] = random() } // start clock here let y = sort(x) // stop
如何随机化或混洗Swift中的数组中的元素?例如,如果我的数组包括52张扑克牌,我想洗牌,以便洗牌。 这个答案详细说明了如何在Swift的各种版本中添加Fisher-Yates(快速统一)shuffle。 Swift 3版本是最宽松的,但是它们至少可以用于数组。每个Swift版本的命名和行为与该版本的mutating和nonmutating排序方法相匹配。 Swift 3.0 这些扩展添加一个sh
// MARK:--数组的定义 func demo() { // OC使用[] 定义数组,没有@符 // 自动推导数组元素类型 [String] - >表示 数组中存放的都是String类型 let firstArray = ["hello","world"] print(firs
如何扩展Swift的数组< T>或T []类型与自定义功能实用程序? 浏览Swift的API文档显示Array方法是T []的扩展,例如: extension T[] : ArrayType { //... init() var count: Int { get } var capacity: Int { get } var isEmpty: Bool
NSSet可以使用set.allObjects()转换为Array,但在新的Set(在Swift 1.2中引入)中没有这样的方法。它仍然可以通过将Swift Set转换为NSSet并使用allObjects()方法,但这不是最佳的。 您可以创建一个包含给定Swift中所有元素的数组 设置简单 let array = Array(someSet) 这是因为Set符合SequenceType协议 并且
我想把我的Swift数组account.chats通过引用chatsViewController.chats(所以,当我添加聊天到account.chats,chatsViewController.chats仍指向account.chats)。也就是说,当account.chats的长度改变时,我不希望Swift分离两个数组。 Swift中的结构体通过值传递。类通过引用传递。 Swift中的数组和
我们如何在Swift语言中创建唯一的对象列表,如NSSet& Objective-C中的NSMutableSet。 从Swift 1.2(Xcode 6.3测试版),Swift有一个本机集类型。 从发行说明: A new Set data structure is included which provides a generic collection of unique elements, wi
编辑:正如亚当华盛顿指出,从Beta 6,这段代码工作原样,所以问题不再相关。 我试图创建和迭代通过一个二维数组: var array = Array(count:NumColumns, repeatedValue:Array(count:NumRows, repeatedValue:Double())) array[0][0] = 1 array[1][0] = 2 a
我有一个字典包含UIColor对象散列的枚举值,ColorScheme: var colorsForColorScheme: [ColorScheme : UIColor] = ... 我想要能够提取这个字典包含的所有颜色(值)的数组。我想我可以使用values属性,当用于迭代字典值(在dictionary.values {…}中的值,但是这返回一个错误: let colors: [UIColor
我正在阅读Swift文档,看看关于类型转换的部分。 文档谈到从Foundation框架东西(在Objective-C中是一个NSArray *)获取一个类型为[AnyObject]的数组。 首先,文档提供了这个例子: for object in someObjects { let movie = object as Movie println("Movie: '\(movie.na
我如何做这样的事情?从数组中取前n个元素: newNumbers = numbers[0..n] 目前得到以下错误: error: could not find an overload for 'subscript' that accepts the supplied arguments 编辑: 这里是我工作的功能。 func aFunction(numbers: Array<Int>, posi
在Swift中,我试图创建一个64 SKSpriteNode的数组。我想先将它初始化为空,然后我会把Sprites放在前16个单元格,最后16个单元格(模拟一个象棋游戏)。 从我在文档中的理解,我会期望像: var sprites = SKSpriteNode()[64]; 要么 var sprites4:SKSpriteNode [64]; 但它不工作。 在第二种情况下,我得到一个错误说:“固定
我想要的Swift版本的这段代码: NSArray *sortedNames = [names sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)]; var names = [ "Alpha", "alpha", "bravo"] var sortedNames = names.sorted { $0.loca
在Swift中有一个对应的平台在Scala,Xtend,Groovy,Ruby和co? var aofa = [[1,2,3],[4],[5,6,7,8,9]] aofa.flatten() // shall deliver [1,2,3,4,5,6,7,8,9] 当然我可以使用减少为那,但是那种吸 var flattened = aofa.reduce(Int[]()){ a,i in
我想知道是否可以在POST请求中直接发送数组(不包含在字典中)。显然参数参数应该得到一个映射:[String:AnyObject]? 但我想能够发送以下示例json: [ "06786984572365", "06644857247565", "06649998782227" ] 你可以用NSJSONSerialization编码JSON,然后自己生成NSURLReques
我一直在玩不同类型的泛型类数组。最简单的解释我的问题与一些示例代码: // Obviously a very pointless protocol... protocol MyProtocol { var value: Self { get } } extension Int : MyProtocol { var value: Int { return self } } ex
在CoreData中,我定义了一个无序的对多关系。这个关系在Swift中定义如下: @NSManaged var types : NSMutableSet 但是,要使用Swift是最好的,我想使用一个普通的Swift数组,如Type []。但是,CoreData强制我使用NS(Mutable)Set。我如何输入/转换NSSet到Array< Type> []? 从Xcode 7.2与Swift 2
我对于Swift中的2D数组感到困惑。让我一步一步地描述。如果我错了,请你纠正我。 首先;声明一个空数组: class test{ var my2Darr = Int[][]() } 其次填充数组。 (例如my2Darr [i] [j] = 0,其中i,j是for循环变量) class test { var my2Darr = Int[][]() init() {
有并发的地方就存在线程安全问题,尤其是对于 Swift 这种还没有内置并发支持的语言来说线程安全问题更为突出。下面我们通过常见的数组操作来分析其中存在的线程问题,以及如何实现一个线程安全数组。 问题所在 因为无法确定执行顺序,所以并发导致的问题一般都很难模拟和测试。不过我们可以通过下面这段代码来模拟一个并发情形下导致的数据竞争问题。 var array = [Int]() DispatchQu