<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" >

  <channel>
    <title><![CDATA[Комментарии / Профиль huktocode]]></title>
    <link>https://habr.com/ru/users/huktocode/comments/</link>
    <description><![CDATA[Хабр: комментарии пользователя huktocode]]></description>
    <language>ru</language>
    <managingEditor>editor@habr.com</managingEditor>
    <generator>habr.com</generator>
    <pubDate>Sat, 02 May 2026 10:34:42 GMT</pubDate>
    
    
      <image>
        <link>https://habr.com/ru/</link>
        <url>https://habrastorage.org/webt/ym/el/wk/ymelwk3zy1gawz4nkejl_-ammtc.png</url>
        <title>Хабр</title>
      </image>
    

    
      

      
        
  
    <item>
      <title>22.02.2016 15:34:32 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/276447/#comment_8781265</guid>
      <link>https://habr.com/ru/articles/276447/#comment_8781265</link>
      <description><![CDATA[Если бы был девайс с Андрюхой — обязательно поставил бы, идея понравилась<br/>
]]></description>
      <pubDate>Mon, 22 Feb 2016 15:34:32 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>22.02.2016 13:08:25 </title>
      <guid isPermaLink="true">https://habr.com/ru/companies/badoo/articles/276827/#comment_8781181</guid>
      <link>https://habr.com/ru/companies/badoo/articles/276827/#comment_8781181</link>
      <description><![CDATA[один раз я хотел сделать механизм, позволяющий удаленно смотреть логи клиента, но пошел дальше и реализовал нечто вроде механизма удаленного управления клиентским приложением.<br/>
<br/>
То есть, если у вас есть пул сессий — можно подключиться к конкретной сессии, и делать все, что угодно. Это особенно удобно в отладке. Организовать взаимодействие удобно можно, если поднять в приложении Telnet-сервер)) Я правильно понял, что у вас сделано не так? Или вы тоже удаленно управляете?)<br/>
]]></description>
      <pubDate>Mon, 22 Feb 2016 13:08:25 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>21.02.2016 05:24:44 </title>
      <guid isPermaLink="true">https://habr.com/ru/companies/contentai/articles/277261/#comment_8780305</guid>
      <link>https://habr.com/ru/companies/contentai/articles/277261/#comment_8780305</link>
      <description><![CDATA[при написании кода на obj-c в Xcode — лично встречается 2 случая, когда рекомендуется мутить компилятор clang прагмами. <br/>
<br/>
В первом случае — когда объекту базового класса (вообще-то динамически типизированный язык) пытаюсь передать селектор (нечто вроде указателя на функцию) конкретного класса — он выдает варнинг, что не факт, что метод с таким селектором будет у конечного объекта. Приходится мутить, потому-что перед этим обычно выполняется ручная проверка на то, есть ли данный селектор в таблице селектора объекта (таблица указателей методов). И компилятор не понимает эту проверку!<br/>
<br/>
И еще довольно специфичная работа с памятью в iOS (что-то типа умных указателей со счетчиком ссылок), которые живут в retain-циклах (retain увеличивает число ссылок на 1). Существуют случаи, когда приходится мутить сообщения комилятора, связанные с его анализом этих циклов (особенно при использовании блоков). Блок — это что-то вроде функции, определенной внутри другой функции (функции второго порядка). Причем данного рода прагмы я встречал при анализе кода более, чем в нескольких разных фреймворках<br/>
<br/>
Так и живем (по поводу торжества компилятора на наших костях) ...<br/>
]]></description>
      <pubDate>Sun, 21 Feb 2016 05:24:44 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>15.08.2015 16:56:16 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/264823/#comment_8537789</guid>
      <link>https://habr.com/ru/articles/264823/#comment_8537789</link>
      <description><![CDATA[все это не совсем так — я за всеми этими свойствами веду наблюдение (и имею не одного подписчика), да и в дальнейшем, если мне где-то нужно будет еще следить за чем-то — я получаю большой выигрыш, потому-что смогу очень быстро реализовать новый функционал. <br/>
<br/>
Если подписываться на изменение модели — это требует написания лишних строчек willChangeValueForKey/didChangeValueForKey в местах, где происходят изменения объектов. Хотя, кажется, там был какой-то автоматический механизм. В любом случае это тоже неплохая идея, но сделал уже именно так, и оно неплохо сразу заработало]]></description>
      <pubDate>Sat, 15 Aug 2015 16:56:16 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>15.08.2015 16:50:37 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/264823/#comment_8537781</guid>
      <link>https://habr.com/ru/articles/264823/#comment_8537781</link>
      <description><![CDATA[это же лишний раз заворачивать во враппер нужно) ]]></description>
      <pubDate>Sat, 15 Aug 2015 16:50:37 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>15.08.2015 16:49:57 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/264823/#comment_8537779</guid>
      <link>https://habr.com/ru/articles/264823/#comment_8537779</link>
      <description><![CDATA[это комментарий немного в стиле «зачем писать на высокоуровневых языках, если можно писать на асме». А если больше по теме — то мы должны стараться использовать более точные абстракции, соответствующие задаче. Вот например, мы же вместо NSURLConnection — стремимся использовать именно AFNetworking (потому-что он более удобен), или например, RestKit для работы с RESTful сервисами, потому-что эти библиотеки представляют нам более удобные интерфейсы для нашей задачи. В некоторых случаях, мы конечно, теряем управляемость, и тратим лишнее время (если реализуем собственные решения), но в дальнейшем мы можем иметь выигрыш (особенно в крупных проектах). Потому-что в дальнейшем низкоуровневый код будет сложно модифицировать и понимать.]]></description>
      <pubDate>Sat, 15 Aug 2015 16:49:57 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>02.08.2015 10:09:52 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/263069/#comment_8522275</guid>
      <link>https://habr.com/ru/articles/263069/#comment_8522275</link>
      <description><![CDATA[То есть вместо я предлагаю в некоторых случаях блокировать некоторые вызовы методов, подвергающие данные изменениям. В случае с анимациями — это пользовательское взаимодействие, блокирование обработчиков событий]]></description>
      <pubDate>Sun, 02 Aug 2015 10:09:52 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>02.08.2015 10:06:08 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/263069/#comment_8522269</guid>
      <link>https://habr.com/ru/articles/263069/#comment_8522269</link>
      <description><![CDATA[я имею в виду то, что если сделать определенную манипуляцию над данными во время исполнения асинхронного кода, то мы можем получить в результате, что при дальнейшем исполнении обработаются некорректные данные. С сетевыми запросами, например так. Если во время запроса перейти на другое представление выше в иерархии, то указатель на контроллер высвободится, и в результате мы можем получить где-нибудь эксепшен. Простые блокировки, критические секции и мьютексы не всегда способны решить все проблемы с данными, используемыми одновременно более, чем одним потоком.]]></description>
      <pubDate>Sun, 02 Aug 2015 10:06:08 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>25.07.2015 13:20:55 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/263479/#comment_8514997</guid>
      <link>https://habr.com/ru/articles/263479/#comment_8514997</link>
      <description><![CDATA[«Сеть испортилась» (с) люди. «Люди испортились» (с) сеть]]></description>
      <pubDate>Sat, 25 Jul 2015 13:20:55 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>21.07.2015 17:44:26 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/263069/#comment_8509431</guid>
      <link>https://habr.com/ru/articles/263069/#comment_8509431</link>
      <description><![CDATA[1) я привел наиболее общий подход проверки перед вызовом метода<br/>
2) ранее я тоже писал через weak, но в последнее время в большинстве мест у Apple встречаю запись через assign. Тоже, на самом деле, удивило. Но привел здесь вариант со спецификатором assign<br/>
3) если аккуратно использовать метод endIgnoringInteractionEvents — то ничего, а что лочило, пока не довел до ума — такое было. Я не упомянул один недостаток блочить чисто вьюхи. Блокирую таким образом — кнопка back так и останется подсвеченной. Видимо по какой-то причине приходит touchDown, а touchUpInside/touchUpOutside не приходит<br/>
4) нет, не пробовал. По правде, даже и не до конца понял суть данного подхода, как его применить]]></description>
      <pubDate>Tue, 21 Jul 2015 17:44:26 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>21.07.2015 17:36:27 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/263069/#comment_8509423</guid>
      <link>https://habr.com/ru/articles/263069/#comment_8509423</link>
      <description><![CDATA[разве begin / commit методы здесь служат не для группировки анимаций? При вызове коммита — создается явная транзакция, и на GPU отдельно обрабатывается в отдельном потоке (асинхронно). Разве не?<br/>
<br/>
Проект не мой, на него меня посадили, потому-что другие от него отказывались. Я же пустил тяжелую артиллерию рефакторинга и архитектурных изменений, с багами уж так вышло, но дела идут более менее успешно ]]></description>
      <pubDate>Tue, 21 Jul 2015 17:36:27 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>21.07.2015 17:31:10 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/263069/#comment_8509417</guid>
      <link>https://habr.com/ru/articles/263069/#comment_8509417</link>
      <description><![CDATA[не пробовал пользоваться) методы на завершение транзишена с 7й прошивки, а у меня текущий проект с ios 6 sdk, к тому-же если будет такое поведение только на устройствах с такой вот прошивкой — это будет не слишком хорошо, так как поведение везде должно быть идентичным. Но интересный способ отлавливания]]></description>
      <pubDate>Tue, 21 Jul 2015 17:31:10 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>20.07.2015 14:39:30 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/263069/#comment_8507469</guid>
      <link>https://habr.com/ru/articles/263069/#comment_8507469</link>
      <description><![CDATA[вот оплошал, оно со стрелочкой создает)) вроде бы и помню, что когда делал как-то не то вышло, а после уже махнул рукой на попытки — и пошел вторым путем) Может как-то немного не так пытался =) буду теперь в курсе]]></description>
      <pubDate>Mon, 20 Jul 2015 14:39:30 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

      

      

    
  </channel>
</rss>
