Objective c 试图从TextView保存文本(数据)

Objective c 试图从TextView保存文本(数据),objective-c,ios7,uitextview,Objective C,Ios7,Uitextview,我正在使用Xcode开发一个iPhone应用程序 我已经创建了一个包含textview的视图控制器,我希望用户能够在其中输入可以保存的文本 现在,这是我为这个视图控制器编写的代码 -(void)viewDidLoad { [super viewDidLoad]; self.navigationItem.title = @"Notes"; self.navigationItem.rightBarButtonItem = self.editButtonItem; } -(v

我正在使用Xcode开发一个iPhone应用程序

我已经创建了一个包含textview的视图控制器,我希望用户能够在其中输入可以保存的文本

现在,这是我为这个视图控制器编写的代码

  -(void)viewDidLoad
{
   [super viewDidLoad];
   self.navigationItem.title = @"Notes";
   self.navigationItem.rightBarButtonItem = self.editButtonItem;
}

 -(void)viewWillAppear:(BOOL)animated{
    self.notesText.text = _notesText.text;
}

-(void)setEditing:(BOOL)editing animated:(BOOL)animated
{
    [super setEditing:editing animated:animated];

    self.notesText.editable = editing;
    [self.navigationItem setHidesBackButton:editing animated:YES];

    if (!editing) {
        _notesText.text = self.notesText.text;

    }
您看到的代码允许我保存数据,但前提是应用程序保持打开状态。我可以保存文本,数据将显示并显示应用程序是否保持打开状态。如果我保存文本并关闭应用程序,当我再次打开应用程序时,数据不会出现,因此我假设它不会保存它

有人知道为什么会这样吗。我应该更改或添加什么


任何帮助都将不胜感激

我不清楚你在问什么

  • 如果要将文本永久保存在某个位置,应使用类似于
    核心数据
    NSUserDefaults
    的内容
  • 如果您只想在注释中保留对文本的引用,请创建一个
    NSString
    属性,并在
    视图中使用该属性将显示:
    。将屏幕上的内容保存到类似于
    视图的内容将消失:
  • 如果你只是想让文本在应用程序后台时留在屏幕上,你不必做任何事情

如果要永久保存文本,必须将其保存到文件中。如前所述,NSDefaults是一个选项,但您也可以简单地将字符串作为文件写入,特别是如果字符串很长的话


如果您希望即使视图已关闭也只保留文本,则必须使用根ViewController保留字符串如果需要将数据转储到文件中,可以执行以下操作:

+(void)createFile:(NSString*)receivedString
{
    //Get the file path. Then create a new file if one doesn't exist already or append to it if it does exist
    NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
    NSString *fileName = [documentsDirectory stringByAppendingPathComponent:@"Filename.txt"];


    //create file if it doesn't exist
    if(![[NSFileManager defaultManager] fileExistsAtPath:fileName])
        [[NSFileManager defaultManager] createFileAtPath:fileName contents:nil attributes:nil];

    //append text to file 
    NSFileHandle *file = [NSFileHandle fileHandleForUpdatingAtPath:fileName];
    [file seekToEndOfFile];
    [file writeData:[receivedString dataUsingEncoding:NSUTF8StringEncoding]];
    [file closeFile];
}
但是,如果数据较小,则可以使用NSUserDefaults

NSUserDefaults *def = [NSUserDefaults standardUserDefaults];
[def setObject:<you text view data> ForKey:@"yourKey"];
NSUserDefaults*def=[NSUserDefaults standardUserDefaults];
[def setObject:ForKey:@“yourKey”];

我希望保存用户输入的文本,并在应用程序关闭后仍保留在应用程序中。(现在,如果应用程序完全关闭,数据不会显示)然后将数据保存在NSUserDefaults或Core data中。很抱歉给您带来麻烦。我对这门语言和这类编程相当陌生,你知道有什么教程,比如你提到的,我可以在那里学习如何使用它们。这只是一行代码<代码>[[NSUserDefaults standardDefaults]setObject:yourText-forKey:@“SomeKeyToRetrieveIthrater”]如果我将数据放入文件中。如何将文件重新加载回textview?您必须编写一个方法来读取您创建的文本文件,将其内容复制到NSString对象中,然后将NSString对象设置为您的textview。类似于self.myTextView=stringObj;您可以参考以下答案: