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