Anonymous
@kuba5595, теперь с тобой.
Anonymous
У пикервью есть метод dataSource
- (UIView *)viewForRow:(NSInteger)row
forComponent:(NSInteger)component;
Anonymous
Туда ты можешь отдать любой view.
Anonymous
Главное, чтобы он по размерам нормальный был.
Anonymous
А насчет невыбираемого элемента, ты это как видишь?
Anonymous
Типа пролистывал чтобы его.
Anonymous
Или чтобы выбираешь, а ничего не происходит?
Kuban
Anonymous
Тогда в методе делегата
- selectedRowInComponent:
Anonymous
Определяешь ненужный ряд.
Anonymous
И программно листаешь вью.
𝔗𝔞𝔯𝔞𝔰
а можно еще раз?) почему nil в итоге будет в поле lastDate?
𝔗𝔞𝔯𝔞𝔰
У тебя будет nil там.
Anonymous
- (void)selectRow:(NSInteger)row
inComponent:(NSInteger)component
animated:(BOOL)animated;
Anonymous
И нигде снаружи его не ретейнит.
Kuban
@Trayerbee спасибо большое
Anonymous
@kuba5595, не за что, в следующий раз просто прочти документацию.
Ilkhom
или пощарь SO
Anonymous
Но вообще, для таких целей PickerView не используют.
Anonymous
Если у тебя есть невыбираемый ряд, то зачем он вообще там?
Anonymous
Ты нарушаешь негласное соглашение с пользователем, что все элементы интерфейса будут логичными.
𝔗𝔞𝔯𝔞𝔰
Betrayer чтобы понять, надо про weak получше разузнать?
Anonymous
Anonymous
Weak не увеличивает счетчик ретейна.
Anonymous
Strong увеличивает.
Anonymous
Как только счетчик приходит к 0, объет удаляется.
Kuban
Anonymous
Anonymous
Оставь там только свободное время.
Anonymous
А если хочешь, чтобы было видно занятое время, то делай таблицей.
Anonymous
В пикере все элементы должны быть выбираемые.
𝔗𝔞𝔯𝔞𝔰
а как тогда пофиксить?
𝔗𝔞𝔯𝔞𝔰
сделать стронг?
Anonymous
Чтобы пофиксить, нужно чтобы это было ошибкой.
Anonymous
Я так думаю, это у него задание на прием на работу, лол.
Kuban
@Trayerbee таблицами буду делать наверное... спасибо
𝔗𝔞𝔯𝔞𝔰
ну допустим, я хочу, чтобы после setNewDate в поле lastDate таки было значение
𝔗𝔞𝔯𝔞𝔰
тогда нужно делать стронг?
Anonymous
𝔗𝔞𝔯𝔞𝔰
👍
𝔗𝔞𝔯𝔞𝔰
спасибо)
Ilkhom
Anonymous
Пока не дойдут руки почитать про ARC вдумчиво, просто запомни, все что ты не определяешь от IBOutlet в интерфейсе делай strong.
Anonymous
Аутлеты weak, потому что они ретейнятся в сториборде.
Ilkhom
Anonymous
Ilkhom
будешь уверен что вернется значение
Anonymous
Тащемто зачем писать atomic?
Anonymous
Это дефолтное значение.
Artur
Зачем?
Чтобы лид зареджектил коммит
Anonymous
И потом, если он будет делать все атомным, ему придется везде ебаться с тредсейфти.
Anonymous
Учитывая, что он не знает как ретейнятся объекты, то ему рано о таком думать.
Anonymous
Ilkhom
то есть atomic не дает уверенности что проперти вернет значение?
Anonymous
Дает, но не дает уверенности что оно будет тредсейф.
Anonymous
Нонатомик тебе тоже вернет значение.
Anonymous
Разница там только в генерируемом сеттере-геттере.
Anonymous
Если ты их сам опишешь, то это будет просто слово в названии проперти.
Anonymous
Ilkhom
https://habrahabr.ru/post/265175/
Ilkhom
Anonymous
Anonymous
Но тебе и не нужно об этом думать в 99% случаев.
Egor
К Xcode привязанны 10 аккаунтов, когда открываю органайзер, все это дело начинает безбожно тупить и подтягивать историю билдов с аккаунтов, может кто знает как отключить Автоподгрузку?
Anonymous
Не сталкивался.
Ilkhom
тут если делаешь атомик то и тредом нужно побеспокоится верно? так вопрос был в том чтобы быть стопудово уверенным что значение вернется, так при этом подходе ты и будешь уверен
Anonymous
Чтобы быть уверенным, нужно описать геттер.
Ilkhom
да, надо же
Anonymous
Если ты в атомик значение нихуя не запишешь, то ничего и не вернется.
Anonymous
А если есть геттер, то атомик, или нонатомик уже нет разницы.
Ilkhom
ну дык ясень пень что если на это идешь то ты должен об этом позаботится
Anonymous
Просто суть в том, что ему нужно, пока что, пользоваться nonatomic.
Ilkhom
и пользоваться семафорами например
Ilkhom
ну это да
Anonymous
Если не будешь работать с легаси, то учи Свифт.
Ilkhom