Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift ios将数据和字符串存储在数组中_Ios_Arrays_Swift_Tuples - Fatal编程技术网

Swift ios将数据和字符串存储在数组中

Swift ios将数据和字符串存储在数组中,ios,arrays,swift,tuples,Ios,Arrays,Swift,Tuples,我想知道是否可以在数组中同时存储数据和字符串? 我需要一种方法将用户挑选的图像和图像名称一起存储在一个数组中,以便稍后在上传时将其附加到API请求中 现在我正在使用一个数组元组,稍后我会将数据和字符串附加到该数组元组中 var imgArray = [(Data, String)]() 然后我向数组元组添加数据,如下所示: if let firstImage = self.firstImage { if let firstImageData = firstIma

我想知道是否可以在数组中同时存储数据和字符串? 我需要一种方法将用户挑选的图像和图像名称一起存储在一个数组中,以便稍后在上传时将其附加到API请求中

现在我正在使用一个数组元组,稍后我会将数据和字符串附加到该数组元组中

var imgArray = [(Data, String)]()
然后我向数组元组添加数据,如下所示:

if let firstImage = self.firstImage {
                if let firstImageData = firstImage.compressImage() {
                    self.imgArray.append(firstImageData, self.randomImageName(length: 15))
                }
我将上面的代码用于用户上传的每个图像,它工作正常,imgArray将同时填充数据和字符串,然后我将这些数据和字符串发送到我的API

但是有没有一种方法可以使用数组来存储数据和字符串值

我不确定元组是否是最好的解决方案
}苹果不鼓励使用元组作为数据源

元组对于相关值的临时组很有用。它们不适合创建复杂的数据结构。如果您的数据结构可能会超出临时范围,请将其建模为类或结构,而不是元组

面向对象的Swift方式是一种结构:

struct ImageData {
    var data : Data
    var name : String
}
这样做的好处是可以按姓名获取成员

let imageName = imgArray[0].name

苹果不鼓励使用元组作为数据源

元组对于相关值的临时组很有用。它们不适合创建复杂的数据结构。如果您的数据结构可能会超出临时范围,请将其建模为类或结构,而不是元组

面向对象的Swift方式是一种结构:

struct ImageData {
    var data : Data
    var name : String
}
这样做的好处是可以按姓名获取成员

let imageName = imgArray[0].name

如果字符串可以是唯一的,那么字典可能是一种方法。如何从数组中提取字符串和数据?@BallpointBen Eg drawing Strings out:parameters[images]=imgaray.map{$0.1}如果字符串可以被设置为唯一的,那么字典可能是一种方法。如何从数组中提取字符串和数据?@BallpointBen Eg提取字符串:parameters[images]=imgaray.map{$0.1}这是一个很好的答案,也是一个很好的例子。但我只使用上面的元组作为博客帖子的上传表单。用户输入一些文本并添加一些图像,然后按upload并完成。这不算是相关值的临时组吗?当然,你可以使用元组,苹果的声明与其说是必要的,不如说是建议。不过,为了更好的代码可读性,我更喜欢结构。这是一个很好的答案,也是一个很好的例子。但我只使用上面的元组作为博客帖子的上传表单。用户输入一些文本并添加一些图像,然后按upload并完成。这不算是相关值的临时组吗?当然,你可以使用元组,苹果的声明与其说是必要的,不如说是建议。不过,为了更好地阅读代码,我更喜欢结构。