簡體   English   中英

使用KVC的NSArray中的NSDictionary

[英]NSDictionary from NSArray using KVC

是否可以根據密鑰屬性名稱從CALayer的NSArray中使用KVC獲取NSDictionary? 我嘗試使用-dictionaryWithValuesForKeys :,但是返回一個NSArray。 任何想法?

   NSArray *tempArray = [self.layer.sublayers copy];
   NSArray *ListName = [self.layer.sublayers valueForKey:@"name"];

   NSDictionary *tmpD= [tempArray dictionaryWithValuesForKeys:ListName];

謝謝

這是您要問的嗎?

NSDictionary * layersByName = [NSDictionary dictionaryWithObjects:[self.layer.sublayers copy]
                                                          forKeys:[self.layer.sublayers valueForKey:@"name"]];

-[NSArray valueForKey:]返回一個數組,該數組是通過使用相同的參數向接收者中的每個對象要求其自己的valueForKey:形成的。

我不知道直接使用KVC執行此操作的方法。 但是,僅通過遍歷數組就可以很簡單地做到這一點:

NSMutableDictionary *layersByName = [NSMutableDictionary dictionary];
for (CALayer *layer in self.layer.sublayers)
{
    [layersByName setObject:layer forKey:layer.name];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM