2011-10-06 56 views
1

我希望有人能夠指出我在正確的方向。我是iOS/Objective C新手,但熟悉傳統的ASP/PHP。從SQLite NSArray繪製CGRects

我想動態地使用SQLite數據庫中的數據生成CGRects(填充的省略號)。我能夠連接到SQLite數據庫,並拉出一個數組,所以這是工作。您會看到我的CGRect目標成功寫入NSLog,並手動繪製兩個點。

我只需要在正確的方向上進行一點點的推動,就像將記錄集中的項目放入CGRect行中的最佳方法一樣,以類似的方式將它們發送到NSLog。

我工作的CGRect代碼:

- (void)drawRect:(CGRect)rect { 

CGContextRef context = UIGraphicsGetCurrentContext(); 

// Set dot alpha transparency 
CGContextSetAlpha(context, 0.70); 

// And draw with a blue fill color 
CGContextSetRGBFillColor(context, 0.0, 0.0, 1.0, 1.0); 

// Fill rect convenience equivalent to AddEllipseInRect(); FillPath(); 
int ellipseDiameter = 35.0; 
int drawOffset = ellipseDiameter/2; 

//NSArray into NSLog showing how CGRect should be formatted from SQLite data 
NSArray *locationInfos = [LocationDatabase database].locationInfos; 
for (LocationInfo *info in locationInfos) { 
    NSLog(@"CGContextFillEllipseInRect(context, CGRectMake(%@ - drawOffset, %@ - drawOffset, ellipseDiameter,ellipseDiameter))", info.xCoordText, info.yCoordText); 
} 

//drawing dot 1 
CGContextFillEllipseInRect(context, CGRectMake(125.0 - drawOffset, 108.0 - drawOffset, ellipseDiameter, ellipseDiameter)); 

//drawing dot 2 
CGContextFillEllipseInRect(context, CGRectMake(132.0 - drawOffset, 146.0 - drawOffset, ellipseDiameter, ellipseDiameter));  
} 

任何方向真的可以理解。提前致謝!

回答

1

info.xCoordTextinfo.yCoordTextNSString,只需撥打[info.xCoordText floatValue]將它們變成浮動。

即:

CGContextFillEllipseInRect(context, CGRectMake(info.xCoordText.floatValue - drawOffset, info.yCoordText.floatValue - drawOffset, ellipseDiameter,ellipseDiameter)); 
+0

這就是我需要的到底是什麼!謝謝。我認爲floatValues與記錄集類似......這讓我的生活變得更加輕鬆。再次感謝! – Lauren