Jian Yang
угу можно вообще датасорс вынести в модель
Это как? несколько раз уже встречал обсуждения такого плана сама схема не понятна
Ilkhom
создай файл, имплементируй в него UITableViewDataSource и свяжи его с tableView.datasource
Anonymous
делегата сделай и глянь кто его перекрывает
не срабатывают методы делегата что-то
Anonymous
у меня не кнопается вьюха как будто
Anonymous
а выше по иерархии нет ни у какой вьюхи рекогнайзера своего?
VS
Alpha еще нужно чтоб не 0 была
Anonymous
а они все enabled?
Anonymous
которые выше
VS
Посмотри по View Hierarchy как у тебя иерархия состоит может кто перехватывает жест
VS
Или он вообще не доходит
Anonymous
в скроллвью.. Но я уже такой же точно скроллвью делал с такой вьюхой, а там все работате
Anonymous
сравню свойства в "такой же точно" вьюхой
Anonymous
ну тут вслепую не разобраться. еще был такой метод hittest, который, вроде для точки возвращал самую последнюю вьюху в иерархии, которая реагирует на нажатие
Anonymous
посмотрим
Jian Yang
создай файл, имплементируй в него UITableViewDataSource и свяжи его с tableView.datasource
Ааа т.е. новый класс? Я так иногда делал когда у меня контролер перегружался
Jian Yang
ага
А почему этот класс называют моделью?)
Anonymous
вот такой трюк советуют для скролвью. Не знаю только как чтобы в телеграме синтаксис подсвечивался UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)]; singleTap.cancelsTouchesInView = NO; [scrollView addGestureRecognizer:singleTap];
Ilkhom
А почему этот класс называют моделью?)
датасорс это и есть модель
Ilkhom
А почему этот класс называют моделью?)
вообще почитай про mvvm, советую для организации структуры приложухи
Jian Yang
Хотя он же предоставляет данные для табл значит модель
Jian Yang
вообще почитай про mvvm, советую для организации структуры приложухи
Там есть правило для датасорс и делегатов кто что должен выполнять?)
Jian Yang
Советовали на js про мввм посмотреть так как для иос мало инфы но у меня слабые знания js да и времени оч мало
Ilkhom
Там есть правило для датасорс и делегатов кто что должен выполнять?)
ну вот, ты viewModel определяешь как датасорс для tableView ведь?
Jian Yang
ну вот, ты viewModel определяешь как датасорс для tableView ведь?
А нет у меня в контролёре он определён
Anonymous
Вообще вот нормальная статья про мввм в свифт https://www.mobiledefense.com/blog/2016/02/07/pure-swift-mvvm/
Anonymous
датасорс и делегат у тэйбл вью имеют мало общего с mvvm
Jian Yang
А нет у меня в контролёре он определён
Anonymous
в понимании тэйблвью - датасорс это делегат через методы которого ты задаешь основные свойства таблицы (количество секций, строк, то что будет содержаться в ячейках и т.д.)
Jian Yang
датасорс и делегат у тэйбл вью имеют мало общего с mvvm
Ну просто не совсем понятно кто что должен реализовать, к примеру на райвендерлич там есть класс(компоновщик) который и реализует дата сорс и делегат тейбл вью теперь говорят что во вьюмодель это запихнуть надо голова кипит
Anonymous
Во вьюмодель это точно пихать нельзя
Anonymous
на райвендерлич не всегда хорошие примеры
Anonymous
там в основном все очень упрощено для новичков
Anonymous
VM просто хранит модели и связывает их с VC
Anonymous
Как по мне, если ты хочешь реализовать MVVM, то лучше использовать какую-нибудь реактивную либу типа rxSwift
Anonymous
MVVM по большому счету подразумевает всякого рода биндинги
Jian Yang
на райвендерлич не всегда хорошие примеры
Ну этот крановщик он нифига не гибкий
Anonymous
Просто оставлю это тут
Anonymous
> @acdnd Это рубрика “вредные советы“? А чем это вредный совет? Может ты просто не умеешь его правильно готовить?
Ilkhom
ребята что то вы не туда свернули, я посоветовал использовать mvvm для организации кода, а вынос датасорс во вью модель это один способ его организации, и да можно и в контроллере задать датасорс и привязать саму vm как источника данных в методах
Jian Yang
Как по мне, если ты хочешь реализовать MVVM, то лучше использовать какую-нибудь реактивную либу типа rxSwift
Ну я использую asyncdisplaykit и там я не особо понимаю как применить реакт, да и с uikit'ом я знаю как обзервить разные проперти и прикручивать его к разным ui элементов а куда его ещё можно засунуть?)
Ilkhom
вот еще один хороший урок по mvvm https://www.toptal.com/ios/swift-tutorial-introduction-to-mvvm?utm_campaign=blog_post_swift_tutorial_introduction_to_mvvm&utm_medium=email&utm_source=blog_subscribers
Jian Yang
А плюс оборачиваю все блоки в команды или сигналы
Денис
задам нубский вопрос ) , использую cocoapods и не могу запустить проект на физическом девайсе , ругается на подписывание проекта
Anonymous
это я про то, что если делать MVVM таким какой он должен быть, то должны быть биндинги. Можно, конечно, и KVO, но в реактивных либах все гораздо проще реализовано, а если оно у тебя все есть, то добавлять еще и реактивщину не стоит конечно
Anonymous
> @greyhard задам нубский вопрос ) , использую cocoapods и не могу запустить проект на физическом девайсе , ругается на подписывание проекта А сертификат и провижн есть?
Anonymous
я нашел проблему с tapGesture. Оказывается я вьюху видел. А ее не было. Она, видите ли, не в ContentView(кастомном) скроллвью находилась, потому что ContentView clipsToBounds = false (поэтому все вываливающееся за пределы вью я видел), и еще он из-за кое-каких констрейнтов не доходил до вьюхи, по которой кликать надо. Поэтому я вью видел, нажимал. А ее не было. Вот такие вот дела.
Денис
> @greyhard задам нубский вопрос ) , использую cocoapods и не могу запустить проект на физическом девайсе , ругается на подписывание проекта А сертификат и провижн есть?
такая ошибка /Users/greyhard/Library/Developer/Xcode/DerivedData/imageUploader-cfzrihqyoofjfnbvejorffftvkwu/Build/Products/Debug-iphoneos/imageUploader.app/Frameworks/UIKit.framework: bundle format unrecognized, invalid, or unsuitable Command /usr/bin/codesign failed with exit code 1
Anonymous
Если ты с бесплатного аккаунта, то нужно поставить галочку, чтобы xcode сам разобрался с сертификатами
Денис
гугление не дает решения :(
Денис
а где эта галочка ?
Anonymous
Кто нибудь приложение для такси пишет? Писал?
Anonymous
да. она
Денис
не помогает
Денис
видимо надо покупать акк )
Anonymous
> @MaksimKostikov Кто нибудь приложение для такси пишет? Писал? Правил баги в одном "убийце убера" как-то
Anonymous
> @greyhard не помогает > @greyhard видимо надо покупать акк ) не надо. это точно
Anonymous
что пишет?
Ilkhom
Clean сделай
Денис
Clean сделай
не помогает
Anonymous
да. clean. еще с зажатым option его же
Anonymous
для пущей уверенности devived data почисти и xcode полностью закрой и заново открой
Денис
rm -rf ~/Library/Developer/Xcode/DerivedData
Anonymous
Он не на подпись ругается.
Anonymous
А на бандл формат.
Ilkhom
я просто не очь понял причем тут cocoapods, а без подсов запускается на девайсе?
Денис
чистка и рестарт не помогает
Anonymous
> @Trayerbee Он не на подпись ругается. > @Trayerbee А на бандл формат. это да. только по скрину не совсем понятно причем тут UIKit