草庐IT

array-walk

全部标签

arrays - 如何在 swift 函数中返回一个 inout(引用)?

我想要一个返回数组引用的函数:vara=[1,2]varb=[3,4]funcarrayToPick(i:Int)->[Int]{returni==0?a:b}inoutvard=arrayToPick(0)d[0]=6println(a[0])//1println(d[0])//6我无法在arrayToPick中返回&a或&b,因为它们无法转换为[Int].如何从函数返回对a或b的引用? 最佳答案 您不能返回inout值。因为编译器不能保证值的生命周期。你有不安全的方式,像这样:vara=[1,2]varb=[3,4]funcar

arrays - 快速添加对象

所以,我正在学习如何使用JSON从数据库中获取数据,然后将数据放在某个数组中。问题出现在最后一行,citiesArray.addObject(City()),当我需要将对象city中的所有数据(id、名称、州...)入数组。我用编译器逐行查看,基本上一切都很好,除了最后,我的数组仍然是空的(它的值为nil)?for(vari=0;i 最佳答案 几个问题:您建议您尝试使用以下代码行添加城市:citiesArray.addObject(City())City()构造将实例化一个新的空白City对象。因此,在最好的情况下,该行代码会向您的

arrays - 快速添加对象

所以,我正在学习如何使用JSON从数据库中获取数据,然后将数据放在某个数组中。问题出现在最后一行,citiesArray.addObject(City()),当我需要将对象city中的所有数据(id、名称、州...)入数组。我用编译器逐行查看,基本上一切都很好,除了最后,我的数组仍然是空的(它的值为nil)?for(vari=0;i 最佳答案 几个问题:您建议您尝试使用以下代码行添加城市:citiesArray.addObject(City())City()构造将实例化一个新的空白City对象。因此,在最好的情况下,该行代码会向您的

arrays - 我怎样才能交错两个数组?

如果我有两个数组,例如letone=[1,3,5]lettwo=[2,4,6]我想按以下模式合并/交错数组[one[0]、two[0]、one[1]、two[1]等....]//prints[1,2,3,4,5,6]letcomibned=mergeFunction(one,two)print(combined)什么是实现组合功能的好方法?funcmergeFunction(one:[T],_two:[T])->[T]{varmergedArray=[T]()//WhatgoesherereturnmergedArray} 最佳答案

arrays - 我怎样才能交错两个数组?

如果我有两个数组,例如letone=[1,3,5]lettwo=[2,4,6]我想按以下模式合并/交错数组[one[0]、two[0]、one[1]、two[1]等....]//prints[1,2,3,4,5,6]letcomibned=mergeFunction(one,two)print(combined)什么是实现组合功能的好方法?funcmergeFunction(one:[T],_two:[T])->[T]{varmergedArray=[T]()//WhatgoesherereturnmergedArray} 最佳答案

arrays - 在 Swift 3 中扩展类型化数组(基本类型如 Bool)?

以前在Swift2.2中我能够做到:extension_ArrayTypewhereGenerator.Element==Bool{varallTrue:Bool{return!self.contains(false)}}用.allTrue扩展了[Bool]。例如[true,true,false].allTrue==false但是在Swift3.0中我得到了这个错误:undeclaredtype_ArrayType所以我尝试将其切换为Array并使用新关键字IteratorextensionArraywhereIterator.Element==BoolvarallTrue:Bool{

arrays - 在 Swift 3 中扩展类型化数组(基本类型如 Bool)?

以前在Swift2.2中我能够做到:extension_ArrayTypewhereGenerator.Element==Bool{varallTrue:Bool{return!self.contains(false)}}用.allTrue扩展了[Bool]。例如[true,true,false].allTrue==false但是在Swift3.0中我得到了这个错误:undeclaredtype_ArrayType所以我尝试将其切换为Array并使用新关键字IteratorextensionArraywhereIterator.Element==BoolvarallTrue:Bool{

arrays - Swift - 通过重复生成组合

我正在尝试生成一个嵌套数组,其中包含使用Apple的Swift编程语言重复的所有组合。可以在本页底部附近找到有关重复组合的详细说明:http://www.mathsisfun.com/combinatorics/combinations-permutations.html简单地说;顺序无关紧要,我们可以重复n=我们选择的事物的集合形式r=我们选择的事物的数量我想创建一个函数,该函数将生成一个嵌套数组,其中包含对n和r的任何(小)值进行重复的所有组合。如果有n=3个东西可供选择,我们选择其中的r=2个。n=[0,1,2]r=2函数combos(n:[0,1,2],r:2)的结果将是:re

arrays - Swift - 通过重复生成组合

我正在尝试生成一个嵌套数组,其中包含使用Apple的Swift编程语言重复的所有组合。可以在本页底部附近找到有关重复组合的详细说明:http://www.mathsisfun.com/combinatorics/combinations-permutations.html简单地说;顺序无关紧要,我们可以重复n=我们选择的事物的集合形式r=我们选择的事物的数量我想创建一个函数,该函数将生成一个嵌套数组,其中包含对n和r的任何(小)值进行重复的所有组合。如果有n=3个东西可供选择,我们选择其中的r=2个。n=[0,1,2]r=2函数combos(n:[0,1,2],r:2)的结果将是:re

arrays - 在 Swift 中从数组中获取随机元素

我有一个像这样的数组:varnames:String=["Peter","Steve","Max","Sandra","Roman","Julia"]我想从该数组中获取3个随机元素。我来自C#,但很快我不确定从哪里开始。我想我应该先打乱数组,然后从中选择前3个项目?我尝试使用以下扩展名对其进行随机播放:extensionArray{mutatingfuncshuffle(){for_in0..但它随后在“shuffle()”的位置说“‘()’不可转换为‘[Int]’”。为了挑选一些我使用的元素:varrandomPicks=names[0..到目前为止看起来还不错。如何洗牌?或者有人对