Если вы отображаете какой-либо список в реакции, каждый ваш компонент должен иметь уникальный идентификатор в качестве ключа.
На ваших страницах -> main -> index.js
У вас есть это
{this.state.movies.map(movie => {
return {movie.title}
;
})}
Здесь вам нужно передать что-то уникальное для ключа вместо movie.toString()
.
Inside viewController, вы повторная настройка локальной переменной appDelegate, которая указывает на делегата вашего приложения. Вот что делает эта строка:
pinkAppDelegate *appDelegate= (pinkAppDelegate *)[[UIApplication sharedApplication] delegate];
Эта переменная является локальной для viewController, поэтому вы не можете использовать ее в контроллере представления настроек. Вам нужно настроить там другую переменную.
Или используйте этот красивый #define в своем приложении. (Вам нужно будет поместить его в заголовочный файл .h, который вы включаете в каждый файл в своем проекте.)
#define myAppDelegate (MyAppDelegate *)[[UIApplication sharedApplication] delegate]
Затем вы можете сделать следующее где угодно:
[myAppDelegate doSomething];
В ответе Джейн была опечатка.
Используйте следующую строку в заголовочном файле (например, defines.h), который вы импортируете в каждом классе:
#define myAppDelegate [[UIApplication sharedApplication] delegate]
Вы также можете использовать эту строку в префиксном заголовочном файле - это простой способ получить доступ к этому везде.
затем в любом методе вы можете использовать любой из следующих:
[myAppDelegate doSomething];
myAppDelegate.property=value;
myAppDelegate.childClassOfMyAppDelegate.property=value;
[myAppDelegate.ChildOfMyAppDelegate doSomething];