• Почему происходит сброс данных в массиве?

    Flanker_4
    @Flanker_4
    Вам нужно заменить
    Card *tmp = obj;
    На
    Card *tmp = [obj copy]
    или
    Card *tmp = [Card new];

    В зависимости от специфики того, что вы делаете
    Мне не видно всех свойств Card
    Ответ написан
    Комментировать
  • Как сравнить форму кривых Безье?

    Flanker_4
    @Flanker_4
    Если нужен распознаватель только для двух форм
    "( "
    и
    "~"
    То можно просто строить прямую между начальной и конечной точкой кривой, а дальше проверять, находятся ли все якоря по одну сторону от прямой [Значит у нас "(" ] или нет [Значит "~"]
    Ответ написан
  • Можно ли запускать мобильное приложение из другого мобильного приложения?

    Flanker_4
    @Flanker_4
    в iOS это делается с помощью URL Sheme
    Вы регистрируете протокол, который будет поддерживать приложение (ну к примеру myApp://) и дальше просите систему открыть url
    myApp://host/path?query
    Система смотрит, есть ли среди установленных приложений те , что поддерживают протокол myApp:// и пытается запустить это приложение.
    Вот тут можно посмотреть список публичных url scheme для других приложений
    wiki.akosma.com/IPhone_URL_Schemes
    ну или погуглить другие списки. открывать можно хоть с браузера
    Ответ написан
    3 комментария
  • Можно ли продать контент внутри приложения напрямую через банковскую карту, без использования встроенных методов оплаты AppStore и Google Market?

    Flanker_4
    @Flanker_4
    Буду говорить только за AppStore.

    Цифровой контент - только через in app purchase
    Услуги и реальные вещи можно покупать так как Вы описали в первом случае. Впринципе есть уже готовые сервисы для этого (https://www.braintreepayments.com), предоставляющие готовые библиотеки и апи.
    Ответ написан
    Комментировать
  • Как реализовать переход на другой View Controller через SWTableViewCell?

    Flanker_4
    @Flanker_4
    Небольшая прелюдия:
    Если Вы только обучаетесь, и Вам не важна поддержка iOS 7 - лучше посмотреть в сторону стандартного api
    см. метод tableView:editActionsForRowAtIndexPath
    Пример как использовать тут, ближе к концу

    А переход на другой "экран" делается в самом простом случае
    -(void)buttonizeButtonTap:(id)sender{
        [self performSegueWithIdentifier:@"Associate" sender:sender];
    }

    где Associate - id перехода в storyboard'e (там прям и задается строка)
    Пример взят от сюда, там же можно посмотреть скриншотики со стрелочками , правда для старого XCode, но там особо ничего не поменялось.
    Ответ написан
    8 комментариев
  • Адаптация под разрешения iphone app?

    Flanker_4
    @Flanker_4
    Не все так печально, как у вас написано
    1) На данный момент разработка под эти девайсы не практикуется. Общепринято поддерживать текущую (iOS 8) и предыдущую версию (iOS 7) ОС.
    2) Аналогично предыдущему ответу, за исключением iPhone 4S
    3) и 4) одно и тоже при разработке
    5) +
    И того выходит три типа экранов.
    Как правило, это все обходится малой кровью при использовании Autolayout. А со SizeClasses можно жить даже с iPad'ами.
    P.S. начиная с iOS 8 Apple продвигает идею разработки "резиновой" верстки под iOS (size classes, autolayout'ы). Даже от ориентации девайса отказываются и рассматривают его как банальное изменение размеров "окна".

    Что касается дизайна:
    Обычно дизайн рисуется под один девайс (iPhone 6, тот же), и на все остальные кропается/растягивается. Арты используются трех типов: обычные(девайсы из пункта 1), @2x(девайсы из пунктов 2,3,4,), @3x(девайс из пункта 5). Но от картинок все больше и больше отказываются, с одной стороны plane интерфейсы, с другой - iOS предоставляет отличное api для рисования программно многих вещей. А еще в мир iOS пришла векторная графика...
    Ответ написан
    Комментировать
  • Возможно ли сделать всплывающие окна на ios?

    Flanker_4
    @Flanker_4
    Вот то что Вы хотите - нет
    Но до конца не ясно , что вы хотите. Чисто теоретически это можно сделать через extention (iOS 8) с типом today
    В таком случае, пользователь на любом экране сможет вытащить notification center и увидеть ui вашего приложения. Но "вылазит окно с настройками моего приложения" это наверняка не пропустят в app store, потому как кому нахрен нужны настройки вашего приложения в месте, где они быть не должны
    Во вторых, не ясно что они вообще будут настраивать
    Ответ написан
    Комментировать
  • Получение mjpeg видеопотока с ip-камеры в iOS приложение?

    Flanker_4
    @Flanker_4
    Из того, что я увидел - у Вас не создается dataResponse
    Нужно либо в viewDidLoad, либо в методе делегата, где начинается получение данных написать
    dataResponse = [NSMutableData dataWithCapacity:100]; //capacity написал "от фанаря"


    P.S. А вообще, вы смотрите в старые уроки. NSURLConnection - deprecated уже
    поищите уроки по NSURLSession. Или AFNetworking (это стороння библиотека)
    Ответ написан
    Комментировать
  • Как передать данные из UITableViewCell в UIViewController?

    Flanker_4
    @Flanker_4
    Обычно это делают через делегирование
    Вот тут пример
    stackoverflow.com/questions/8062572/adding-a-deleg...

    Если не хочется писать много метакода, нужно быстро и Вам плевать на идеальность можно сразу повесить обработчик на кнопку
    stackoverflow.com/questions/4910323/delegate-from-...
    А номер элемента передавать через button tag. Хотя получится изврат...

    Еще один из вариантов - блоки, это если Вам не по-душе делегирование
    Ответ написан
    Комментировать
  • Как сделать переход UITableView Header в элемент управления?

    Flanker_4
    @Flanker_4
    Самым простым и быстрым решением будет
    self.tableView.contentInset = UIEdgeInsetsMake(0, 0, <table height>-<row height>*<row count>, 0);

    Т.е. мы ограничиваем скрол у таблицы на высоту секции (rowHeigh*rowCount) но с возможностью проскролить вверх на весь экран (table height)
    Обратите внимание, что в "формуле" не учтены футер и хидер таблицы, да и вообще оно будет криво работать с таблицами где ячейки разноразмерные, где таблица не plain, а group. Да да, а еще если это UITableViewController и в нем включен UINavigationBar, то вам размер tableview вернет все 568 пикселей для 4" экрана, вместе с navigation bar'om, и нужно будет это предусмотреть. Короче куча исключений...
    Ответ написан
    5 комментариев
  • Mac OS X: нужен ли Flash Player?

    Flanker_4
    @Flanker_4
    Так же как и у uvelichitel стоит, но в настройках плагинов Safari стоит галочка - запрашивать для каждой страницы разрешение на запуск. Как по мне - идеальное решение
    Ответ написан
    2 комментария
  • Кто-нибудь сталкивался с проблемой?

    Flanker_4
    @Flanker_4
    У Вас там что-то несусветное написано...
    Но проблема конкретно в

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
        return self.lesson.cards.count;
    }

    Тут нужно написать self.cards.count

    После вызова
    [self.tableView insertRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:[self.cards count]-1 inSection:0]] withRowAnimation:UITableViewRowAnimationFade];
    Количество ячеек должно совпадать с тем, что возвращается в методе datasouce. Иначе произойдет падение. А у вас же вставка идет в cards(их станет ну там 3), а в дата соурсе возвращается количество из self.lesson.cards (которых так и останется 2)
    Но при этом в саму таблицу ячейку уже впихнули через insertRow - 2!=3 - вот и падает
    Ответ написан
  • Как узнать список всех возможных прав доступа у IOS приложений?

    Flanker_4
    @Flanker_4
    Это Вас интересует как разработчика или как пользователя?

    Если пользователя - то вот тут можно посмотреть все возможные "права"
    ios-privacy-permissions-list.png
    Ну и настройки для каждого приложения содержатся все те же галочки

    Если как разработчика - то тут все сложнее
    Вот тут можно почитать о хардварных ограничениях
    А вот тут о privacy Table 1-2 Data protected by system authorization .... Но дока явно немного устарела, нету helth kit'a и прочих новомодных штучек.
    А еще есть так называемые Capabilities (на iCloud , in App Purchase etc.). Их можно посмотреть в свойствах проекта
    Ответ написан
    Комментировать
  • Как разделить Polyline на точки по 1 КМ?

    Flanker_4
    @Flanker_4
    решение в лоб:
    1) идете по линиям полилайна и суммируете длину по формуле
    Ldista5.gif
    Хотя если речь идет о координатах, то тут сюда
    2) если длина меньше 1 км, то переходим к следующей полилинии (паре точек)
    3) если длина больше 1 км, то нужно поделить текущую линию
    можно воспользоваться вот такой формулой www.pm298.ru/reshenie/delen.php, но это будет не совсем точно, так как речь о координатах
    тут нужно провести доп. исследование, на которое у меня нет времени :) вот что я нагуглил www.pereplet.ru/nauka/Soros/pdf/0008_115.pdf, может поможет...

    P.S. какой же я слепой, я же Вам дал ответ
    Destination point given distance and bearing from start point
    www.movable-type.co.uk/scripts/latlong.html
    Ответ написан
    1 комментарий
  • В чем отличия void от Id в objective-c?

    Flanker_4
    @Flanker_4
    Вы наверное имели ввиду void* ?
    Отличие в том, что id указатель на objective - c объекты, а void* указатель на неопределенный тип, или просто область в памяти (в которой может хранится все что угодно).

    stackoverflow.com/questions/1304176/objective-c-di...
    Ответ написан
    Комментировать
  • Актуально ли до сих пор указывать @2x для ретина-дисплеев?

    Flanker_4
    @Flanker_4
    Актуально, но не модно
    Сейчас в тренде использовать каталог для артов - Asset Catalog. Это специальный контейнер, который позволяет избежать эти дичайшие костыли с суффиксами и в удобном виде представить все ваши картинки. Но есть ситуации, когда asset catalog не будет работать. Я за свою практику сталкивался лишь с двумя сценариями:
    1) Маска;
    2) Локализация;
    вот тогда без этих @2x и @3x не обойтись. Более того, все идет к тому, что @2x скоро станет стандартом. В айфон приложения уже неретина изображения не используются, в следующем году это коснется айпадов...

    P.S. ой, забыл. Нынче ультрамодно вектор и plane интерфейсы
    Ответ написан
    Комментировать
  • Можно ли заниматься дизайном и разработкой мобильных приложений под IOS на компьютере с Windows?

    Flanker_4
    @Flanker_4
    Вы однозначно можете заниматься дизайном. Тут нужен всего лишь "фотошоп" и понимание специфики интерфейсов для iOS. Ни то, ни другое не привязано к маку. А вот разрабатывать нативные приложения без мака не получится. Альтернатива - хакинтош, но это уже совсем другая история
    Ответ написан
    3 комментария
  • Как передать NSMutableArray с объектами одного класса в метод?

    Flanker_4
    @Flanker_4
    В идеале отказаться от оперирования NSMutableView, а класс, который его содержит - сделать контейнером, добавив методы
    -addObject
    -removeObject
    -(NSArray*) objects
    И либо на этапе добавления контроллировать уникальность, либо на этапе извлечения (-objects). Через ту же Фильтрацию массивов. Ну либо перед передачей массива параметром провести ту же фильтрацию. К сожалению, а может и к счастью - массивы в foundation могут содержать любые обьекты

    Кстати, то что Вы хотите сделать - отлично делается на swift . Код objective c и swift миксуется без проблем. Да и вообще, с c# на свифт проще будет переехать
    Ответ написан
    1 комментарий
  • Как в iOS разместить на одной странице прокручивающуюсю форму и список?

    Flanker_4
    @Flanker_4
    Ну смотрите, все зависит от того, как вы хотите что бы оно работало. Если интересует банальный скрол - то у tableView есть свойство tableViewHeader. Пихаете в него View с формой, и получаете простой скрол. Но это решение будет немного корявым для пользователя - он сможет проскролить так, что будет видно пол формы, ну а дальше список будет идти на экране.
    Если же нужно сделать именно страничное переключение, т.е. либо форма, либо список, то тогда делаете
    UIScrollView:[UIView,UITableView]
    где UIView - ваша форма, размером на весь экран девайса, а UITableView - список, такого же размера.
    Размещены они вертикально, друг на дружкой. в uiscrollView включаете pagingEnabled и выставляете корректный contentSize
    Ответ написан