开发者

Change from a NSMutableArray to a .plist

开发者 https://www.devze.com 2023-02-04 14:39 出处:网络
I have 开发者_JAVA技巧been working through several tutorials on uitableviews. I have put, as instructed, all the info into a \'listofitems\' as below

I have 开发者_JAVA技巧been working through several tutorials on uitableviews.

I have put, as instructed, all the info into a 'listofitems' as below

    listOfItems = [[NSMutableArray alloc] init];

NSArray *countriesToLiveInArray = [NSArray arrayWithObjects:@"Iceland", @"Greenland", @"Switzerland", @"Norway", @"New Zealand", @"Greece", @"Rome", @"Ireland", nil];
NSDictionary *countriesToLiveInDict = [NSDictionary dictionaryWithObject:countriesToLiveInArray forKey:@"Countries"];

NSArray *countriesLivedInArray = [NSArray arrayWithObjects:@"India", @"U.S.A", nil];
NSDictionary *countriesLivedInDict = [NSDictionary dictionaryWithObject:countriesLivedInArray forKey:@"Countries"];

[listOfItems addObject:countriesToLiveInDict];
[listOfItems addObject:countriesLivedInDict];

This creates a sectioned table view. I would like to know how to change it into a .plist instead of typing it all out into the RootViewController.m. I would still like it to be in a sectioned tableview.

Is there a simple method for changing from this NSMutableArray,NSArray and NSDictionary to a plist?


There's a simple method for this writeToFile:atomically::

[listOfItems writeToFile:destinationPath atomically:YES];

This will automatically create a file with plist inside it.


that sorta depends on what you want in a plist, and what you put into it. if the entries and contents are all CFPropertyList types (CFString,CFDate,CFData,CFDictionary,CFArray,CFNumber...) then just create it with something like CFPropertyListCreateDeepCopy.

if you have non-convertible custom objects (e.g., your own NSObject subclasses), then see the cocoa archiving topics.


This is the simple function end hear relization

This is function is updating NSArray

- (void) WriteRecordToFile:(NSMutableDictionary*)countDict {
    // Here to write to file
    databasePathCallCount = @"plist path";
    NSMutableArray *countArray = [NSMutableArray arrayWithContentsOfFile:databasePathCallCount];
    if(countArray)
        [countArray addObject:countDict];
    [countArray writeToFile:databasePathCallCount atomically:NO];
}
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号