
R0thschild
10.07.2017
04:23:24
окай, понял

Виталий
10.07.2017
04:23:32
но лучше все делать в viewcontroller
а его хоть через код указывай

Aleksey
10.07.2017
04:26:23
Вижу только два варианта полного программного построения интерфейса:
1) Проект мелкий, и разобрать его можно за очень короткое время.
2) Точно известно, что проект разрабатывать и поддерживать будет один человек, который знает, что, как и где он реализовывал.

Google

Виталий
10.07.2017
04:26:41
не согласен
когда проект маленький - хватает сторибордов
а вот когда не один человек работает - сториборды мешают
из-за них с гитом неудобства начинаеются
а с кодом куда проще становиться
это один из примеров
а еще архитектура со сторибордами не такая гибкая - в основном MVC хорошо идет, а тот же VIPER - через код делают

Aleksey
10.07.2017
04:30:01
Соглашусь, сториборд и гит плохо совмещаются. Но таки практика показывает, что фиксы чужих проектов написанных без сториборда занимает несколько больше времени.
Сильно всё зависит от качества кода

Виталий
10.07.2017
04:30:52
и от опыта
не всем код дается хорошо, но с опытом привыкаешь
если в проекте есть те, кому сложно с кодом верстать - то лучше через сториборды

Andrew
10.07.2017
04:32:54

Google

Виталий
10.07.2017
04:33:17
ну всеровно, оба сделают случайно изменения в одном - и все
а там достаточно его даже просто случайно открыть
я работаю один, но сториборды разбиваю

R0thschild
10.07.2017
04:33:54
кстати да, сториборды не проиндексируешь

Виталий
10.07.2017
04:34:23
раньше кодом, а проекты с ios9 - стандартными возможностями

Aleksandr
10.07.2017
05:13:20
368мб о_О
http://digest.mbltdev.ru

Maxim
10.07.2017
05:41:28
let cell:TableViewCellStack=tableView.dequeueReusableCell(withIdentifier: identifire)! as! TableViewCellStack
Could not cast value of type 'UITableViewCell' (0x10f17abf8) to 'sidebarMenuTutorial.TableViewCellStack' (0x10c702000).
class TableViewCellStack: UITableViewCell {
в чем может быть проблема?

Andrew
10.07.2017
05:45:09
нет гарантии (из приведенного кода) что identifire - это именно TableViewCellStack

Maxim
10.07.2017
05:46:51
self.table.register(UITableViewCell.self, forCellReuseIdentifier: "cell")
let identifire="cell"
это не дает гарантии?

Andrew
10.07.2017
05:48:36
нет конечно. Покажи Сториборд или ксиб, где ты определил ячейку, указал тип и реюсед айдентифаер

Maxim
10.07.2017
05:55:46
к ней обращаюсь
пытаюсь сделать таблицу с кастомными TableViewCell

Google

Andrew
10.07.2017
05:57:38
таблица там переменная
да чтож такое... наслледник ТэйблВью? ТэйблВьюКонтроллер?
===
на скриншоте не видно класс ячейки.
Если класс - UITableViewCell, то ты не пытаешься сделать кастомный

Maxim
10.07.2017
05:58:07
class DetailSingleEventViewController: UIViewController , UITableViewDelegate, UITableViewDataSource{
@IBOutlet weak var table: UITableView!

Andrew
10.07.2017
06:00:29
там TableViewCellStack
ок, я понял. в общем у меня сомнения в код
self.table.register(UITableViewCell.self,
я не видел чтобы так регистрировали, но если я правильно понимаю, ты для таблицы решгистрируешь ячейку типа UITableViewCell.self а не свою, производную, то есть TableViewCellStack
я рисую ячейку в отдельном xib и регистрируею
let nib1 = UINib(nibName: "CellXibName", bundle: nil)
self.tableView!.register(nib1, forCellReuseIdentifier: reusedIdentifires.categoryCell)

Maxim
10.07.2017
06:02:18
точно,спасибо
закоментил ту строку,все и без нее должно работать тк идентифайр и так есть
но почему-то таблица пустая

Andrew
10.07.2017
06:03:40
нет, не закоментить, а сделать правильно

Maxim
10.07.2017
06:10:58
в моем случае так self.table!.register(TableViewCellStack.self, forCellReuseIdentifier: "cell")
?

Andrey
10.07.2017
06:11:29

Maxim
10.07.2017
06:13:50
странно,все равно никакого текста в ячейках

Maxim
10.07.2017
06:13:53
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell:TableViewCellStack=tableView.dequeueReusableCell(withIdentifier: "cell")! as! TableViewCellStack
cell.label?.text="olo"
return cell
}

Andrew
10.07.2017
06:15:02
Да
Нет, потому что
self.tableView!.register(cellClass: AnyClass?, forCellReuseIdentifier: String)
принимает класс, а он пихает
TableViewCellStack.self
какого это вообще типа?

Andrey
10.07.2017
06:15:45
Все он правильно делает

Andrew
10.07.2017
06:16:39
ну ок

Maxim
10.07.2017
06:19:49
видимо он не вставил туда кастомные ячейки

Andrew
10.07.2017
06:21:44
кто - он?

Andrey
10.07.2017
06:23:02
Label не nil?

Google

Roman
10.07.2017
06:25:26
У тебя ячейка в nib создана. Поэтому надо его сначала зарегистрировать в контролере.
tableView.registerNib(UINib(nibName: "NibFileName", bundle: nil), forCellReuseIdentifier: "CellId")

Maxim
10.07.2017
06:25:54
Label не nil?
class TableViewCellStack: UITableViewCell {
@IBOutlet weak var label: UILabel!

Andrey
10.07.2017
06:28:45

Andrew
10.07.2017
06:29:41
я рисую ячейку в отдельном xib и регистрируею
let nib1 = UINib(nibName: "CellXibName", bundle: nil)
self.tableView!.register(nib1, forCellReuseIdentifier: reusedIdentifires.categoryCell)

Maxim
10.07.2017
06:31:22
спасибо?

Andrew
10.07.2017
06:32:58
то есть получилось?

Admin
ERROR: S client not available

Maxim
10.07.2017
06:33:28
да

Roman
10.07.2017
06:35:38
tableView!.register и tableView.registerNib - разные методы

Maxim
10.07.2017
06:37:49
xcode переделал registerNib в register

Aleksey
10.07.2017
06:40:31
Всем привет. Никому не приходилось работать с GraphQL на objective-c? Есть ли какое ни будь готовое решение для клиентской стороны?

Vlad
10.07.2017
06:42:51
Доброго дня всем.
Подскажите, как быть в такой ситуации.
У VC есть проперти (userViewModel). Она implicity unwrapped.
Во viewDidLoad() вызывается presenter.viewIsReady(), который, в свою очередь вызывает, interactor.getInfo().
Так как getInfo() получает данные по сети, то в проперти userViewModel не успело ничего засетится и все падает с nil.
Нужно как-то дождаться выполнения completion. Спиннер?
func getMyProfile() {
service.getMyProfile(completion: { [weak self] result in
switch result {
case .success(let user): self?.presenter.setUserInfo(with: user)
case .failure(_): print("cannot download user")
}
})
}
Нужно понять, когда можно обращаться к viewmodel

Andrew
10.07.2017
07:05:56
switch result {
case .success(let user): self?.userViewModel(with: user)
======
var userViewModel{
didSet{
DispatchQueue.main.async{
self?.presenter.setUserInfo(with: userViewModel)
}
}
}

Vlad
10.07.2017
07:07:43
спасибо огромное, сейчас попробую!

Andrew
10.07.2017
07:08:15
но только с умом, потому что я общую схему только нарисовал.

Aleksandr
10.07.2017
08:25:41

Aleksey
10.07.2017
08:27:05
Есть вот такая штука
https://github.com/funcompany/graphql-ios
Но что то моего опыта общения с подами не хватает для нормальной установки этого дела.
Получаю
Permission denied (publickey).

Google

Aleksandr
10.07.2017
08:28:40
а себе форкнуть попробуй репозиторий, и к своему гиту обращаться?

Александр
10.07.2017
08:35:16
Может кто-нибудь помочь плиз с тайфуном?

Andrey
10.07.2017
08:39:56

Aleksey
10.07.2017
08:43:07

Aleksandr
10.07.2017
08:48:45
Тоже самое. При этом репозиторий public.
Тогда могу предложить только вставить свой форк в целевой проект как Submodule, и подключать под оттуда примерно так:
pod 'StreamingKit', :path => 'Submodules/StreamingKit'
но это выглядит не очень, странно, что через поды не добавилось нормально

Yegor
10.07.2017
08:58:28
Подскажите, пожалуйста, опенсорс проект, где образцово сделан network layer

Александр
10.07.2017
08:59:15
Давай
пытаюсь заинжектить appCoordinator в appDelegate и за одно window с rootViewController но приложение падает

Andrey
10.07.2017
09:01:00

Александр
10.07.2017
09:04:11
да
ща попробую как у тебя

Maxim
10.07.2017
09:11:25
чтобы стеквью растягивалась по мере добавления элементов, надо ручками в коде это прописать или есть какой нибудь автосайз в сториборде?

Александр
10.07.2017
09:23:49

Andrey
10.07.2017
09:24:07
Ну и хуй с ним