Ios 将对象数组转换为数组对象

Ios 将对象数组转换为数组对象,ios,arrays,json,swift,Ios,Arrays,Json,Swift,我有一个类,有一些不同类型的数组,假设它们都填充了相同数量的数组 public class CoreLocationMap { var type: [String] = [] var location: [Int] = [] var groupName: [NSString] = [] var x: [Float] = [] init() {} } 我想要类似于JSON对象的东西: var jsonObject = ({type = myString; location = 123; g

我有一个类,有一些不同类型的数组,假设它们都填充了相同数量的数组

public class CoreLocationMap {

var type: [String] = []
var location: [Int] = []
var groupName: [NSString] = []
var x: [Float] = []

init() {}

}
我想要类似于JSON对象的东西:

var jsonObject = ({type = myString; location = 123; groupName = anotherString; x = 0.123}, {type = myString; location = 123; groupName = anotherString; x = 0.123}, ...)
不一定要有jsonObject,但我想将变量封装在逻辑组中,所以

type
location
groupName
x
应该创建一个结构/对象/whatever^^。 如果我稍后使用某个位置,我想引用该组中的其他变量。 我还对其他解决方案感到满意。如果你需要更多的细节,请告诉我


谢谢

正如您所建议的,您可以使用结构来封装数据:

struct LocationData {
   var type: String
   var location: Int
   var groupName: String
   var x: Float
}
并在类中声明一个数组:

var locationsData = Array<LocationData>()

您可以创建模型计算,比如locationModel 像

现在,您可以在想要使用的地方创建这个模型类对象,并用模型类方法填充它们

比如,如果您想在CoreLocationMap中使用它,创建位置模型并在类中初始化它并填充值


如果需要对象的数组,请将此模型对象添加到新创建的数组中。希望这对您有所帮助。

此库对您的JSONModel也有同样的作用

此库具有以下方法

    NSArray* jsonObjects = [YourModelClass arrayOfDictionariesFromModels: modelObjects];
此方法从对象数组返回字典数组

现在,你可以使用

NSJ串行化


好的,那么如何从我的CoreLocationMap中填充结构呢?你能给我一个你想要的用法的例子吗?(即使在伪代码中)我的数组对于类型、位置、groupName和x的每一个都有760个值。所以你提到的解决方案应该在locationsData中有760个“组”。这些值来自哪里?使用“添加”功能用所需的组填充列表。
  calss locationModel{
     var type:String
     var location : Int
     var groupName : String
     var x: Float

  // you can create Init method to init() model properties 
  // you can create custom method to fill values of model calss

  /* you create custom method that accept array as argument create 
    this class (locationModel) type of object in function load data
    from array to modelobject add modelobject in array and return
    this array.*/
 }
    NSArray* jsonObjects = [YourModelClass arrayOfDictionariesFromModels: modelObjects];