Iphone 如何管理图像和文本视图的NSUserdefaults值?

Iphone 如何管理图像和文本视图的NSUserdefaults值?,iphone,Iphone,我正在开发一个应用程序。在该应用程序中,我同时使用imageview和textview。我使用NSUserdefaults存储imageview图像值和textview文本值。但当我转到另一个页面并进入主页时,只有imageview图像数据在NSUserdefaults中可用,textview文本数据不可用。因此,请告诉我如何使用nsuserdefaults获取textview文本数据。您应该检查您的密钥是否存在拼写错误。顺便说一下,仅供参考 将图像保存到NSUserDefault的方法: //

我正在开发一个应用程序。在该应用程序中,我同时使用imageview和textview。我使用NSUserdefaults存储imageview图像值和textview文本值。但当我转到另一个页面并进入主页时,只有imageview图像数据在NSUserdefaults中可用,textview文本数据不可用。因此,请告诉我如何使用nsuserdefaults获取textview文本数据。您应该检查您的密钥是否存在拼写错误。顺便说一下,仅供参考

将图像保存到NSUserDefault的方法:

//Saving
//Obtain the path for Documents Directory
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];      

//Append Image name to the path
NSString *imagePath = [[documentsDirectory stringByAppendingPathComponent:@"Image"] retain];  

//Creating a file at this path
NSFileManager *fileManager = [NSFileManager defaultManager]; 
BOOL ok = [fileManager createFileAtPath:dataFilePath contents:nil attributes:nil];
if (!ok) {
    NSLog(@"Error creating file %@", dataFilePath);
} 
else {
    //Writing image to the created file
    NSFileHandle *myFileHandle = [NSFileHandle fileHandleForWritingAtPath:imagePath];

    [myFileHandle writeData:UIImageJPEGRepresentation(imageView.image, 1.0)];
    [myFileHandle closeFile];
}

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
if (userDefaults) {

    [userDefaults setObject:imagePath forKey:@"ImagePath"];

}

//Retrieving
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSString *imagePath = [userDefaults objectForKey:@"ImagePath"];
NSFileHandle* fileHandle = [NSFileHandle fileHandleForReadingAtPath:dataFilePath];
UIImage* loadedImage = [UIImage imageWithData:[fileHandle readDataToEndOfFile]];
//Saving
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setValue:textView.text forKey:@"Text"];

//Retrieving
textView.text = [userDefaults valueForKey:@"Text"];
第一:直接保存和检索图像:

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSData *imageData = [NSKeyedArchiver archivedDataWithRootObject:imageView.image];
[userDefaults setObject:imageData forKey:@"Image"];

//Retrieving
UIImage *image = (UIImage*)[NSKeyedUnarchiver unarchiveObjectWithData:[userDefaults objectForKey:@"Image"]];
编号2:将图像保存在documents目录中,并将其路径保存在NSUserDefaults中:

//Saving
//Obtain the path for Documents Directory
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];      

//Append Image name to the path
NSString *imagePath = [[documentsDirectory stringByAppendingPathComponent:@"Image"] retain];  

//Creating a file at this path
NSFileManager *fileManager = [NSFileManager defaultManager]; 
BOOL ok = [fileManager createFileAtPath:dataFilePath contents:nil attributes:nil];
if (!ok) {
    NSLog(@"Error creating file %@", dataFilePath);
} 
else {
    //Writing image to the created file
    NSFileHandle *myFileHandle = [NSFileHandle fileHandleForWritingAtPath:imagePath];

    [myFileHandle writeData:UIImageJPEGRepresentation(imageView.image, 1.0)];
    [myFileHandle closeFile];
}

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
if (userDefaults) {

    [userDefaults setObject:imagePath forKey:@"ImagePath"];

}

//Retrieving
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSString *imagePath = [userDefaults objectForKey:@"ImagePath"];
NSFileHandle* fileHandle = [NSFileHandle fileHandleForReadingAtPath:dataFilePath];
UIImage* loadedImage = [UIImage imageWithData:[fileHandle readDataToEndOfFile]];
//Saving
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setValue:textView.text forKey:@"Text"];

//Retrieving
textView.text = [userDefaults valueForKey:@"Text"];
将文本保存到NSUserDefault的方法:

//Saving
//Obtain the path for Documents Directory
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];      

//Append Image name to the path
NSString *imagePath = [[documentsDirectory stringByAppendingPathComponent:@"Image"] retain];  

//Creating a file at this path
NSFileManager *fileManager = [NSFileManager defaultManager]; 
BOOL ok = [fileManager createFileAtPath:dataFilePath contents:nil attributes:nil];
if (!ok) {
    NSLog(@"Error creating file %@", dataFilePath);
} 
else {
    //Writing image to the created file
    NSFileHandle *myFileHandle = [NSFileHandle fileHandleForWritingAtPath:imagePath];

    [myFileHandle writeData:UIImageJPEGRepresentation(imageView.image, 1.0)];
    [myFileHandle closeFile];
}

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
if (userDefaults) {

    [userDefaults setObject:imagePath forKey:@"ImagePath"];

}

//Retrieving
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSString *imagePath = [userDefaults objectForKey:@"ImagePath"];
NSFileHandle* fileHandle = [NSFileHandle fileHandleForReadingAtPath:dataFilePath];
UIImage* loadedImage = [UIImage imageWithData:[fileHandle readDataToEndOfFile]];
//Saving
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setValue:textView.text forKey:@"Text"];

//Retrieving
textView.text = [userDefaults valueForKey:@"Text"];

嘿,您可以存储图像名称,对于文本视图,您必须在nsuserdefault中存储字符串。当我们来自另一个视图时,文本数据不会出现。您需要访问它。如何访问它并将其分配给textView.text?如果(textView.tag==0){[data setValue:textView.text forKey:@“keyToBvrgText”];}像这样,我从textviewif([[data stringForKey:@“keyToBvrgText”]IseQualtString:@”“]){txtView.text=@“我有”}中获取数据,否则{txtView.text=[data-valueForKey:@“keyToBvrgText