私はAPIから以下の応答を受け取ります。モデルクラスにネストされた配列を追加する方法
{
"data": [
{
"CategoryName": "אהבה",
"CategoryID": "61",
"CategoryDate": "2016-08-26 02:11:43",
"CategoryImage": "love.png",
"SubCategoryArray": [
{
"SubCategoryName": "אהבה",
"SubCategoryRefID": "61",
"SubCategoryID": "115",
"SubCategoryDate": "2016-08-29 09:25:56",
"TextArray": [
{
"TextID": "103",
"Text": "<p dir=\"rtl\"><span style=\"font-size:48px\"><strong>אוהב</strong> אותך כל כך</span></p>\r\n"
},
どのようにサブカテゴリとTextArrayサブクラスをモデル化することができます。私は以下の通りであるJSONで 3.迅速なAPIレスポンスにクラスに応答をモデル化する必要があります。
私は、以下に示すよう
私のモデルクラスである私のモデルクラスを移入するSwiftyJSONを使用しています。
class Menu
{
var CategoryName: String?
var CategoryID: String?
var CategoryDate: String?
var CategoryImage: String?
var SubCategoryArray: [SubCategoryArray]?
init(CategoryName: String?, CategoryID: String?, CategoryDate: String?, CategoryImage: String?, SubCategoryArray: [SubCategoryArray]?) {
self.CategoryName = CategoryName
self.CategoryID = CategoryID
self.CategoryDate = CategoryDate
self.CategoryImage = CategoryImage
self.SubCategoryArray = SubCategoryArray
}
}
class SubCategoryArray
{
var SubCategoryName: String?
var SubCategoryRefID: String?
var SubCategoryID: String?
var SubCategoryDate: String?
var TextArray : [TextArray]?
init(SubCategoryName: String?, SubCategoryRefID: String?, SubCategoryID: String?, SubCategoryDate: String?, TextArray: [TextArray]?) {
self.SubCategoryName = SubCategoryName
self.SubCategoryRefID = SubCategoryRefID
self.SubCategoryID = SubCategoryID
self.SubCategoryDate = SubCategoryDate
self.TextArray = TextArray
}
}
class TextArray
{
var TextID: String?
var Text: String?
init (TextID:String? , Text: String?)
{
self.TextID = TextID
self.Text = Text
}
}
私が唯一の問題は、SubCategory
クラスとTextArray
クラスのためにそれを行う方法である
if let json = try? JSON(result){
var menus = [Menu]()
for (_, content) in json["data"] {
let menu = Menu(CategoryName: (content["CategoryName"].string),
CategoryID: content["CategoryID"].string,
CategoryDate: content["CategoryDate"].string,
CategoryImage: content["CategoryImage"],
SubCategoryArray: content["SubCategoryArray"].string)
menus.append(menu)
}
としてそれを保存しています。
?多分ユニットテストを書くことによって –