Reputation: 9503
I'm attempting to load a mutable array and got stuck.
Essentially what I want to do is to be able to add any class object to a global array. In this example I merely have name & address.
Here's a playground snippet:
import Foundation
var gDownloaders:NSMutableArray?
class downloader {
var name:String?
var address:String?
init(name:String, address:String) {
self.name = name
self.address = address
}
}
let one = downloader(name: "Ric Lee", address: "901 Edgewood")
let two = downloader(name: "Richard Brauer", address:"1010 Red Oak")
let three = downloader(name: "Meredith Lind", address: "410 Sunset Blvd")
gDownloaders?.addObject(one)
gDownloaders?.addObject(two)
gDownloaders?.addObject(three)
println(gDownloaders)
BTW: Xcode insist that I have the '?'/gDownloaders.
All I'm getting is nil for gDownloaders; even though each of the three objects are bona fide with data.
What am I doing wrong?
...should I use the Array vs NSMutableArray class instead?
Upvotes: 1
Views: 7812
Reputation: 28094
You never initialize gDownloaders. You declare what type the variable gDownloaders should have, but you don't put anything in that variable.
Try:
var gDownloaders:NSMutableArray? = NSMutableArray()
Upvotes: 2
Reputation: 19524
In swift, in a playground try this:
import Foundation
class downloader {
var name:String?
var address:String?
init(name:String, address:String) {
self.name = name
self.address = address
}
}
var gDownloaders = [downloader]()
let one = downloader(name: "Ric Lee", address: "901 Edgewood")
let two = downloader(name: "Richard Brauer", address:"1010 Red Oak")
let three = downloader(name: "Meredith Lind", address: "410 Sunset Blvd")
gDownloaders.append(one)
gDownloaders.append(two)
gDownloaders.append(three)
println(gDownloaders[0].name!)
Upvotes: 0