Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 将UITextView中的文本保存到NSUserDefault中的方法与在Notes应用程序中保存UITextFIeld的方法相同_Ios_Objective C_Save_Uitextview - Fatal编程技术网

Ios 将UITextView中的文本保存到NSUserDefault中的方法与在Notes应用程序中保存UITextFIeld的方法相同

Ios 将UITextView中的文本保存到NSUserDefault中的方法与在Notes应用程序中保存UITextFIeld的方法相同,ios,objective-c,save,uitextview,Ios,Objective C,Save,Uitextview,我不熟悉Objective-C,但有一些编程知识。所以我学习了Todd Perkin在Lynda.com上制作notes应用程序的教程。为了更熟悉Objective-C,我想在这个notes应用程序中添加一些东西来了解更多信息,但我有点被卡住了 目前,notes应用程序是在主详细信息应用程序模板中构建的。因此,MasterDetailView控制器中有一个表视图,DetailViewController中有一个详细视图。当用户点击add按钮时,它会转到Detail controller,并且有一

我不熟悉Objective-C,但有一些编程知识。所以我学习了Todd Perkin在Lynda.com上制作notes应用程序的教程。为了更熟悉Objective-C,我想在这个notes应用程序中添加一些东西来了解更多信息,但我有点被卡住了

目前,notes应用程序是在主详细信息应用程序模板中构建的。因此,MasterDetailView控制器中有一个表视图,DetailViewController中有一个详细视图。当用户点击add按钮时,它会转到Detail controller,并且有一个UITextField可供您输入,当您单击Back时,它会将该UITextField保存为NSUserDefaults,这就是用于在表视图中填充单元格的内容

所以基本上,我所做的是为细节视图中的另一个点添加UITextView。但是我想不出最好的保存方法,就像保存便笺的标题一样。显然,每个音符都需要不同。下面是我正在使用的类和代码:

MasterDetailController.h

#import <UIKit/UIKit.h>

@interface MasterViewController : UITableViewController

@end
#import <UIKit/UIKit.h>

@interface DetailViewController : UIViewController

@property (strong, nonatomic) id detailItem;

@property (weak, nonatomic) IBOutlet UITextView *rTView;
@property (weak, nonatomic) IBOutlet UITextField *tView;


@end
DetailViewController.h

#import <UIKit/UIKit.h>

@interface MasterViewController : UITableViewController

@end
#import <UIKit/UIKit.h>

@interface DetailViewController : UIViewController

@property (strong, nonatomic) id detailItem;

@property (weak, nonatomic) IBOutlet UITextView *rTView;
@property (weak, nonatomic) IBOutlet UITextField *tView;


@end
以及教程中的数据模型:

数据.h

#import <Foundation/Foundation.h>

#define kDefaultText @"New Note"
#define kAllNote @"notes"
#define kDetailView @"showDetail"


@interface Data : NSObject

+(NSMutableDictionary *)getAllNotes;
+(void)setCurrentKey: (NSString *)key;
+(NSString *)getCurrentKey;
+(void)setNoteForCurrentKey:(NSString*)note;
+(void)setNote:(NSString*)note forKey:(NSString*)key;
+(void)removeNoteForKey:(NSString*)key;
+(void)saveNotes;

@end
呸。很抱歉这是很多代码。所以tView是保存的值。我已经将UITextView定义为rTView。但我不知道如何让文本视图为每个音符保存,就像它为UITextFIeld保存一样


我将感谢任何帮助。请。

我们的想法是,现在您将为每个节点保存更多的属性,它们应该集中在一个集合中,如NSArray、NSDictionary等。但是,要回答您的问题需要很多时间,我只提供一些提示:

您需要首先更改模型类,以包含所需的所有属性。 在DetailViewController.h中,您需要更改configureView方法,此行:

NSString *currentNote = [[Data getAllNote]objectForKey:[Data getCurrentKey]];
应该是:

NSDictionary*currentNote=[[Data getAllNote]objectForKey:[Data getCurrentKey]]

可能是这样的:

如果(![[currentNote objectForKey:@“title”]IseQualtString:kDefaultTitle]){ self.tView.text=[currentNote objectForKey:@“title”]; self.rView.text=[currentNote objectForKey:@“description”]; }否则{ self.tView.text=@”; self.rView.text=@”; }

此外,应在该文件中更改ViewDidEnglish

我的建议是,首先更改模型,然后在视图控制器中逐步分析每个方法,您将了解它

NSString *currentNote = [[Data getAllNote]objectForKey:[Data getCurrentKey]];