Объяснение вложенных массивов [закрытому] программисту

Да, вам следует наблюдать .willResignActiveNotification, потому что ваше приложение все еще существует под приложением для телефона iOS , которое отображается iOS при поступлении входящего вызова. .didEnterBackgroundNotification не сработает при входящем звонке, оно сработает при нажатии кнопки домой.

Теперь, как только вы закончите разговор, отклонив его или после завершения разговора, Phone Application iOS будет удален из верхней части и активизирует ваше приложение. Таким образом, вы можете наблюдать за .didBecomeActiveNotification для всех случаев.

Вы также можете проверить закомментированные строки в методах, предоставляемых XCode, при создании нового проекта. Изучите AppDelegate.swift, чтобы понять разницу

func applicationWillResignActive(_ application: UIApplication) {
        // Sent when the application is about to move from active to inactive state.
        // This can occur for certain types of temporary interruptions 
        // **(such as an incoming phone call or SMS message)** 
        //  or when the user quits the application and 
        // it begins the transition to the background state.
        // Use this method to pause ongoing tasks, disable timers, 
        // and invalidate graphics rendering callbacks. 
        // Games should use this method to pause the game.
}

func applicationDidEnterBackground(_ application: UIApplication) {
        // Use this method to release shared resources, save user data, 
        // invalidate timers, and store enough application state information to
        // restore your application to its current state in case it is terminated later.
        // If your application supports background execution, 
        // this method is called instead of applicationWillTerminate: when the user quits.
}

Суммируя это с вашими делами:

  1. Определите, когда пользователь получает телефонный звонок

    [ 1117] будет запущен только .willResignActiveNotification.

  2. Определяет, когда пользователь нажал кнопку «Домой» для создания фона приложения.

    и .willResignActiveNotification, и .didEnterBackgroundNotification будут запущены соответственно. [1119 ]

Надеюсь, это поможет.

5
задан Darryl Hein 23 August 2013 в 15:18
поделиться

11 ответов

Скажите им думать о массиве как о списке - что он помогает дать им что-то менее абстрактное, как список покупок. Затем вложенный массив является просто списком списков.

Возможно, у меня есть список ожидающих выполнения задач, список покупок и список пожеланий по amazon.com. Теперь у меня есть список всех моих списков, и я могу посмотреть на все те элементы в каждом списке путем продвижения через них.

10
ответ дан 18 December 2019 в 07:11
поделиться

Вложенный массив является набором в наборе. Так, библиотека имеет ряд книг, книга имеет ряд глав. Глава имеет ряд абзацев, абзац имеет ряд предложений. Предложение имеет ряд слов.

For each book in library

    For each chapter in book

        For each paragraph in chapter

и т.д...

5
ответ дан 18 December 2019 в 07:11
поделиться

Как Вы объяснили это? Это не походит на большой переход для кого-то, который понимает одномерные массивы, чтобы смочь схватить понятие, что вместо интервала или строки, что каждый элемент массива содержит другой массив вместо этого.

Возможно, сравнение аналогии, которому каталоги помогут, одномерный массив, походило бы на каталог, который содержит набор файлов, двухмерной антенной решетки к каталогу, который содержит несколько других каталогов, каждый содержащий набор файлов, и т.д.

2
ответ дан 18 December 2019 в 07:11
поделиться

Потяните его.

Переменная является полем
1 размерный массив является строкой полей.
2 размерных массива являются сеткой полей.
3 размерных массива являются кубом полей.

Если они испытывают испытывающие затруднения из-за общего понятия, не пытайтесь визуально объяснить 4 размера.

2
ответ дан 18 December 2019 в 07:11
поделиться

Используйте битовый массив в качестве примера. В C можно сделать битовый массив X как это:

int x[5][5] = {
    { 1,0,0,0,1 },
    { 0,1,0,1,0 },
    { 0,0,1,0,0 },
    { 0,1,0,1,0 },
    { 1,0,0,0,1 }
};

Затем покажите им, как использовать вложенный for циклы для отображения битового массива.

Примеры всегда помогают, и это также заставляет их думать о вложенных массивах как о многомерных массивах. На самом деле, вероятно, лучше понять многомерные массивы на языке как C прежде, чем узнать о "вложенных" массивах на языках как Python, где у Вас могут быть разные уровни вложения в том же массиве.

1
ответ дан 18 December 2019 в 07:11
поделиться

Спорт может обеспечить соответствующие аналогии для описания применения вложенных массивов. Команда является массивом людей, конкуренция является массивом команд, которые играют друг против друга.

Однако это - случай нахождения аналогии, которая нажимает учеником. Найдите правильную аналогию, и Вы заставите даже самого медленного из учеников понимать. Просто удостоверьтесь, что Вы - аналогии, трудная вода. Как абстракции, они являются текучими.

1
ответ дан 18 December 2019 в 07:11
поделиться

Конкретным примером является индекс позади книги. Список слов, каждое слово, связанное со списком номеров страниц.

яблоки - 1, 2, 3-4
переносы - 32-35, 79, 83
кошки - 14, 15

1
ответ дан 18 December 2019 в 07:11
поделиться

2 размера легко объяснить. Просто думайте о таблице. 3 размера просто думают о кубе или другом 3-м изображении. 4 размера думают о ряде изображений как фильм с 4-м размером, бывшим время.

4 + размеры твердо визуализировать использование та модель. Но думайте, это как специальный шкаф с другой картотекой внутри помогает. Вы открываете секцию, и выталкивает специальный шкаф. Вы находите секцию, Вы хотите и открываете ту секцию, и выталкивает другой специальный шкаф.... много раз до наконец, Вы получаете свою статью.

0
ответ дан 18 December 2019 в 07:11
поделиться

Если Вы смотрите на тип C, ненеровный, массивы, сравнивая его с числами, основа 10 частей, и там цифры могли бы помочь. Другой хороший источник для этого того же эффекта был бы время, как он имеет не однородную базу 60-е = 1 м, 60 м = 1 ч, 24-й = 1 день, 7-дневный = 1week

0
ответ дан 18 December 2019 в 07:11
поделиться

Возможно, Вы объясняете это от контекста кого-то, кто понимает массив массивов. Я попытался бы обмануть их в понимание, что они уже понимают их путем запуска в самом маленьком (считайте внутренний массив)... и медленно расширяясь, давая им много времени для задавания вопросов, пока они не сделаны.

Рисунок помогает, но необходимо дать студенту в этом случае некоторую информацию и медленно идти, большинство программистов, которых я знаю, склонно переходить к быстрому и любить объяснять вещи, Даже когда слушатель больше не отслеживает то, что говорится.

Я - парень метафоры, таким образом, я, вероятно, приготовил бы что-то о серии полей с каждым перечисленным, каждое поле, затем содержащее подобное (но намного меньшем ряде) также пронумерованный. Я взял бы, это только к двум уровням получает понимание и затем возможно, говорит приблизительно 3 размера для подтверждения. Но я избежал бы 4 размеров на том основании, что они могут быть подвешены в идее, что нет такой вещи как 4 размера, или Вы не можете измерить время, или другие такие метафорические мины/отвлекающие факторы... вызывают, это - другая проблема, программисты склонны быть ADD и любить получать прослеженную сторону.

Также, почему Вы не использующий хеш хешей, намного легче к ссылке.:)

Нижняя строка, маленькие шаги.

0
ответ дан 18 December 2019 в 07:11
поделиться

массив является просто объектом - вещь. все должно быть просто понять, после того как они получают это

0
ответ дан 18 December 2019 в 07:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: