2011-01-17 4 views
2

i genannt CGMutablePathRef Objekt haben Weg, Ich möchte wissen, wie kann ich wissen, Weg null ist, es bedeutet, dass ich nicht, wie Sie überprüfen CGMutablePathRef null ist oder nicht

verwendet haben
CGPathAddLineToPoint(path, NULL, point.x, point.y); 

oder

CGPathMoveToPoint(path, NULL, startPoint.x, startPoint.y); 

, um Punkte in Pfad zu pushen.

Antwort

2

Um zu überprüfen, ob ein Pfad NULL ist, den ==/!= Operator verwenden.

if (path != NULL) 
    CGPathAddLineToPoint(path, NULL, point.x, point.y); 

Um zu überprüfen, ob ein Pfad nicht nichts enthält, verwenden CGPathIsEmpty.

if (!CGPathIsEmpty(path)) 
    CGPathAddLineToPoint(path, NULL, point.x, point.y); 

Um zu überprüfen, ob ein Punkt in den Weg, CGPathGetCurrentPoint und vergleichen mit (0, 0) verwenden verschoben wurde.

if (!CGPointEqualToPoint(CGPathGetCurrentPoint(path), CGPointZero)) 
    CGPathAddLineToPoint(path, NULL, point.x, point.y); 

Natürlich kann dies nicht zwischen einem wirklich leeren Pfad unterscheiden und einem Weg, dass jemand CGPathMoveToPoint(path, NULL, 0, 0) ihr aufgefordert hat.

(Eigentlich, warum Sie kümmern müssen? Sie einfach einen neuen Pfad erstellen, wenn Sie einen leeren wollen.)

0

ein CGMutablePathRef ist ein Zeiger, so alles, was Sie tun müssen, um dies zu testen ist:

if (NULL != path) { 
    CGPathAddLineToPoint(path, NULL, point.x, point.y); 
} 
+0

aber es gibt viele Möglichkeiten, dies zu schreiben. Viele Leute wählen auch 'if (Pfad)', 'if (Pfad! = NULL)' und 'if (0! = Pfad)' - alle erzeugen dieselben Ergebnisse. – justin

Verwandte Themen