我有system_profiler -xml
命令生成的plist文件:
如何访问cpu_type
或machine_name
并将其存储在NSString
s?
我尝试了很多方法,甚至将此文件转换为JSON,但无法使用这些元素。
示例:
str
是nil
路径似乎是这样的:
root \ 0 \ _items \ 0 \ cpu_type
root \ 0 \ _items \ 0 \ current_processor_speed
...
这里没有列举,所以我应该能够直接使用这些键,但我不知道如何。
谢谢!
答案 0 :(得分:1)
[arr valueForKey:@"cpu_type"]
无效,因为arr
是数组,而不是字典。要访问所需的值,请尝试使用
NSDictionary *rootDictionary = [NSArray arrayWithContentsOfFile:filePath][0];
NSDictionary *itemsDictionary = rootDictionary[@"_items"][0];
NSString *CPUType = itemsDictionary[@"cpu_type"];
请注意,[0]
是[array objectAtIndex:0]
的简写,而[@"key"]
是[dictionary objectForKey:@"key"]
获取machine_name
将以同样的方式完成
NSString *machineName = itemsDictionary[@"machine_name"];