Collection-Element vom Typ 'CGSize' ist kein Objective-C-Objekt

7

Ich versuche, einem NSDictionary-Schlüsselwert eine CGSize zu geben, und XCode gibt mir diesen Fehler. Mein Code:

%Vor%

Warum bekomme ich hier einen Fehler? Wenn es unmöglich ist, eine CGSize in einem Diktat zu speichern, was ist dann ein alternativer Ansatz?

BEARBEITEN: Jetzt wird "Used type 'CGSize' (aka 'struct CGSize'), wo Arithmetik, Zeiger oder Vektor Typ erforderlich ist" Fehler mit diesem Code:

%Vor%     
zakdances 18.03.2013, 21:39
quelle

2 Antworten

21

CGSize ist kein Objekt. Es ist eine C-Struktur. Wenn Sie dies in einer obj-c-Sammlung speichern müssen, besteht die Standardmethode darin, sie wie folgt in NSValue einzufügen:

%Vor%

Wenn Sie später CGSize zurückbekommen müssen, rufen Sie einfach die Methode -CGSizeValue auf, z. B.

%Vor%     
Kevin Ballard 18.03.2013, 21:41
quelle
0

Kevins Antwort funktioniert nur auf iOS; Für Mac OS X (Cocoa):

%Vor%     
prewett 12.09.2016 23:42
quelle