DJ Delegate.h
DJ Delegate.m
DJ ViewController.h
@property (nonatomic, retain) IBOutlet UILabel *nameLbl;
@property (nonatomic, retain) IBOutlet UITextView *phoneTxtView;
- (IBAction)editButtonPressed:(id)sender;
DJViewController.m
#import "AddRec.h"
@synthesize nameLbl,
phoneTxtView;
- (IBAction)editButtonPressed:(id)sender
{
AddRec *addRecVC = [[AddRec alloc] init];
[self presentViewController:addRecVC animated:YES completion:nil];
}
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0];
NSString *plistPath = [documentsPath stringByAppendingPathComponent:@"Data.plist"];
if (![[NSFileManager defaultManager] fileExistsAtPath:plistPath])
{
plistPath = [[NSBundle mainBundle] pathForResource:@"Data" ofType:@"plist"];
}
NSData *plistXML = [[NSFileManager defaultManager] contentsAtPath:plistPath];
NSString *errorDesc = nil;
NSPropertyListFormat format;
NSDictionary *temp = (NSDictionary *)[NSPropertyListSerialization propertyListFromData:plistXML
mutabilityOption:NSPropertyListMutableContainersAndLeaves
format:&format errorDescription:&errorDesc];
if (!temp)
{
NSLog(@"Error reading plist: %@, format: %d", errorDesc, format);
}
NSString *personName = [temp objectForKey:@"Name"];
NSMutableArray *phoneNumbers = [NSMutableArray arrayWithArray:[temp objectForKey:@"Phones"]];
nameLbl.text = personName;
phoneTxtView.text = nil;
for (int i = 0 ; i < phoneNumbers.count ; i++)
{
phoneTxtView.text = [NSString stringWithFormat:@"%@\n%@", phoneTxtView.text, [phoneNumbers objectAtIndex:i]];
}
}
AddRec.h
{
NSString *personName;
NSMutableArray *phoneNumbers;
}
@property (nonatomic, retain) IBOutlet UITextField *nameEntered,
*homePhone,
*workPhone,
*cellPhone;
@property (nonatomic, retain) IBOutlet UIToolbar *toolBar;
//@property (nonatomic, retain) NSString *personName;
//@property (nonatomic, retain) NSMutableArray *phoneNumbers;
- (IBAction) saveData;
- (IBAction) textFieldReturn:(id)textField;
AddRec.m
@synthesize nameEntered,
homePhone,
workPhone,
cellPhone,
toolBar;
- (void)viewDidLoad
{
[super viewDidLoad];
nameEntered.inputAccessoryView = toolBar;
homePhone.inputAccessoryView = toolBar;
workPhone.inputAccessoryView = toolBar;
cellPhone.inputAccessoryView = toolBar;
NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0];
NSString *plistPath = [documentsPath stringByAppendingPathComponent:@"Data.plist"];
if (![[NSFileManager defaultManager] fileExistsAtPath:plistPath])
{
plistPath = [[NSBundle mainBundle] pathForResource:@"Data" ofType:@"plist"];
}
NSData *plistXML = [[NSFileManager defaultManager] contentsAtPath:plistPath];
NSString *errorDesc = nil;
NSPropertyListFormat format;
NSDictionary *temp = (NSDictionary *)[NSPropertyListSerialization propertyListFromData:plistXML mutabilityOption:NSPropertyListMutableContainersAndLeaves format:&format errorDescription:&errorDesc];
if (!temp)
{
NSLog(@"Error reading plist: %@, format: %d", errorDesc, format);
}
personName = [temp objectForKey:@"Name"];
phoneNumbers = [NSMutableArray arrayWithArray:[temp objectForKey:@"Phones"]];
nameEntered.text = personName;
homePhone.text = [phoneNumbers objectAtIndex:0];
workPhone.text = [phoneNumbers objectAtIndex:1];
cellPhone.text = [phoneNumbers objectAtIndex:2];
}
- (IBAction) saveData
{
NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0];
NSString *plistPath = [documentsPath stringByAppendingPathComponent:@"Data.plist"];
personName = nameEntered.text;
phoneNumbers = [[NSMutableArray alloc] initWithCapacity:3];
[phoneNumbers addObject:homePhone.text];
[phoneNumbers addObject:workPhone.text];
[phoneNumbers addObject:cellPhone.text];
NSDictionary *plistDict = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects: personName, phoneNumbers, nil]
forKeys:[NSArray arrayWithObjects: @"Name", @"Phones", nil]];
NSString *error = nil;
NSData *plistData = [NSPropertyListSerialization dataFromPropertyList:plistDict
format:NSPropertyListXMLFormat_v1_0
errorDescription:&error];
if(plistData)
{
[plistData writeToFile:plistPath atomically:YES];
}
else
{
NSLog(@"Error in saveData: %@", error);
}
[self dismissViewControllerAnimated:YES completion:nil];
}
- (IBAction) textFieldReturn:(id)sender
{
[nameEntered resignFirstResponder];
[homePhone resignFirstResponder];
[cellPhone resignFirstResponder];
[workPhone resignFirstResponder];
}
No comments:
Post a Comment
Comment