Tack arc tack arc tack arc oj förlåt att jag upprepar mig så mycket men jag är väldigt tacksam för vad arc skriver.
Mao så sparar jag filen i det format jag sedan ska använda för att skicka den. Det låter bra.
Hur läser jag dessa sparningar sedan?
Medan jag ändå skriver så kan jag kasta ut en helt annan fråga.
Hur ritar jag med Cocoa 2D på en View?
Jag vill bara rita ett streck inget avancerat.
Läsa upp sparade filer gör du med t.ex.
NSData-fil
NSData *data = [[NSData alloc]initWithContentsOfFile: path];
NSString-fil
NSError *error;
NSString *str = [NSString stringWithContentsOfFile: path encoding: NSUTF8StringEncoding error: &error];
(Fungerar om det är en fil sparad som UTF-8)
För att rita med Cocoa 2D (jag tror det här Cocoa 2D ) kan du skapa en klass, t.ex. GraphView som ärver UIView. I GraphView-klassen kan du implementera en drawRect-metod:
-(void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
// Fill in the background
CGContextSetFillColorWithColor(context, CreateDeviceGrayColor(0.6, 1.0));
CGContextFillRect(context, self.bounds);
// Draw a blue line
CGContextMoveToPoint(context, 5, 5);
CGContextAddLineToPoint(context, 10, 10);
CGContextSetStrokeColorWithColor(context, CreateDeviceRGBColor(1.0, 0.0, 0.0, 1.0));
CGContextStrokePath(context);
}
Två hjälpfunktioner:
CGColorRef CreateDeviceGrayColor(CGFloat w, CGFloat a)
{
CGColorSpaceRef gray = CGColorSpaceCreateDeviceGray();
CGFloat comps[] = {w, a};
CGColorRef color = CGColorCreate(gray, comps);
CGColorSpaceRelease(gray);
return color;
}
CGColorRef CreateDeviceRGBColor(CGFloat r, CGFloat g, CGFloat b, CGFloat a)
{
CGColorSpaceRef rgb = CGColorSpaceCreateDeviceRGB();
CGFloat comps[] = {r, g, b, a};
CGColorRef color = CGColorCreate(rgb, comps);
CGColorSpaceRelease(rgb);
return color;
}