• Как сохранить информацию, которую ввел пользователь в appdelegate?

    ManWithBear
    @ManWithBear
    Swift Adept, Prague
    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
    [userDefaults setObject:login forKey:@"login"];
    [userDefaults setObject:password forKey:@"password"];
    
    login = [userDefaults objectForKey:@"login"];
    password = [userDefaults objectForKey:@"password"];
    Ответ написан
    Комментировать
  • Как сделать создать полноценный чат для ios?

    smanioso
    @smanioso
    Отмечайте ответы на свои вопросы!
    Вы не должны этого хотеть.
    Проблемы:
    1. обнаружение собеседника
    2. подключение к собеседнику
    3. работа в условиях плохой связи
    Ответ написан
    Комментировать
  • Можно ли использовать карты apple в платных приложениях?

    smanioso
    @smanioso
    Отмечайте ответы на свои вопросы!
    Можно
    Ответ написан
    Комментировать
  • Закон Деметры. Нужен ли?

    ConConovalofff
    @ConConovalofff
    Сегодня прочитал об этом законе и сделал для себя следующие выводы:

    Закон не нацелен на улучшение читаемости или эстетичности кода. Наоборот, красота кода теряется, а структура класса обрастает проксирующими функциями-пустышками, портя читаемость класса.

    Основная цель использования закона, это избавить команду программистов от страха изменять существующий код.

    К примеру, представим 2 разные ситуации:
    1. В проекте игнорируется закон Деметры. Класс b включен в классы a, c и d. Каждый класс инстанцируется в разных участках кода по 10 раз каждый и применяется a.b.Method(), c.b.Method() и d.b.Method()
    2. В проекте применяется закон Деметры. Класс b включен в классы a, c и d. Каждый класс инстанцируется в разных участках кода по 10 раз каждый и применяется a.Method(), c.Method() и d.Method()

    При замене класса 'b' на класс 'z':
    В 1-ом случае нам придется изменить код в 30 местах где используется a.b.Method().
    Во 2-ом случае нам потребуется изменить код в 3-ех методах классов a, c и d.

    Следуя этому правилу, я думаю будет логичен следующий код:
    $user = new User('Paul')
    $comments = $user->getCommentsOfLastPost()


    В классе User:
    function getCommentsOfLastPost()
    {
        $posts = new Posts()
        $posts->getCommentsOfLastPostUser($this)
    }

    и т.д.

    В итоге, этот закон стоит применять там, где стоимость легкого изменения кода выше стоимости чистоты структуры классов. А значит, закон лучше игнорировать при разработке небольших проектов.

    Я уловил суть?
    Ответ написан
    1 комментарий