reason:
The error is because the type tries to access the self property before self was initialized (initialization happens after defining the values for properties).
Solution:
define first before initialization and then set its value after initialization, for example in viewDidLoad function
private var imageList : NSMutableArray = [] //define
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
imageList = NSMutableArray(capacity: usersNumber)
}