Size: a a a

2020 March 31

A

Alim in SwiftBook
вот и почти абстрактный класс получается
источник

AS

Alex Sahnykov in SwiftBook
protocol Fly {
   
func fly()
}

extension Fly {
   
func fly()  {
       print("i can fly")
   }
}
источник

Б

Борис in SwiftBook
ребят, каким-то образом проект xcode можно в tar.gz перевести?
источник

ao

abd off in SwiftBook
Всем привет. Подскажите пожалуйста, как мне в contentView ячейки получить доступ к моему navigationController-у ?
источник

A

Alex in SwiftBook
Alex Sahnykov
protocol Fly {
   
func fly()
}

extension Fly {
   
func fly()  {
       print("i can fly")
   }
}
Да, действительно протокол может являться подобием абстрактного класса. Не знал, супер
источник

TM

Tiranov Mihail in SwiftBook
anastasia
Привет

Есть ощущение, что делаю какую-то глупость, но не понимаю какую. Подскажите пожалуйста

SwiftUI


Делаю class ObservableObject

В вью завожу @ObservedObject var

Завожу auth, которую передаю во вью в scenedelegate (стартовая вью)

Во время работы вью запускается функция, меняющая значение auth, но вью это не видит (пробовала текстом выводить значение auth)


Где тут что-то не так?
Здесь все правильно, потом при создании контент вью делаешь contentView.environmentObject(твоя модель). А в ContentView должна быть проперти из которой ты все будешь считывать с @EnvironmentObject твоя вью модель. И только потом уже внутри вьшки считываешь с вьюмодели то, что тебе нужно
источник

К

Константин in SwiftBook
Всем привет, есть такой кейс:
В приложении используется вход по пин-коду. При сворачивании приложения в appdelegate в методе applicationDidEnterBackground устанавливаю в качестве rootViewController контроллер с картинкой. В методе applicationWillEnterForeground rootViewController меняется на контроллер с идентификацией по пин-коду. Если пин-код верный, то перебрасывает на первый экран прилоежния, а нужно чтобы отображал тот, который был до сворачивания приложения. Я пытался запоминать topVC, но если у контроллера стоит presentationStyle .popover, то он становится fullscreen и уже ничего не сделать, приходится закрывать приложение.
источник

К

Константин in SwiftBook
возможно тупо объяснил, если нужно, могу сделать запись с экрана
источник

TM

Tiranov Mihail in SwiftBook
Pavel Vasilenko
господа и дамы, вопрос

если внутри UIView layoutSubviews делается обновление self.frame - вызывает это или нет снова layoutSubviews ?
Вообще нет. Но ты можешь легко проверить это. Если бы вызывало, у тебя в бесконечный луп программа уходила. Вообще с layoutSubviews надо быть осторожнее.
источник

TM

Tiranov Mihail in SwiftBook
Константин
Всем привет, есть такой кейс:
В приложении используется вход по пин-коду. При сворачивании приложения в appdelegate в методе applicationDidEnterBackground устанавливаю в качестве rootViewController контроллер с картинкой. В методе applicationWillEnterForeground rootViewController меняется на контроллер с идентификацией по пин-коду. Если пин-код верный, то перебрасывает на первый экран прилоежния, а нужно чтобы отображал тот, который был до сворачивания приложения. Я пытался запоминать topVC, но если у контроллера стоит presentationStyle .popover, то он становится fullscreen и уже ничего не сделать, приходится закрывать приложение.
Вообще для таких случаев используется координатор.

https://stackoverflow.com/questions/11637709/get-the-current-displaying-uiviewcontroller-on-the-screen-in-appdelegate-m но думаю тебе это подойдет для решения.
источник

К

Константин in SwiftBook
спасибо, сейчас посмотрю
источник

TM

Tiranov Mihail in SwiftBook
abd off
Всем привет. Подскажите пожалуйста, как мне в contentView ячейки получить доступ к моему navigationController-у ?
Ну так-то ты можешь завести проперти в ячейке и передать navigayion controller, UIApplication.shared.keyWindow?.rootViewController, но смотри архитектуру, с чего бы у тебя ячейка вообще должна знать о твоем NavigationController
источник

ao

abd off in SwiftBook
Tiranov Mihail
Ну так-то ты можешь завести проперти в ячейке и передать navigayion controller, UIApplication.shared.keyWindow?.rootViewController, но смотри архитектуру, с чего бы у тебя ячейка вообще должна знать о твоем NavigationController
у меня в ячейку, если кнопка, при нажатии на которую, я должен открыть другой экран
источник

TM

Tiranov Mihail in SwiftBook
abd off
у меня в ячейку, если кнопка, при нажатии на которую, я должен открыть другой экран
Ты можешь к кнопке в ячейке добавить таргет. Тоесть, если это таблица в методе cellForRowAnIndexPath, делаешь cell.button.addTarget и через селектор добавляешь метод. Ну, а если у тебя мвс, то прописываешь этот метод во вьюконтроллере

Передавать ничего не нужно
источник

ao

abd off in SwiftBook
не совсем кнопка, изображение на которое добавлен гестуре. Как Вы предложили я делал уже, не получилось. В делегате таблицы я брал ячейку, у ячейки брал изображение, на него добавлял гестуре.
источник

🅰Б

🅰️лександр Б.... in SwiftBook
Александр
Всем привет, подскажите плиз как с CustomTableViewCell передать значение text указанного в textField на ViewController где эта таблица и расположена ? Пробовал через делегат, но проблема в том что CustomTableViewCell нет в привычном понимании viewDidLoad()
У Тебя таблица же откуда берет данные? Вот из этого же сурса и бери при клике на ячейку через indexPath
источник

TM

Tiranov Mihail in SwiftBook
abd off
не совсем кнопка, изображение на которое добавлен гестуре. Как Вы предложили я делал уже, не получилось. В делегате таблицы я брал ячейку, у ячейки брал изображение, на него добавлял гестуре.
добавь closure к своему изображению. В делегате таблице, didSelectCell - если ты этот метод имеешь ввиду, то это не корректно
источник

TM

Tiranov Mihail in SwiftBook
abd off
не совсем кнопка, изображение на которое добавлен гестуре. Как Вы предложили я делал уже, не получилось. В делегате таблицы я брал ячейку, у ячейки брал изображение, на него добавлял гестуре.
Еще проще можешь обойтись без addGesture и просто добавить прозрачную кнопку на изображение.
источник

Т

Тима in SwiftBook
🅰️лександр Б.
У Тебя таблица же откуда берет данные? Вот из этого же сурса и бери при клике на ячейку через indexPath
У него две ячейки кастомные. В одной ячейке он вводит данные и сохраняет в юзердефолтс, а во второй отображает данные которые там хранятся. И он не знает как релоудить вторую ячейку во время добавления новых данных в первой ячейке
источник

TM

Tiranov Mihail in SwiftBook
Тима
У него две ячейки кастомные. В одной ячейке он вводит данные и сохраняет в юзердефолтс, а во второй отображает данные которые там хранятся. И он не знает как релоудить вторую ячейку во время добавления новых данных в первой ячейке
tableView.reloadRows?
источник