2017-05-03 46 views
-4

我有一个可变数组包含其中每个索引的数组。这是我从NSUserdefaults获得可变数组值的代码。如何在iOS Swift中移除NSMutableArray中的括号?

productsMutArr = UserDefaults.standard.value(forKey: "PRODUCTSMUTARRAY") as! NSMutableArray 
    if (productsMutArr.count != 0) { 
     print("productsMutArr :",productsMutArr) 
    } 

和响应是:

productsMutArr : (
    { 
    id = 30; 
    name = Pedicure; 
    price = "13.00"; 
    "price Symbol" = "$"; 
}) 

在这里,我想名称到一个新的可变数组,所以我用这个下面的代码:

productNameMutArray.add(productsMutArr.value(forKey: "name")) 

现在我的新名字可变数组看起来像这样:

productNameMutArray : (
    (
    Pedicure 
)) 

在这里我要在名称可变数组添加更多的名字,所以我加入它是这样的:

MutArray is: (
    (
    Pedicure 
    ) 
    (
    full 
    ) 
    ) 

,但我想做出像这样格式的单个阵列:

MutArray is: (
    Pedicure 
    full 
    ) 

如何我可以在数组中删除(),()并创建一个包含对象的单个数组吗?

+0

使用Swift'Array'和'.map'。无论如何,Swift中的NSMutable ...集合类型非常糟糕。 – vadian

+0

...这看起来不像Swift。 –

+0

怎么样,你能解释一下吗?@vadian –

回答

1

尝试使用Array.flatMap:

let array = [[1, 2, 3], [4, 5, 6]] 
let new_array = array.flatMap { $0 } 
print(new_array) 
// [1, 2, 3, 4, 5, 6] 
0

在雨燕3.0:

假设我有这样的阵列。

var array1 = ["array1Element1","array1Element2","array1Element3"] 
var array2 = ["array2Element1","array2Element2","array2Element3"] 

如果我想用于可变variale上述阵列即masterArray

var masterArray = [array1,array2] 

夫特用于不可改变变量和变种的阵列。

+1

我不是downvoting,因为问题是如此不清楚,但我认为这是他们想要的相反。 –

+0

有时我们需要理解问题。因为有些人不能很好地表达问题。但是,谢谢 –