Webサービスに基づいたアプリケーションを実装しています。その点で、.plistのプロパティとして文字列を追加する必要があり、コードで必要なときはいつでも.plistから値を取得する必要があります。
コードサンプルは次のとおりです。
NSString *path = [[NSBundle mainBundle] pathForResource: @"YourPLIST" ofType: @"plist"];
NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile: path];
id obj = [dict objectForKey: @"YourKey"];
NSBundle* mainBundle = [NSBundle mainBundle];
// Reads the value of the custom key I added to the Info.plist
NSString *value = [mainBundle objectForInfoDictionaryKey:@"key"];
//Log the value
NSLog(@"Value = %@", value);
// Get the value for the "Bundle version" from the Info.plist
[mainBundle objectForInfoDictionaryKey:@"CFBundleVersion"];
// Get the bundle identifier
[mainBundle bundleIdentifier];
NSURL *url = [[NSBundle mainBundle] URLForResource:@"YOURPLIST" withExtension:@"plist"];
NSArray *playDictionariesArray = [[NSArray alloc ] initWithContentsOfURL:url];
NSLog(@"Here is the Dict %@",playDictionariesArray);
または、以下も使用できます
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"Sample.plist"];
Plistから取得するのはとても簡単です。
NSString *path = [[NSBundle mainBundle] pathForResource:@"SaveTags" ofType:@"plist"];
if (path) {
NSDictionary *root = [NSDictionary dictionaryWithContentsOfFile:path];
}
Plistに何かを追加したい場合は、ここで答えを見つけることができます: plistにデータを書き込む方法は?
ただし、アプリにメッセージを保存するだけの場合は、NSUserDefaultsの方が適しています。
これはできません。 iOSまたはMacOSのいずれのバンドルも読み取り専用であり、読み取りのみが可能であり、ファイルの作成、書き込み、またはバンドル内のファイルを使用した操作はできません。これはAppleのセキュリティ機能の一部です。 NSDocumentsDirectoryを使用して、アプリに必要なものを書き込んだり読んだりできます