How to print the value of an object in an array in swift and not about its location

I have a class that contains data about some entrepreneurs in a separate fast file that is part of the same project.

It looks like this:

class Entrepreneur:NSObject {

var name:String?
var netWorth = (0.0, "")
var company:String?
var summary: [String]
var age: Int?
override init() {
    name = ""
    company = ""
    summary = [""]
    age = 1;

}

In the same file, I have a function that returns an NSMutableArray that contains instances of the entrepreneur class as follows:

func populateArray() -> NSMutableArray {

var entreprenuersArray: NSMutableArray = []

//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.addObject(markZuckerBerg)
print (entreprenuersArray)

in my ViewController.swift file . I create a constant called entrepreneurs, and give it the type of the Entrepreneur class created above and initialize it as follows:

let entrepreneuerss:Entrepreneur = Entrepreneur()

Then I access one method of the class, the "populateArray" function, and try to print an array of entrepreneurs as follows:

   entrepreneuerss.populateArray()
    print (entrepreneuerss)

, , ... - :. : 0x7f88d0e3ecc0 > "

, , . ViewController.swift .

+4
3

, 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)`]
+6

, , . ViewController.swift .

, . .

, , "", .

override var description:String { return "name :\(self.name) \n company \(self.company)" }

+2

for element in array {
  print(element)
}
+1

Source: https://habr.com/ru/post/1620685/


All Articles