2011-02-23 14 views
5

NSBezierPath'te appendBezierPathWithPoints:count: yöntemini kullanmak istiyorum. Ancak, yöntem NSPointArray'ı kullanmamı gerektirir. Belgesel, bu konuda pek fazla konuşmuyor ve tek yapabildiğim, bunun bir dizi NSPoints olması ve nasıl yapılacağından emin değilim. Bence c dizi mekanizmasını kullanıyor ama emin değilim.NSPointArray nasıl kullanılır?

Teşekkürler.

cevap

8

Evet, appendBezierPathWithPoints:count:'a geçmek için C stili bir dizi diziye ihtiyacınız vardır. Örneğin böyle bir şey yapabilir: linesNSBezierPath bir örneğidir

NSPoint pointArray[3]; 

pointArray[0] = NSMakePoint(0, 0); 
pointArray[1] = NSMakePoint(0.5, 0.25); 
pointArray[2] = NSMakePoint(1, 1); 

[lines appendBezierPathWithPoints:pointArray count:3]; 

.

Daha karmaşık bir durumda, değişken sayıda nokta kullanacağınızı varsayalım.

2

Objective-C stil dizisini kullanmak isterseniz, bu amaçla NSValue sınıfını kullanmanız gerekir.

NSMutableArray *array = [NSMutableArray array]; 

CGPoint myPoint; 
myPoint.x = 100; 
myPoint.y = 200; 

[array addObject:[NSValue valueWithPoint:myPoint]]; 

geri diziden bir NSPoint geri almak için:
myPoint = [array[0] pointValue]; 

yardımcı olur Umut.