Reputation: 3709
[array writeToFile:[documentsDirectory stringByAppendingPathComponent:@"data.plist" atomically:YES];
this line gives error that method -stringByAppendingPathComponent
not found. whats the issue
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSArray *array = [[NSArray alloc]initWithObjects:@"First", @"Second", @"Third", nil];
[array writeToFile:[documentsDirectory stringByAppendingPathComponent:@"data.plist" atomically:YES]];
Upvotes: 0
Views: 287
Reputation: 7733
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSLog(@"%@",documentsDirectory);
NSString *plistName = @"%@chores.plist";
NSString *path = [documentsDirectory stringByAppendingPathComponent:plistName];
NSArray *array=[[NSArray alloc]initWithObjects:@"abc",@"pqr",@"xyz",nil];
[array writeToFile:path atomically:YES];
Upvotes: 0
Reputation: 4329
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
plistpath = [[NSString alloc] initWithString:[documentsDirectory stringByAppendingPathComponent:@"Product.plist"]];
And then
[array writeToFile:path atomically:YES];
[Whatever [Array or Dictionary] you want to Write in Plist]
If it is still not creating the plist then check whether your array or dictionary must be empty.
Upvotes: 3
Reputation: 119292
As pointed out by Mats in comments, but seemingly ignored (or incorrectly corrected by you in the edit):
[array writeToFile:[documentsDirectory stringByAppendingPathComponent:@"data.plist" atomically:YES]];
Should be
[array writeToFile:[documentsDirectory stringByAppendingPathComponent:@"data.plist"] atomically:YES];
Note the positioning of the brackets.
Upvotes: 4