Why is Xcode 4.3.1 putting red strikethrough through this protected variable?
Overriding a protected method in child a class with public access modifier is considered a compromising behavior by XCode. Even though your code is syntactically correct , that strikeout text is a simple warning for you to revise your code to make sure you're not exposing one of your internally important class method to outside world.
Edit: Seems like an Xcode bug.