IPhone: цель C глобальные переменные - PullRequest
0 голосов
/ 29 июля 2011

Я знаю там как различные посты относительно глобальных переменных в SO, но ничего не помогло. Моя проблема в том, В моем AppDelegate.h я объявил две переменные x и y. В моем ClassA я импортировал AppDelegate.h и добавил:

AppDelegate  mainDelegate = (AppDelegate *)[[UIApplication sharedApplication]delegate];

и присвоенные значения mainDelegate.x и mainDelegate.y.

В ClassB я назначил эти x и y как

label1.text = mainDelegate.x;
label2.text = mainDelegate.y;

Нет ошибок, но оно равно null. Ничто не отображается как текст метки.

Может кто-нибудь, пожалуйста, помогите ..

EDIT: В AppDelegate.h:

@property (nonatomic, copy) NSString *x,*y;

В классе A.m

mainDelegate.x=[[NSString alloc] initWithString:[homeArray objectAtIndex:indexPath.row]];

Этот mainDelegate.x я пытаюсь получить от ClassB, и он нулевой.

Ответы [ 2 ]

1 голос
/ 29 июля 2011

Вы должны использовать

@property (nonatomic, copy) NSString *x,*y; 

, а не

@property (nonatomic, retain) NSString x,y; 

Используя копию, вы гарантируете, что текстовые метки остаются согласованными.Хотя сохранение означает, что если вы измените значения x и y где-нибудь, ваши текстовые метки также изменятся.

0 голосов
/ 29 июля 2011

Поможет ли установка переменных x и y в качестве статических переменных?

static int x;
static int y;

РЕДАКТИРОВАТЬ:

На самом деле, я заметил, что вы присваиваете значение UILabel (?).Вы распределяете и инициализируете свой UILabel до присвоения ему значения?Это одна из возможных причин получения нулевых значений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...