菜鸟教程小白 发表于 2022-12-13 01:18:49

ios - NSMutableDictionary 删除关键路径上的对象?


                                            <p><p>我有一个分层的 NSMutableDictionary 对象,我希望能够删除层次结构中更深层次的字典。有没有一种快速简便的方法来做到这一点,例如,类似于 removeObjectAtKeyPath 的方法?好像一个也找不到</p>

<p>谢谢!</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>没有内置任何东西,但您的基本类别方法就可以了:</p>

<pre><code>@implementation NSMutableDictionary (WSSNestedMutableDictionaries)

- (void)WSSRemoveObjectForKeyPath: (NSString *)keyPath
{
    // Separate the key path
    NSArray * keyPathElements = ;
    // Drop the last element and rejoin the path
    NSUInteger numElements = ;
    NSString * keyPathHead = [ componentsJoinedByString:@&#34;.&#34;];
    // Get the mutable dictionary represented by the path minus that last element
    NSMutableDictionary * tailContainer = ;
    // Remove the object represented by the last element
    ];
}

@end
</code></pre>

<p>注意这<em>要求</em>路径的倒数第二个元素 - <code>tailContainer</code> 是响应 <code>removeObjectForKey:</code> 的东西,可能是另一个 <code>NSMutableDictionary</code>。如果不是,请繁荣!</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - NSMutableDictionary 删除关键路径上的对象?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/15105709/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/15105709/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - NSMutableDictionary 删除关键路径上的对象?