Ios 如何排序JSON数组并在UITableView中显示它
我有一个JSON数组Ios 如何排序JSON数组并在UITableView中显示它,ios,arrays,json,swift,Ios,Arrays,Json,Swift,我有一个JSON数组 { "id": 36, "name": "The Shawshank Redemption", "year": 1994, "rating": 9.196 }, { "id": 45, "name": "The Green Mile", "year": 1999, "rating": 9.064 }, { "id": 48, "name": "Forrest Gump", "year": 1994, "rating": 8.
{
"id": 36,
"name": "The Shawshank Redemption",
"year": 1994,
"rating": 9.196
},
{
"id": 45,
"name": "The Green Mile",
"year": 1999,
"rating": 9.064
},
{
"id": 48,
"name": "Forrest Gump",
"year": 1994,
"rating": 8.921
},
{
"id": 39,
"name": "Schindler's List",
"year": 1993,
"rating": 8.817
},
{
"id": 53,
"name": "Intouchables",
"year": 2011,
"rating": 8.812
},
因此,如何在UITableView中制作具有相同年份的电影将在一个部分中放映(例如,《肖申克的救赎》和《阿甘正传》将在“1994”部分中放映,《绿英里》将在“1999”部分中放映等等)
此外,有电影的部分必须按年份排序(“2011”部分首先,然后是“1999”部分等),每个部分中的电影必须按评级排序(例如,“1994”部分中的“肖申克的救赎”必须排在第0行,“阿甘正传”必须排在第1行)
我的解决方案是制作2d阵列,并将相同年份的胶片放入其中,但我确信一定有更好的解决方案。首先:创建自定义元素 Second:读取Json并创建一个数组作为自定义数组并附加到此数组 第三个:为节创建元组
第四个:对UITableView进行编码第一个:创建自定义元素 Second:读取Json并创建一个数组作为自定义数组并附加到此数组 第三个:为节创建元组
Forth:编码到UITableView您可以使用
字典按年份对数组进行分组(分组:按:
并使用排序键将字典映射到一个自定义结构,该结构包含节的名称/年份,以及一个按分级排序的Film
数组。如果你的电影数量超过了年,这是一个非常有效的方法,并且是一个很好的方法来限制你需要的数量或年数。对于你的应用程序,如果您的电影数量超过几年,这似乎非常合适。但是,由于您通常希望将电影放入数组以外的其他数据结构中,因此根据详细信息,可能会有更合适的解决方案。您可以使用字典按年对数组进行分组(分组:按:
并使用排序键将字典映射到一个自定义结构,该结构包含节的名称/年份,以及一个按分级排序的Film
数组。如果你的电影数量超过了年,这是一个非常有效的方法,并且是一个很好的方法来限制你需要的数量或年数。对于你的应用程序,如果你的电影数量超过了几年,这似乎就足够了。但是,由于你通常希望将电影放入数组以外的其他数据结构中,因此可能会有更合适的解决方案,具体取决于细节。不要再做第三步。苹果说:元组对于相关值的临时组很有用。它们不适合创建复杂的数据结构。如果您的数据结构可能会超出临时范围,请将其建模为类或结构,而不是元组。我通常使用结构,但当我想按日期对自定义数组排序时,我使用元组。苹果说:元组对相关值的临时组很有用。它们是We’我们不适合创建复杂的数据结构。如果您的数据结构可能会超出临时作用域,请将其建模为类或结构,而不是元组。我通常使用结构,但如果要按日期对自定义数组排序,则使用元组