2012-03-21 4 views
13

enter image description herePerché Xcode 4.3.1 sta barrando il rosso attraverso questa variabile protetta?

Fa intendere che non è possibile accedere a myPrivateInt. Ma myProtectedInt è totalmente accessibile qui (compila bene). Allora, perché è passato quel fastidioso barrato rosso che lo attraversa?

Xcode 4.3.1 utilizzando iOS SDK 5.1.

+1

Cosa succede se non si usa 'this'? Il suggerimento del completamento automatico continua a essere barrato? –

+0

@ Evan: Sì, lo stesso. –

+2

Segnala un bug report: https://developer.apple.com/bugreporter/. Consiglio di inviare loro anche un link a questo post. –

risposta

4

Sostituire un metodo protetto in child una classe con modificatore di accesso pubblico è considerato un comportamento compromettente da parte di XCode. Anche se il tuo codice è sintatticamente corretto, il testo barrato ti avvisa di rivedere il tuo codice per assicurarti di non esporre al mondo esterno uno dei tuoi metodi di classe internamente importanti.

Modifica: Sembra un bug Xcode.

+0

ma ... Non sto ... sovrascrivendo ... qualsiasi cosa –

+0

Puoi provare ad accedere alla tua variabile protetta tramite l'operatore di risoluzione scope. 'Something :: myProtectedInt;' – diegoperini

+1

Ha lo stesso problema: Il completamento automatico di ivar protetto nel genitore (pubblico) mi dà la barratura rossa. Ho provato la risoluzione dell'ambito, inutilmente. Mi piacerebbe sapere perché XCode pensa che questo dovrebbe essere scoraggiato, quando è valido C++. –

Problemi correlati