guard let email = json["email"].string else
, но если бы ты внимательно смотрел на свой JSON, то увидел бы: for (index,subJson) in json {
print(subJson["email"].string)
}
Достаточно ли знать 1 лишь swift для успешной деятельности, либо в серьезных задачах неумолимо сталкиваешься с необходимостью писать на obj-c?- одного лишь Swift Вам хватит сполна. Необходимости писать на Objective-C нет абсолютно никакой и с каждым днём её становится всё меньше и меньше.
Справедливо ли утверждение "не пишешь на obj-c - не мужик"?- тех кто пишет исключительно на Objective-C и говорит так, как вы написали, можно смело называть - луддитами.
Как на подобных "программистов" смотрят работодатели и есть ли вообще перспективы развиваться в этом направлении, хотя бы в качестве хобби?- странный вопрос... На программистов под iOS смотрят лучше, чем на web-разработчиков(холивар). Или вы имеете ввиду именно программистов на Swift? Ну тогда такой вопрос не имеет смысла, читайте выше :)
то есть записи разных TableViewCell могли перемешиваться между собой в таблице- ну так Вы ведь сами определяете какого типа будет ячейка для текущего indexPath. В чём проблема?
Как сделать так , чтобы записи сортировались в таблице по последнему добавлению?- данные сортируются либо предикатами CoreData, а если для Вас это не работает и Вам надо отсортировать то, что уже и так показано в таблице, то отсортируйте ваш массив с данными так как Вам надо и вызовите метод reloadData() вашего tableView. Это операция очень затрата, если ваша таблица очень большая, там есть и другие методы, проще. Смотрите документацию UITableView https://developer.apple.com/documentation/uikit/ui...
let sections2 = fetchedResultsController2.sections
, пройдите её и выведите в консоли вот так e sections2
или e dump(sections2)
CoreData
, то должны быть и разные UITableViewCell
для отображения данных разных сущностей. Тогда в методе func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
не возникнет труда понять, с какой сущностью Вы работаете сейчас, ведь у каждого типа UITableViewCell
есть свой уникальный идентификатор. Ну а по нему Вы и сможете понять куда делать переход. if UserDefaults.standard.object(forKey: "country") != nil {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let rootVC = storyboard.instantiateViewController(withIdentifier: "TabBarController") as? UITabBarController
window?.rootViewController = rootVC
}
Discussion
Attempting to remove more elements than exist in the collection triggers a runtime error.
Calling this method may invalidate all saved indices of this collection. Do not rely on a previously stored index value after altering a collection with any operation that can change its length.
import Foundation
var data = Data([0, 1, 2, 3, 4, 5])
var newData = data.filter{$0 < 5}
print(newData.index(of: 5) ?? "Ooops") // Ooops
UIWindow
. В этом классе настраиваются все основные потребности вашего приложения, будь то Push Notifications или Voice Calls и так далее. Я бы сказал это Core вашего приложения.UIResponder
и UIApplicationDelegate
An abstract interface for responding to and handling events.
A set of methods that are called by the singleton UIApplication object in response to important events in the lifetime of your app.
UITextField
и ты постоянно бегаешь туда сюда, то их надо где-то сохранять. UITableViewDataSource/UITableViewDelegate
. Но передача в методе prepare тоже вполне себе нормальный вариант. Google Custom search- это работа с сетью в Swift:
отображать их в collection view-
Потом при нажатии на ячейку показывать полную картинку с названием- что бы это было красиво
@IBAction func buttonPressed(_ sender: UIButton) { ... }
есть аргумент sender
по которому Вы и можете различать какая именно кнопка вызвала этот action. А вообще бы лучше основную свою задачу описали, а то так не очень понятно что Вы хотите. Зачем Вам findById( findByClass ) ? Для этого есть IBOutlets
. Если Вы ищите кнопку среди subviews
, то тут можно приводить каждый subview
к типу UIButton
(если это возможно) и смотреть скажем его title
или смотреть его RestorationID. UISearchController
, а обычный UISearchBar
c кастомным аниматором UIViewPropertyAnimator
.