Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 9273269
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 18, 20262026-06-18T16:04:21+00:00 2026-06-18T16:04:21+00:00

I have some question about the reading/writing a plist. I use this cose for

  • 0

I have some question about the reading/writing a plist.
I use this cose for read plist

NSString *strFilePath = [ [NSBundle mainBundle] pathForResource:@"miodb" ofType:@"plist" ] ;

NSMutableDictionary *dictMioDB = [[NSMutableDictionary alloc] initWithContentsOfFile:strFilePath] ;

NSString *strValue ;
strValue = [dictMioDB objectForKey: @"stringa1" ] ;
NSLog( @"%@" , strValue ) ;

And for write plist I use this code:

NSString *strFilePath = [ [NSBundle mainBundle] pathForResource:@"miodb" ofType:@"plist" ] ;
NSLog( @"%@" , strFilePath ) ;

NSMutableDictionary *dictMioDB = [[NSMutableDictionary alloc] initWithContentsOfFile:strFilePath] ;

NSString *strTextField = [NSString stringWithFormat: @"%@" , [txtField text] ] ;

// ga - salvataggio del valore nella chiave nel NSMutableDictionary
[dictMioDB setValue: strTextField forKey:@"stringa1"];
[dictMioDB writeToFile: strFilePath atomically:YES];

Now the problem is that the plist must be saved in Documents directory
So I used this code:

//percorso file su cartella documents
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [documentPaths objectAtIndex:0];
NSString *path = [documentsDir stringByAppendingPathComponent:@"iOre.sqlite"];
    //[[NSFileManager defaultManager] removeItemAtPath:path error:nil];

//controllo se il file esiste
if(![[NSFileManager defaultManager] fileExistsAtPath:path])
{
    //se non esiste lo copio nella cartella cosuments
    NSString *pathLocale=[[NSBundle mainBundle] pathForResource:@"iOre" ofType:@"sqlite"];
    if ([[NSFileManager defaultManager] copyItemAtPath:pathLocale toPath:path error:nil] == YES) 
    {
        NSLog(@"copia eseguita");
    }
}

Now I have join the two pieces of codes in this:

  //percorso file su cartella documents
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [documentPaths objectAtIndex:0];
NSString *path = [documentsDir stringByAppendingPathComponent:@"LevelsD.plist"];
[[NSFileManager defaultManager] removeItemAtPath:path error:nil];

NSString *pathLocale;

//controllo se il file esiste
if(![[NSFileManager defaultManager] fileExistsAtPath:path])
{
    //se non esiste lo copio nella cartella documents
    pathLocale=[[NSBundle mainBundle] pathForResource:@"LevelsD" ofType:@"plist"];
    if ([[NSFileManager defaultManager] copyItemAtPath:pathLocale toPath:path error:nil] == YES)
    {
        NSLog(@"copia eseguita");
    }
}

// ga - trovo la posizione del .plist
//NSString *strFilePath = [ [NSBundle mainBundle] pathForResource:@"LevelsD" ofType:@"plist" ] ;
NSLog( @"%@" ,documentsDir) ;

// ga - copio tutto il .plist (la root è un Dictionary) in un NSMutableDictionary
NSMutableDictionary *dictMioDB = [[NSMutableDictionary alloc] initWithContentsOfFile:documentsDir] ;

NSString * txtField = @"1";

//NSString *strTextField = [NSString stringWithFormat: @"%@" , txtField ] ;

// ga - salvataggio del valore nella chiave nel NSMutableDictionary
[dictMioDB setValue: txtField forKey:@"LevelHere1"];
[dictMioDB writeToFile: pathLocale atomically:YES];

This don’t work but now I have some doubts. In my plist file I don’t see any change but is possible that value of ‘txtField’ was saved into ‘dictMioDB’? How I can see if a record/string was inserted into my plis? Another doubt: When I write something into Document folder with the simulator the data will be deleted when I close this or when I will re-compile the app? While in the Iphone this data will deleted when I remove the app? Right?
The last dubt: When I will read a plist that is in document folder I can use the firs code that search automatically the path of plist?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-18T16:04:23+00:00Added an answer on June 18, 2026 at 4:04 pm

    While writing file, you are doing wrong as you can not write file to main bundle. It must be written in documents directory:

    + (NSString *) getFilePathInDocsDir: (NSString *)fileName
    {
        NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
                                                                     NSUserDomainMask, YES);
    
        NSString *docsDir = documentPaths[0];
        NSString *filePathInDocsDir = [docsDir stringByAppendingPathComponent:fileName];
        return filePathInDocsDir;
    }
    

    So use this function and write the file to returned path only, not in main bundle

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have some question about WH_MOUSE. From what I've read, by putting the hook
Reading Real world Haskell i found some intresting question about data types: This pattern
So, i have some question about xml Documents in Java. Can i get all
I have a question about reflection I am trying to have some kind of
Quick question about include/requre_once . I have some code that is common to a
I have a question about some functionality I'm trying to add to my jQuery
i have what i hope is a quick question about some code i am
I have a question about SqlDataReader: Is there some way to modificated the values
I have a question about laying out some swing components. Say, I have a
I have asked a similar question about command line arguments in C++ some hours

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.