Пишем первое IOS приложение.Отображение списка с помощью TableView
Я новичок в IOS разработке и никогда не создавал мобильные приложения
Поэтому я решил создать простое мобильное приложение , которое позволит с помощью REST API получать данные сервера и отображать их в мобильном приложении.
Итак приступим
Открываем XCode и создаем новый Single App
Вначале мы не будем получать данные с сервера , а просто локально создадим тестовый набор названий статей в массиве postsTitles.
import UIKit
class ViewController: UIViewController {
var postsTitles = ["First title", "Second title","Another title"]
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
}
Добавляем компонент интерфейса UITableView. Это одноколочная таблица , которая служит для отображения(и не только) списка данных. Все строки UITableView являются экземплярами своего класса UITableViewCell

После того как мы добавили TableView , то нам для ViewController нужно реализовать два протокола
UITableViewDataSource - этот протокол служит для задания порядка и количества секций и строк, возможностей их редактирования
UITableViewDelegate - этот протокол служит для настройки внешнего вида, функций выделения, перетаскивания и прочего.
Чтобы наш ViewContoller соответсвовал протоколу UITableViewDataSource мы должны реализовать два метода:
1. numberOfRowsInSection
2. cellForRowAt
import UIKit
class ViewController: UIViewController {
var postsTitles = ["First title", "Second title","Another title"]
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
}
extension ViewController: UITableViewDelegate, UITableViewDataSource {
// Реализация numberOfRowsInSection
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return postsTitles.count
}
// Реализация cellForRowAt
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = postsTableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
cell.textLabel?.text = postsTitles[indexPath.row]
return cell
}
}
Список вывели

Теперь реализуем , чтобы при клике на ячейку с заголовком отображался новый View c подробной информацией. Там и будет содержимое статьи
Итак , мы реализовали вывод заголовков всех статей и при клике вывод полной информации
Заключение
Во второй части статьи мы подготовим