gpt4 book ai didi

ios - 为 plist 在数组中创建多个键

转载 作者:行者123 更新时间:2023-11-29 03:15:46 25 4
gpt4 key购买 nike

我正在尝试使用 objc 为应用程序启用图像文档类型。我对我需要写入的 plist 有 root 权限。一个多小时以来,我一直在思考编码所需的键、字典和数组的数量,这让我很沮丧。我做错了。

如果我是正确的,我需要在另一个 NSMutableArrayNSDictionary 中创建一个 NSMutableArray

我正在使用 NSMutableDictionary 写入 plist,如下所示:

NSMutableDictionary *data; 
if ([fileManager fileExistsAtPath: path]) {
data = [[NSMutableDictionary alloc] initWithContentsOfFile: path];
} else {
//no plist
}

这是我需要添加到 plist 中的内容:

<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeName</key>
<string>Images</string>
<key>LSHandlerRank</key>
<string>Alternate</string>
<key>LSItemContentTypes</key>
<array>
<string>public.image</string>
</array>
</dict>
</array>

有人能指出我正确的方向吗?

最佳答案

PList 是 NSMutableDictionary 的文件表示:

您可以使用以下内容:

  NSMutableDictionary *data;
if ([fileManager fileExistsAtPath: path]) {
data = [[NSMutableDictionary alloc] initWithContentsOfFile: path];
} else {
NSMutableArray *array = [[NSMutableArray alloc] init];


NSDictionary *dict = [[NSMutableDictionary alloc] init];

NSString *images = @"Images";
[dict setValue:images forKey:@"CFBundleTypeName"];

NSString *Alternate = @"Alternate";
[dict setValue:images forKey:@"LSHandlerRank"];

NSMutableArray *LSItemContentTypes = [[NSMutableArray alloc] init];
NSString *publicImage = @"public.image";
[LSItemContentTypes addObject:publicImage];

[dict setValue:LSItemContentTypes forKey:@"LSItemContentTypes"];


[data setObject:array forKey:@"CFBundleDocumentTypes"];

}

关于ios - 为 plist 在数组中创建多个键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21720698/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com