Penso che sto diventando cieco, perché non riesco a capire dove l'errore di sintassi è in questo codice:Posso dichiarare variabili all'interno di un'istruzione switch Objective-C?
if(cell == nil) {
titledCell = [ [ [ TitledCell alloc ] initWithFrame:CGRectZero
reuseIdentifier:CellIdentifier ] autorelease
];
switch(cellNumber) {
case 1:
NSString *viewDataKey = @"Name";
etc...
Quando provo a compilarlo, sto ricevendo un errore : errore di sintassi prima del token '*' sull'ultima riga.
Ci scusiamo per una domanda di base, ma cosa mi manca?
Che tipo di variabile è CellNumber? L'istruzione switch è da C, quindi l'uso dei tipi Objective-C può farlo scattare. –
C supporta solo oggetti di tipo integrale per 'switch/case', e mi aspetterei un messaggio di errore diverso se questo fosse il problema qui. – ephemient
Objective-C segue C99 (e C++) e ti permette di dichiarare variabili ovunque, o puoi farlo solo all'inizio di un blocco?Se sei costretto a dichiararli all'inizio di un blocco, allora potresti correggere il tuo errore di sintassi inserendo un '' {''dopo il' ':'' di ''case 1:'' e un matching ''} "prima della fine del caso. –