首先,你有一个实例方法,它返回一个数组Entrepreneur
对象(顺便说一句,我没有看到return
,也许你忘了复制它)。
该方法应该是一个类方法,因为您不使用该方法的任何属性Entrepreneur
返回它的对象:
class func populateArray() -> [Entrepreneur] {
var entreprenuersArray:[Entrepreneur] = []
//Mark Zuckerberg
let markZuckerBerg = Entrepreneur()
markZuckerBerg.name = "Mark Zuckerberg"
markZuckerBerg.age = 19
markZuckerBerg.company = "Facebook"
markZuckerBerg.netWorth = (35.7, "Billion")
// add mark zuckerberg object to array
entreprenuersArray.append(markZuckerBerg)
print (entreprenuersArray)
return entreprenuersArray
}
然后你可以通过调用来获得你的数组:
let array = Entrepreneur.populateArray()
其次,在这个方法中,您创建一个数组Entrepreneur
对象并返回它,但在示例代码中,您从不使用此数组:
// Creates a Entrepreneur object with default values
let entrepreneuerss:Entrepreneur = Entrepreneur()
// create an array of entrepreneurs objects, returns it, but never use it
entrepreneuerss.populateArray()
// print some information about the object with default values
print (entrepreneurs)
相反,您应该使用类方法并尝试:
// create an array of entrepreneurs objects, returns it,
let arrayEntrepreneurs = Entrepreneur.populateArray()
// print some information about the array of Entrepreneurs objects
print (arrayEntrepreneurs)
为了对您的对象有详细的描述,因为它继承自NSObject
,只需覆盖description
只读属性,以便在记录对象时自定义文本:
override var description : String {
get {
return "Entrepreneur : name : `\(name) - company : `\(company)` - summary : `\(summary)` - age : `\(age)`"
}
}
因此你的打印函数将返回:
[Entrepreneur : name : `Optional("Mark Zuckerberg") - company : `Optional("Facebook")` - summary : `[""]` - age : `Optional(19)`]