Bir NSDictionary anahtar değerini bir CGSize vermeyi deniyorum ve XCode bana bu hatayı veriyor. Benim kodum:'CGSize' türündeki koleksiyon öğesi bir Objective-C nesnesi değil
NSArray *rows = @[
@{@"size" : (CGSize){self.view.bounds.size.width, 100}
}
];
Neden burada bir hata alıyorum? Bir CGSize'i bir dict'ta saklamak imkansızsa, o zaman alternatif bir yaklaşım nedir?
DÜZENLEME: şimdi alma bu kodla hata "aritmetik, işaretçi, ya da vektör türü gereklidir Kullanılmış tip 'CGSize' (aka 'struct CGSize')":
NSDictionary *row = rows[@0];
CGSize rowSize = [row[@"size"] CGSizeValue] ? : (CGSize){self.view.bounds.size.width, 80};
Gerçekten yeni değişmez sözdizimini kullanarak objektif-c nesnesine keyfi bir C yapı koyamazsınız utanç vericidir. Görebildiğim tek gerçek zorluk, onu çıkarmak için seçmenlerle uğraşıyor. –
CGSize değerini döndüren değer olarak bir bloğun atanmasına ne dersiniz? Python – zakdances
@yourfriendzak bir "Lambda" gibi sırala: Bu biraz saçma görünüyor. –