gpt4 book ai didi

iphone - 将文本框数据写入Plist

转载 作者:行者123 更新时间:2023-12-01 19:15:29 25 4
gpt4 key购买 nike

我有一个带有提交按钮的文本框。我需要按一下提交时,文本框中的数据应该写在plist中。我尝试了以下代码,但plist中没有任何变化。我创建了一个名称为sample.plist的plist。

 -(void) SubmitAction {
NSString *path = [NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *finalPath = [path stringByAppendingPathComponent:@"sample.plist"];
NSMutableDictionary *plistDict = [NSMutableDictionary dictionaryWithContentsOfFile:finalPath];
NSMutableArray *titleArray=[plistDict valueForKey:@"title"];

[titleArray addObject:textbox1.text];

[plistDict setValue:titleArray forKey:@"title"];

[plistDict writeToFile:finalPath atomically:NO];
}

在plist中创建的数组如下
<plist version="1.0">
<dict>
<key>title</key> <array/>
</dict>
</plist>

请告诉我我还需要做什么..我的错在哪里

最佳答案

您可以在我这边使用它

-(void)writeToPlist
{
BOOL success;
NSFileManager *fileManager = [NSFileManager defaultManager];
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
NSString *documentsDirectory = [documentPaths objectAtIndex:0];
NSString *documentPlistPath = [documentsDirectory stringByAppendingPathComponent:@"XYZ.plist"];

NSString *bundlePath = [[NSBundle mainBundle] bundlePath];
NSString *bundlePlistPath = [bundlePath stringByAppendingPathComponent:@"XYZ.plist"];


if([fileManager fileExistsAtPath:documentPlistPath]){

NSMutableDictionary *documentDict = [NSMutableDictionary
dictionaryWithContentsOfFile:documentPlistPath];
NSMutableArray *valArray = [NSMutableArray arrayWithArray:[self readFromPlist]];
int index = [valArray count];
[valArray insertObject:@"lastObject" atIndex:index];
[documentDict setObject:valArray forKey:@"title"];

success =[documentDict writeToFile:documentPlistPath atomically:NO];

} else {

NSError *error;
BOOL written = [fileManager copyItemAtPath:bundlePlistPath toPath:documentPlistPath
error:&error];

if (written) {
NSMutableDictionary *documentDict = [NSMutableDictionary
dictionaryWithContentsOfFile:documentPlistPath];
NSMutableArray *valArray = [NSMutableArray arrayWithArray:[self readFromPlist]];
int index = [valArray count];
[valArray insertObject:@"lastObject" atIndex:index];
[documentDict setObject:valArray forKey:@"title"];

success =[documentDict writeToFile:documentPlistPath atomically:NO];

}else {
NSLog(@"Plist couldnot be copied from bundle to directory!!!");
}

}

}
-(NSArray*)readFromPlist
{
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
NSString *documentsDirectory = [documentPaths objectAtIndex:0];
NSString *documentPlistPath = [documentsDirectory stringByAppendingPathComponent:@"XYZ.plist"];

NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:documentPlistPath];

NSArray *valueArray = [dict objectForKey:@"title"];

return valueArray;

}

将@“lastobject”替换为textbox.text;将XYZ.plist替换为sample.plist。

关于iphone - 将文本框数据写入Plist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13740103/

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