- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个字典输入数组:
myArray = (
{
name:"abc";
time:"6:00";
},
{
name:"xyz";
time:"7:00";
},
.
.
)
我想要这样的输出字典:
myDictionary = {
"6:00":(
{
name:"abc";
time:"6:00";
},
.
.
)
"7:00":(
{
name:"xyz";
time:"7:00";
},
.
.
)
}
我尝试了什么:
我使用这一行成功地获得了一个不同时间
的数组:
NSArray *arrTempKeys = [myArray valueForKeyPath:@"@distinctUnionOfObjects.Time"];
然后使用 for 循环
中的谓词 for arrTempKeys
,得到所有具有相同 time
值的字典:
NSPredicate *pred = [NSPredicate predicateWithFormat:@"Date == %@",str];
NSArray *arrTemp = [myArray filteredArrayUsingPredicate:pred];
最后,我将此 arrTemp
指定为 Key time
的对象并获得了所需的结果。
我想要什么:
我知道还有许多其他方法可以获得此输出。但我只想知道是否有任何单个 KVC
编码行或任何其他可用于执行此操作的最佳方法。
最佳答案
你想要的太多了。只写一个简单的循环。这将是最有效、最清晰、可能也是最可靠的解决方案:
NSMutableDictionary* myDict = [NSMutableDictionary dictionary];
for (NSDictionary* innerDict in myArray) {
NSString* time = innerDict[@"time"];
NSMutableArray* innerArray = myDict[time];
if (innerArray == nil) {
innerArray = [NSMutableArray array];
[myDict setValue:innerArray forKey:time];
}
[innerArray addObject:innerDict];
}
关于ios - 使用 KVC 从 NSMutableArray 获取 NSMutableDictionary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22301067/
我在我的代码中使用了 kvc。 [self addObserver:self forKeyPath:@"type" options:NSKeyValueObservingOptionNew |
@interface MyClass: NSObject @property NSArray *arr; @end @inplementation MyClass - (instancetype) i
作为 Cocoa 和 Objective-C 的新手,我对 KVC 和 KVO 有初步的了解。然而,关于 Cocoa 绑定(bind)(如标题为“Cocoa 绑定(bind)编程主题”的 Apple
我有一组从核心数据中选择的对象。我需要从这组对象子集中选择与条件相对应的对象。怎么做? 最佳答案 如果我没理解错的话,您想根据数组中某些对象满足的条件来过滤数组吗? 您可以通过使用 NSPredica
我创建类: @interface KVOGame : NSObject @property (nonatomic, strong) NSString *name; @property (nonatom
我有一个可绑定(bind)协议(protocol) protocol Bindable: class { associatedtype ObjectType: Any associat
以下哪个更快,为什么? CGFloat sum = 0; for (UIView *v in self.subviews) sum += v.frame.size.height; 或 CGFl
如果接收器类符合 NSKeyValueProtocol,则可以选择走很远的路: [myInstance setValue:[NSNumber numberWithInt:2] forKey:@"int
我经常需要检索属于 Set 的第一个对象。 (使用该对象作为该集合的代表。) 我设想了一个集合对象运算符,类似于 @unionOfObjects 但是很明显 @firstObject 是否可以创建这样
我正在尝试让我的头脑专注于“键值编码”。 Apple's docs say: This document describes the NSKeyValueCoding informal protoco
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 4 年前。 Improve this ques
我正在尝试向我的可重用单元添加一个观察者,问题是它添加了多个观察者。所以我想知道是否有什么办法可以解决这个问题,因为我真的需要这个观察者。 var player: AVPlayer? var post
我想解析 XML 以填充符合 KVC 的对象,但是,我的解析器非常笨,它只是从 XML 属性/标签组装 NSStrings 并尝试通过 KVC 设置它们。 这适用于实际的字符串和数字(我相信),但
我正在尝试观察收藏笔记。这是代码: -(void) registerNotesHeaderViewChangeNotification { [self.selectedVegetableGar
我使用此代码通过我的可变数组订阅事件: [RACObserve(self, marray) subscribeNext:^.... 我是 RAC 的新手,我不明白为什么,例如,如果我使用: NSMut
我有例如我的 NSArray 中有 5 个 MyFile 对象。这 5 个对象中的每一个都具有属性 path。 MyFile *myFile ...; NSString path = myMyFile
这是代码: NSNumber *taskId = [[self.taskList objectAtIndex:indexPath.row] valueForKey:@"identity"]; N
有一个例子如下: enum Gender{ case male case female } class Person:NSObject{ var name: String?
我正在尝试了解 Swift 4 的最新添加 - better KVC .在 Playground 上放这个简单的东西什么也打印不出来 class Foo { var name: String
我读过Marcus S. Zarra的iOS相关章节Core Data: Data Storage and Management for iOS, OS X, and iCloud (第 2 版)受益
我是一名优秀的程序员,十分优秀!