Just a small nitpick. @synthesize goes away in "modern" Objective C. Removing them will give new iOS developers one less thing to be annoyed about. Since you've done a great job, I think a lot of people will start with this project. Thanks!
Got any references for this so I can do some further reading? As someone starting to learn Objective C, I'm mainly being told to use @synthesize. I did a quick Google for links about it not being required. There are some saying it might possibly be automatically added but then there were also a lot of responses saying this is still not the case & that @synthesize should be used still.
You only need to synthesize when you access the variable directly.
I always access via properties unless I'm within a setter for that property or if I want to bypass my own lazy loading getter code. So I'm left with only a few occasional @synthesize statements in most classes.
And in Xcode, run Edit > Refactor > Convert to Modern Objective-C Syntax. I don't think it helps remove unnecessary @synthesize, but it sure helps with those super-double-extra-verbose-old-style container subscripting accesses.
---
@synthesize position = _position;
@synthesize lightManager = _lightManager;
@synthesize row = _row;
@synthesize column = _column;
@synthesize isPartOfRoute = _isPartOfRoute;
@synthesize topConnector = _topConnector;
@synthesize rightConnector = _rightConnector;
@synthesize lightState = _lightState;
@synthesize lightValue = _lightValue;
@synthesize gameLayer = _gameLayer;
@synthesize innerCircleSprite = _innerCircleSprite;
@synthesize outerCircleSprite = _outerCircleSprite;
@synthesize routedSprite = _routedSprite;
@synthesize valueSprite = _valueSprite;
@synthesize activeTimeRemaining = _activeTimeRemaining;
@synthesize cooldownTimeRemaining = _cooldownTimeRemaining;
@synthesize chargeTimeRemaining = _chargeTimeRemaining;
reply