• Можно ли приложение разработанное для ios в xcode на swift выгрузить в playmarket?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Нет.
    Ответ написан
    Комментировать
  • SOLID Единая ответственность - стоит ли мне в данном случае написать отдельный класс?

    @pin2t
    Ну начнем с того, что класс вам тут вообще не нужен. Потому что в классе Calc нет никаких данных, только методы. Вот функции вам и нужны, а не класс.
    Не надо сильно выдумывать и придумывать что-то связанное с этими принципами, они очень абстрактны. Даже сам автор SOLID сто раз переобувался что он имел в виду под этим S.
    Простой функции

    arrayAmount(data) {
       let sum = 0;
       data.forEach((item) => {
         const {a, b} = item;
         sum += a + b;
       });
    
      return sum;
     }

    будет достаточно
    Ответ написан
    Комментировать
  • Как правильно использовать паттерн Singleton?

    HemulGM
    @HemulGM
    Delphi Developer, сис. админ
    Singleton - это паттерн (шаблон). Нет ни каких правил и инструкций, как его использовать, он сам - правило. Если понимаешь что такое Singleton, то просто используешь такой подход в своих алгоритмах. И так можно сказать про любой паттерн.

    А если ты задался таким вопросом, то вероятно ты не понимаешь, что такое паттерн и тем более Singleton. так что учи язык и учись программировать пока без него.
    Ответ написан
    1 комментарий
  • Не могу понять этот код?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Начальное значение - это первый элемент массива individualScores.
    И в этом коде даже не важен порядок перебора, так что начального значения, можно сказать, нет вовсе. То есть score - это просто один из элементов массива в каждой из итераций цикла.

    Вообще на вопрос "Не могу понять этот код?" формальный ответ - "Да, не можешь".
    Если хочешь разобраться в коде, то и вопрос нужно задавать правильно: не про то, понимаешь ты или нет, не про сам факт понимания, а про понимание кода:
    "Как понять этот код?"

    Ещё желательно вопрос сделать более специфичным, чтобы из заголовка было понятнее, о чём конкретно вопрос. Это сложно, но надо учиться. Например, так:
    "Откуда берётся начальное значение в цикле for in?"

    Ну и последнее: писать небрежно и без запятых - это неуважение к отвечающим. Видно, что ты даже не перечитал собственный вопрос, слова повторяются дважды и не складываются в предложение, даже если проставить запятые. Поэтому будет меньше желающих ответить. Отвечаю лишь потому, что вопрос слишком простой.
    Ответ написан
    4 комментария
  • Как удалить ячейку в tableView с использованием RxSwift?

    gagarin67
    @gagarin67
    iOS-разработчик
    Добрый день, удалять надо из data source, то есть в вашем случае из массива items, если биндинг данных выполнен верно, то таблица обновится
    Ответ написан
    Комментировать
  • Как переопределить оператор Swift?

    extension Optional1 {
      static func +(left: Optional1, right: Optional1) -> Optional1 {
          // Тут реализуем сложение
      }
      static func -(left: Optional1, right: Optional1) -> Optional1 {
        // Тут реализуем вычитание
      }
    }

    https://medium.com/swift-india/everything-about-op...
    Ответ написан
    Комментировать
  • Почему нельзя тип Any привести к Int?

    DevMan
    @DevMan
    потому что у этих типов не совпадают протоколы:
    error: protocol type 'Any' cannot conform to 'BinaryInteger' because only concrete types can conform to protocols
    print( Int(str) )

    и да, кастить в строку и затем в инт.
    Ответ написан
    Комментировать
  • Не открывается модальное окно, что не так?

    DyadyaEmil
    @DyadyaEmil Автор вопроса
    Начинающий программист
    Разобрался! Данные манипуляции необходимо выполнять не в AppDelegate а в SceneDelegate.
    Ответ написан
    Комментировать
  • Как отслеживать изменение текста Text View?

    @sergiodev
    Нужно наследовать от UITextViewDelegate и реализовать один метод:

    func textViewDidChange(_ textView: UITextView) {
        // ...
    }


    Он вызывается, когда изменяется текст в text view.

    https://developer.apple.com/documentation/uikit/ui...

    Если делаете через XIB/Storyboard, то насколько помню, там можно через UI назначить делегатом ваше контроллер через перетаскивание свойства delegate в text view на контроллер.
    Ответ написан
    1 комментарий
  • Почему я не могу задать вопросы?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Многие путают тостер с "фрилансим" :) Здесь не решают задачи. Здесь отвечают на вопросы.

    То есть - в вопросе должно быть показано то, что уже сделано, что произошло и что непонятно. Например.

    Вопрос "Надо сложить две матрицы" - вылетит сразу же с причиной "Это задание, а не вопрос"
    Вопрос "Надо сложить две матрицы, вот программа, она не компилируется, вот ошибка, как исправить" - для новичка вполне нормальный (особенно, если в программе есть нетривиальные решения)
    Ответ написан
    Комментировать
  • Почему при выполнени кода Ошибка Expressions are not allowed at the top level?

    NSA-bot
    @NSA-bot
    Могу ошибаться, так как вы не написали, где выполняете ваш код. Но скорее всего ошибка может быть потому, что этот код, в голом виде (как он тут написан, без класса), можно запускать в Плейграунде (или в MacOS проекте тоже).
    А Вы скорее всего вставили все это в iOS проект вне какого-либо класса.
    То есть в iOS проекте весь этот код должен быть внутри класса и к тому же еще принты должны быть в каком-то методе, а не просто в теле класса. Например, так:

    import UIKit
    
    class ViewController: UIViewController {
      
      override func viewDidLoad() {
        super.viewDidLoad()
        
        print(mult(no1: 2, no2: 20))
        print(mult(no1: 3, no2: 15))
        print(mult(no1: 4, no2: 30))
      }
      
      func mult(no1: Int, no2: Int) -> Int {
        return no1 * no2
      }
    }
    Ответ написан
    Комментировать
  • Можно ли написать бэкенд на Java а фронтенд на Swift для Apple?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Backend можно написать на чем угодно. Java тоже подойдет.

    Будет ли это работать на Apple ?

    Даже не сомневайтесь. Вообще все равно что крутится на фронте, будь то приложение на swift или react native или js фреймворк для веб-приложения и т.д.
    Ответ написан
    Комментировать
  • Как можно заменить стандартный navigationItem?

    @dadduUrsa
    Вернувшийся кодер недоучка
    Комментировать
  • InnoDB vs MyISAM, что выбрать?

    @carryx
    MySQL Developer
    InnoBd быстрее на выборку
    MyIsam на вставку
    в остальном отличие описали выше
    Ответ написан
    1 комментарий
  • Стоит ли начинать изучать разработку под iOS с нуля в 36 лет?

    approximate_solution
    @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    Стоит ли начинать изучать разработку под iOS с нуля в 36 лет?

    Если нравится, и мотивацией служат не только деньги - то да.

    и работать на фриланс

    Как по мне - плохая идея, и именно она может послужить камнем преткновения в вашей диллеме. Джуны не фрилансе = слабые в архитектуре(не хватает знаний), под рукой нет человека который будет тыкать носом на проблемные места(в офисе как раз такого за глаза).

    3. Реально ли начинающему самоучке найти работу на удалёнке?

    Зависит от ваших мозгов, если готовы уделять программированию с нуля по 5-6 часов в день, в течении года - может что нибудь получится. Но без code review - есть шанс что выучитесь так себе, а переучивать программиста - довольно дорого.

    С какими трудностями я могу столкнуться? (возраст, недоверие, стереотипы, конкуренция и т.д.)

    Возраст - на фрилансе без разницы сколько вам лет, главное прокачанное портфолио, например на Upwork.
    Недоверие - 100% пока вы новичок на фрилансе, будете сражаться с другими за копейки.
    Конкуренция - на уровне джуна - колоссальная, скорее всего вас съедят молодые, и голодные студенты, которые как раз и нашли позицию джуна в офисе, и уже качаются на 2 стороны.

    Моё субъективное мнение: изначально неправильно выбрана стратегия.
    Фриланс + джун = самый верный вариант здесь подошел бы php какой нибудь, и создание сайтов на колене. И как только у вас появились знания какого нибудь языка и общего построения архитектуры проекта. Можно учить уже swift. 2 языка в голове = это уже норма для программиста

    UPD: Если всё такие горят глаза, подойдет более дорогой вариант. Находите ментора после изучения базы языка (желательно работающий програмист на позиции Senior+), который будет делать code review и помогать. Это позволит эмулировать "офис", и дальше искать не фриланс, а удаленку по европе\снг.
    Ответ написан
    5 комментариев
  • Как можно установить приложение на iOS из Xcode?

    NSA-bot
    @NSA-bot
    Непонятно, в чем у вас возникает проблема. Подключаете айфон к макбуку, выбираете в икскоде вместо симулятора свой айфон и так же как обычно запускаете компиляцию. Всё, калькулятор на айфоне и можете начать калькулировать.

    Если аккаунт разработчика непроплаченный, то приложение проживет на айфоне дней 5 вроде, а потом начнет вылетать и нужно опять подключать айфон и компилировать и так каждые пять дней. Если аккаунт разработчика оплачен, тогда никаких проблем вообще возникать не должно. А какие у вас возникают проблемы?
    Ответ написан
    Комментировать
  • Swift. При формировании массива добавляется __lldb_expr что это значит?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Переменная экземпляр класса. print пытается напечатать вашу переменную .
    Хочет от этого экземпляра взять строковое представление.
    Такого метода у класса нет. По дефолту печатает имя класса экземпляром, которого является переменная.
    Ответ написан
    Комментировать
  • Как обновить данные во ViewController'е после dismiss() во всплывающем?

    ivanvorobei
    @ivanvorobei
    iOS разработчик, канал https://t.me/sparrowcode
    Тру вей использовать делегаты.

    Можете попробовать закостылять через parent и приведение типа. Не рекомендую.
    Ответ написан
    1 комментарий
  • Как вывести правильный NSRange с NSAttributedString если NSAttributedString инициализирован с Data(HTML)?

    @tiger_13 Автор вопроса
    Как вариант - использовать regex, с помощью которого найти что написано в <p>из отображаемого текста (ищем в String, инициализированным с data(html), то есть видим все теги), и искать этот текст в attributed.string:
    //1
        private func getRangeFor(attributedString:String,aValue:String) -> NSRange?{
            guard let aWord = self.findAWords(aValue: aValue),let foundRange = attributedString.range(of: aWord) else {return nil}//ищем aWord - то, что записано в <p>, затем ищем уже range в attributedString(отрендеренный HTML)
            return NSRange(foundRange, in: attributedString)
        }
        
        //2
        private func findAWords(aValue:String) -> String?{
            guard let data = self.HTMLdata,let str = String(data: data, encoding: .utf8) else {return nil}
            
            
            let pattern = #"<p class=main-text><a name="\#(aValue)"></a>\n<span class=main-text-span>(?<paragraph>.+)</span>"#
            let regexRange = NSRange(location: 0, length: str.utf16.count)
            let regex = try! NSRegularExpression(pattern: pattern)
            let regexResult = regex.firstMatch(in: str, options: [], range: regexRange)
            guard let matchedWordRange = regexResult?.range(withName: "paragraph"), let wordRange = Range(matchedWordRange, in: str) else {return nil}
            return String(str[wordRange]) //вернет слово (Название), нужно дописать regex, чтобы была вторая группа - слово ( абзаца)
        }
    Ответ написан
    Комментировать