|
|
|
https://www.tutorialspoint.com/objective_c/index.htm
|
|
|
|
|
|
|
|
You should create an iOS application in Xcode, written in Objective-C. It should contain 2 classes: Organization and Employee, both of each are subclasses of NSObject. Organization should have the following properties:
|
|
|
|
|
|
|
|
* Public “name” of type NSString.
|
|
|
|
* Private “employees” of type NSArray<Employee>.
|
|
|
|
|
|
|
|
And the following methods:
|
|
|
|
|
|
|
|
|
|
|
|
* Public initWithName initializer method, which accepts organization name as an input parameter.
|
|
|
|
|
|
|
|
* Public addEmployeeWithName: (accepts employee name as an input parameter with no return type), which creates a new employee and adds it to the array. The salary is random between 100 and 5000 and is divisible by 10 (e.g. 110, 4670).
|
|
|
|
|
|
|
|
* Public calculateAverageSalary method, which return the average salary of all employees.
|
|
|
|
|
|
|
|
* Public employeeWithLowestSalary method, which returns one employee with the lowest salary in the organization.
|
|
|
|
|
|
|
|
* Public employeesWithSalary: method, which accepts one argument of type int - salary - and returns all employees with given salary as an array.
|
|
|
|
|
|
|
|
|
|
|
|
Employee should have the following properties:
|
|
|
|
|
|
|
|
* Private “firstName” and “lastName”, which are of type NSString.
|
|
|
|
|
|
|
|
* Public “salary” of type int.
|
|
|
|
|
|
|
|
* Public readonly property “fullName”, which returns the conjuction of first name and last name.
|
|
|
|
And the following methods:
|
|
|
|
|
|
|
|
* Public initWithFirstName:lastName:salary: initializer method, which accepts first name, last name and salary as input parameters.
|
|
|
|
|
|
|
|
Application should create one organization and multiple employees, which are added to the organization. Than all of the methods should be demonstrated. Everything should be logged to NSLog.
|
|
|
|
|
|
|
|
|
|
|
|
You should be able to answer the following questions:
|
|
|
|
|
|
|
|
1. How could a class be defined in Objective-C?
|
|
|
|
2. What is a property?
|
|
|
|
3. What options does a property have?
|
|
|
|
4. What is ARC?
|
|
|
|
5. What is a category?
|
|
|
|
6. What is the difference between instance method and class method? |
|
|
|
\ No newline at end of file |