Pull to refresh

Comments 45

Не знаю почему, но первым делом кинулся искать опечатки :)
Специально для вас, там есть одна эпик-очепятка :)
Именно! Не стал исправлять её — больно забавно получилось :)
Еще можете попытаться угадать как я сделал скриншот синей протяжки в Xcode. Чуть пальцы рук не свернул :)
Я обычно в таких случаях одной рукой тяну, а другой жму скриншот всего экрана (Cmd+Shift+3), чтобы затем вырезать нужную часть просмотром :)
Это еще ладно, я как-то одной рукой на айпаде скриншот снимал.
На мини? Да, тут просто еще Ctrl мешался, который надо было отпустить… может пригодится кому.
На «макси» :)
Пришлось использовать для этого нелицензированные Apple для использования конечности. Надеюсь я не нарушил никаких лицензий!
А что, приложение «Снимок экрана» с вариантом снимка всего экрана с 10-секундной задержкой отменили?
Это же слишком долго :) 10 секунд...
Еще можете попытаться угадать как я сделал скриншот синей протяжки в Xcode. Чуть пальцы рук не свернул :)
Небольшой совет для здоровья пальцев рук:

Пока что слишком простенькая программулька. Вот если синхронизацию с iOS сделаем — будет иметь смысл.
вот если честно, это отличная программа!
Давно искал, когда под виндой сидел.
Сделайте настройку хоткеев и смело кидайте в AppStore
Спасибо! Хоткеи есть локальные для приложения: Cmd-1… Cmd-9
Так это которые по-умолчанию Вы сделали, а можно же в настройки вынести :)
Например мне через command не удобно тянуться до цифр одной рукой, в вот через alt(options) в самый раз :)
Заголовок вводит в заблуждение. Я подумал, что до этого на OS X не было подобных программ.
Добавил пару слов, должно стать лучше…
UFO just landed and posted this here
Этот кусок кода слегка жестковат, но он делает то что должен :)
Стоило немного погуглить:

unsigned int unitFlags = NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit | NSDayCalendarUnit | NSMonthCalendarUnit;
NSDateComponents *breakdownInfo = [sysCalendar components:unitFlags fromDate:date1 toDate:date2 options:0];
// breakdownInfo.month месяц
// breakdownInfo.day день
//…
// breakdownInfo.second секунды
Этот вариант делает совсем не то. Я выводил сколько времени прошло: 2s (2 сек), 5m (5 мин), 3h (3 часа), 4d (4 дня)
UPDATE: Все равно придется городить толпу if-ов дальше…
Остаток от деления используйте. Что-то вроде:

days = secs / oneDayInSeconds; secs %= oneDayInSeconds; hours = secs / oneHourInSeconds; secs %= oneHourInSeconds;

И так далее, сложно код на планшете писать. Можно даже цикл организовать.
Эту штуку я помню с тех пор как писал свой календарь в апстор :)
Переписал код с использованием вашего кода и блока ифов:

NSString * timeStr = nil;
if (components.year)
    timeStr = [NSString stringWithFormat:@"%dy",(int)components.year];
else if (components.month)
    timeStr = [NSString stringWithFormat:@"%dM",(int)components.month];
else if (components.day)
    timeStr = [NSString stringWithFormat:@"%dd",(int)components.day];
else if (components.hour)
    timeStr = [NSString stringWithFormat:@"%dH",(int)components.hour];
else if (components.minute)
    timeStr = [NSString stringWithFormat:@"%dm",(int)components.minute];
else
    timeStr = [NSString stringWithFormat:@"%ds",(int)components.second];

По идее можно сделать массив селекторов и пробегать по нему в цикле, но я боюсь они будут некорректно обрабатывать возвращаемое значение нe id типа.
Набросайте свой вариант этого алгоритма на любом императивном языке программирования… Так будет конструктивнее…
python:

from datetime import timedelta

TEST = 7200

td = timedelta(seconds=TEST)
years, months, hours, minutes = td.days // 360, td.days // 31, td.seconds // 3600, td.seconds // 60
print (
    years and 'years %s' % years or
    months and 'months %s' % months or
    td.days and 'days %s' % td.days or
    hours and 'hours %s' % hours or
    minutes and 'minutes %s' % minutes or
    'seconds %s' % td.seconds
)
Можно считать что ифы остались на месте, но констант стало поменьше :)
Ну, спорить не буду :)
Если кому нужен продвинутый менеджер буфера обмена, в Alfred'е есть встоенный — поиск, предпросмотр, все, что угодно.
image
Ну разумеется, после того как вы заплатите 900 рублей за лицензию.
Там и других хороших фич много, я вот заплатил и ничуть не жалею.
Вспомнилось, что когда на Builder C++ делал точно такую же программу. По сути была первой, относительно «полезной», после прочтения мануалов. Развития программа толком не получила. Так… по мелочи.
Ваша программа требует MacOS 10.8. Почему не поставить 10.7 или 10.6? Я понимаю, что это пока домашняя поделка «для себя», но это очень распространенная ошибка и в сторе, когда люди просто оставляют по умолчанию таргетом самую новую ОС и тем самым теряют много потенциальных пользователей.
Прошу прощения, понизил деплой до 10.7. Сначала он вообще 10.9 просил :)
Немного оффтоп, но всё же, для Windows есть подобное?
побольше бы статей по написанию программ для mac. Обычно уклон на ios идет, хоть разница не очень велика, но все же интересно направление такое.
Для тех, кто искал такого рода программы, есть неплохая программа: ClipMenu
Из возможностей, которыми я пользуюсь:
  • по cmd+shift+V вызывается список для вставки (можно забиндить другую комбинацию)
  • исключить программы, из которых не записывать буфер обмена. Например, менеджеры паролей

Выскажусь не совсем по теме, но кому-то пригодится: имхо самые удобные реализации под OS X: copyless и встроенная в alfred.
Sign up to leave a comment.

Articles