RSS
 

CSV Parsen und ins lokale Addressbuch schreiben

Veröffentlicht am September 17, 2007 um 10:56 am

17 Sep

Anbei ein Beispielcode wie man eine CSV Zeile parst und diese ins lokale Addressbuch des Benutzers speichert:

#import "AdressController.h"
#import "AddressBook/ABAddressBook.h"
<span id="more-63"></span>
@implementation AdressController
 
- (IBAction)addAdress:(id)sender
{
	NSString *strName;
	strName = [Namefield stringValue]; //VALUE DES EINGABEFELDS
 
	ABAddressBook *addressBook;
	ABPerson *newPerson;
 
	addressBook = [ABAddressBook sharedAddressBook]; //LOKALES ADRESSBUCH
 
	/* CSV PARSING BOF */
	NSString *csvTest = @"dennis;müller"; //BEISPIEL CSV ZEILE
	NSString *separatorString = @";"; //TRENNZEICHEN DEFINIEREN
 
	NSScanner *csvScanner = [NSScanner scannerWithString:csvTest]; //CSV PARSER
 
	int anInt;
	[csvScanner scanInt:&amp;anInt]; //ZÄHLER ÜBERGEBEN FÜR DIE SCANLOCATION
 
	NSString *name;
	[csvScanner scanUpToString:separatorString intoString:&amp;name]; //NAME EINLESEN
 
	NSString *vorname;
	vorname = [[csvScanner string] substringFromIndex:([csvScanner scanLocation]+1)]; //VORNAME EINLESEN
	/* CSV PARSING EOF */
 
	/* CSV ZEILE EINFÜGEN BOF */
	newPerson = [[ABPerson alloc] init]; //SPEICHER RESERVIEREN FÜR DIE ABPerson
 
	[newPerson setValue:name forProperty:kABFirstNameProperty];
	[newPerson setValue:vorname forProperty:kABLastNameProperty];
	[addressBook addRecord:newPerson];
	[addressBook save];
 
	[newPerson release]; // SPEICHER FÜR ABPerson freigeben
	/* CSV ZEILE EINFÜGEN EOF */
}
 
@end
 

Hinterlassen Sie eine Nachricht