ios - 如何在 NSMutableArray 中对对象进行分组并在 Objective-C 中划分为单独的 NSMutableArray

标签 ios objective-c macos nsmutablearray nsarray

我有这样的 NSMutableArray:

// NSMutableArray *Data = (NSMUtableArray(NSDictionary))
       Data = {"Device": "A1", "Temperature": "25", "datetime": "2013.02.03"},
       {"Device": "A2", "Temperature": "25", "datetime": "2013.02.03"},         
       {"Device": "A3", "Temperature": "25", "datetime": "2013.02.03"},        
       {"Device": "A1", "Temperature": "25", "datetime": "2013.02.04"},
       {"Device": "A2", "Temperature": "25", "datetime": "2013.02.04"}.

如何按照“日期时间”将其分解并分组到单独的 NSMutableArray 中。如上情况将分为:

Data_d1 = {"Device": "A1", "Temperature": "25", "datetime": "2013.02.03"},
          {"Device": "A2", "Temperature": "25", "datetime": "2013.02.03"},
          {"Device": "A3", "Temperature": "25", "datetime": "2013.02.03"}

Data_d2 = {"Device": "A1", "Temperature": "25", "datetime": "2013.02.04"},
          {"Device": "A2", "Temperature": "25", "datetime": "2013.02.04"}

最佳答案

您可以使用以下代码来实现:

let data:[[String: String]] = [
        ["Device": "A1",
         "Temperature": "25",
         "datetime": "2013.02.03"],

        ["Device": "A2",
         "Temperature": "25",
         "datetime": "2013.02.03"],

        ["Device": "A3",
         "Temperature": "25",
         "datetime": "2013.02.03"],

        ["Device": "A1",
         "Temperature": "25",
         "datetime": "2013.02.04"],

        ["Device": "A2",
         "Temperature": "25",
         "datetime": "2013.02.04"]]

    let dateTimeArray = data.compactMap({ $0["datetime"] })
    let uniqueDateTimeArray = Array(Set(dateTimeArray))

    var desiredSeparatedArray = [[[String: String]]]()
    for dateTime in uniqueDateTimeArray {
        var arrayForDateTime = [[String: String]]()
        for element in data {
            if element["datetime"] == dateTime {
                arrayForItem.append(element)
            }
        }
        desiredSeparatedArray.append(arrayForDateTime)
    }

最终的desiredSeparatedArray就是答案!!

关于ios - 如何在 NSMutableArray 中对对象进行分组并在 Objective-C 中划分为单独的 NSMutableArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51515965/

相关文章:

iphone - 可达性和通知中心

objective-c - NSPopover 颜色

cocoa - 关于应用程序开发设计指南的询问

macos - NSTrackingArea调用自定义代码

ios - 在 ios swift 2 中将数据从 View Controller 传递到 TableView Controller

ios - 我正在尝试将 PARSE deleteEventually 与 iOS SWIFT 一起使用

ios - iPad Safari Web Inspector 在页面加载时崩溃

objective-c - 核心数据中关系的默认值

macos - “Undefined is not a function”在Dashcode中播放声音

ios - 减少 UIPickerView 组件之间的空间