передача идентификатора кнопки от одного .m к другому .m - PullRequest
0 голосов
/ 01 марта 2011

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

Нет предупреждений или ошибок, поэтому я не уверен, что я делаю неправильно, но значение senderIdentifier в ClassTwo.h всегда равно 0

Спасибо.

в моем classOne.m у меня есть следующее действие кнопки

-(IBAction) btnPushViewtabel:(id)sender{    
ClassTwo *classtwo = [[ClassTwo alloc]init];
    classtwo.myTable = nil;
classtwo.senderIdentifier = [sender tag];   
[self.view addSubview:viewtableController.view];
}

в ClassTwo.h

@interface ClassTwo : UIViewController <UITableViewDelegate, UITableViewDataSource>  {
....
int senderIdentifier; 
} 
@property (nonatomic, readwrite)  int senderIdentifier;  

в ClassTwo.m

if(senderIdentifier == 0){
  // getNewData
  //set background img1
} else {
  // getNewData
  //set background img2
}

1 Ответ

0 голосов
/ 01 марта 2011

if (mySenderIdentifier == 0) {// getNewData // установить фон img1} else {// getNewData // set background img2}

В каком методе находится этот блок кода?

Edit:

Эта строка:

classtwo.mySenderIdentifier = [отправитель тег];

вызывается после:

viewDidLoad

Другими словами - когда вы проверяете его, вы еще не установили его.

Есть несколько способов решить эту проблему, но я бы предпочел создать собственный метод init для classTwo, например:

- (ID) initWithSenderIdentifier: (целое) Идентификатор {* * тысяча двадцать-восемь

if(self=[super init]){

    self.senderIdentifier = identifier;
    self.myTable = nil;

}     
return self; 

}

Или выявить необходимость хранить int (учитывая, что он используется только для установки фона один раз)

- (ID) initWithSenderIdentifier: (INT) Идентификатор {

if(self=[super init]){

    if(identifier)//set backgroundimg1;
    else //set backgroundimg2;
    self.myTable = nil;        
}     
return self; 

}

вы используете это так:

ClassTwo * classtwo = [[ClassTwo alloc] initWithSenderIdentifier: [тег отправителя]];

Если это полезно, отметьте, пожалуйста, что на него ответили

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