Splitting NSString by characters
NSArray *parts = [string componentsSeparatedByString:@","];
for(NSString *aPart in parts)
{
//Do something with each part
}
Splitting NSString by \r and \r\n
NSArray *lines = [string componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];
Case-insensitive compare
if ([string1 caseInsensitiveCompare:someString2]==NSOrderedSame) { }
Parsing XML
NSString * xml = [someXMLString; NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; NSXMLParser * parser = [[NSXMLParser alloc] initWithData:[xml dataUsingEncoding:NSUTF8StringEncoding]]; [parser setDelegate:self]; [parser setShouldResolveExternalEntities:NO]; [parser parse]; [parser release]; [pool release];
- (void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
[currentContent setString:@""];
if ([elementName isEqualToString:@"Cell"])
{
parsingCell = [Cell new];
return;
}
}
- (void) parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
[currentContent appendString:string];
}
- (void) parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
//NSLog(@"end:%@",elementName);
if ( [elementName isEqualToString:@"Cell"])
{
[self setCell:parsingCell atX:parsingCell.colX atY:parsingCell.rowY];
//[grid addObject:parsingCell];
}
else
{
[parsingCell setCellValue:[[currentContent stringByAppendingString:@""] retain] key:elementName];
}
}
- (void) parserDidEndDocument:(NSXMLParser *)parser
{
}