2016-08-16 8 views
0

Ich habe eine NSMutableArray mit CGPoint. Wenn ich versuche, ein Objekt zu meinen CGPoint Variable hinzufügen sehe ich diesen Fehler:Zuweisung zu 'CGPoint' (aka 'struct CGPoint') von inkompatiblen Typ 'ID'

Assigning to 'CGPoint' (aka 'struct CGPoint') from incompatible type 'id'

Hier ist mein Code:

targetView.center = [arrayWithCoord objectAtIndex:1]; 

habe ich versucht, den Weg Xcode schlägt vor:

targetView.center = *((__bridge CGPoint *)([arrayWithCoord objectAtIndex:1])); 

ich auch versuchte dies:

targetView.center = ((NSValue *)arrayWithCoord[0]).CGPointValue; 

In allen Fällen habe ich targetView.center = {0 , 0}.

Ich bin mir absolut sicher, dass das Array nicht leer ist. Sehen Sie meine s:

2016-08-17 00:41:40.760 newword[16497:819894] Element NSPoint: {154.5, 31}

2016-08-17 00:41:40.760 newword[16497:819894] Element NSPoint: {197.5, 31}

2016-08-17 00:41:40.760 newword[16497:819894] Element NSPoint: {240.5, 31}

2016-08-17 00:41:40.761 newword[16497:819894] target center result {0, 0}

Vielen Dank für jede Hilfe!

Antwort

3

sagt * Entfernen von CGPoint

Sie sind Schreib

CGPoint * 

Schreib

CGPoint 

nur

Und verwendet

NSValue *val = [arrayWithCoord objectAtIndex:0]; 
CGPoint p = [val CGPointValue]; 

und weist dann p zu targetView.center

oder Punkt machen, indem nur einen Schritt

CGPoint p = [arrayWithCoord[0] CGPointValue]; 
+0

Ich habe das Ziel Ergebnis: 2016-08-17 09: 36: 03.682 newword [17057: 841214] P ist {154.5, 31} 2016-08-17 09: 36: 03.682 newword [17057: 841214] Ziel center result {0, 0} –

+0

i ding target center ist nicht gesetzt, überprüfe mit target.center = CGPointMake (px, py); –

2

Was ist die target, die Sie ändern wollen?

Der Code zum Entpacken des CGPoint aus dem NSValue im Array sollte funktionieren. Sie können dies testen, indem Sie es einer temporären Variablen zuweisen, es drucken und dann als center zuweisen.

Funktioniert das Einstellen der Mitte zu einem beliebigen Punkt wie @{3,5}?

+0

Ich versuche, meinen Knopf per Klick zu bewegen. targetView ist ein UIImages. [Screenshot] (https://monosnap.com/file/4xR5yYVcRQK4YkAvD1YHruCctBpNUF.png) –

Verwandte Themen