Sto provando a dare un valore di chiave NSDictionary a CGSize e XCode mi sta dando questo errore. Il mio codice:Elemento raccolta di tipo "CGSize" non è un oggetto Objective-C
NSArray *rows = @[
@{@"size" : (CGSize){self.view.bounds.size.width, 100}
}
];
Perché sto ricevendo un errore qui? Se è impossibile memorizzare un CGSize in un ditt, qual è un approccio alternativo?
EDIT: ora ottenere "Usate 'CGSize' (aka 'struct CGSize') dove è richiesto l'aritmetica, puntatore, o il tipo di vettore" errore con questo codice:
NSDictionary *row = rows[@0];
CGSize rowSize = [row[@"size"] CGSizeValue] ? : (CGSize){self.view.bounds.size.width, 80};
E 'davvero un peccato che non si può mettere una struct C arbitraria in un oggetto Objective-C utilizzando la nuova sintassi letterale. L'unica vera difficoltà che vedrei riguarda i selettori per tirarlo fuori. –
Cosa dire dell'assegnazione di un blocco come valore che restituisce CGSize? Un po 'come un "Lambda" in Python – zakdances
@yourfriendzak: Sembra un po' assurdo. –