Я повторяю то, что было сказано выше. Вероятно, ваш активатор будет вызван, если вы увидите вывод "hello" в вашей консоли. (Чтобы быть абсолютно уверенным, очистите консоль перед запуском и убедитесь, что она снова отображается, чтобы исключить устаревший вывод.) Еще одна вещь, которую я бы предложил, это использовать NSAssert (), чтобы убедиться, что ваши выходы установлены. Вот пример:
-(void) afficher{
NSLog(@"hello");
NSAssert(nil!=poids, @"poids should be set.");
poids.text = [NSString stringWithFormat:@"lol"];
NSAssert(nil!= labelalco, @"labelalco should be set.");
labelalco.text = [NSString stringWithFormat:@"cac"];
}
Я просто очень внимательно посмотрел на ваши снимки экрана, и кажется, что ваш тестовый объект - UIViewController. Из того, что вы описываете, держу пари, вы предполагаете, что labelalco будет установлен через соединения с создателем интерфейса. Этого не произойдет в вашем первом фрагменте кода, потому что вы создаете его непосредственно без использования файла nib.
Test *myLevelObject = [[Test alloc] init];
[myLevelObject afficher];
должно быть:
Test *myLevelObject = [[Test alloc] initWithNibName:@"Test.xib" bundle:nil];
[myLevelObject afficher];
Предполагается, что Test.xib - это то место, где выполняются соединения в IB. Похоже, что это субконтроллер в контроллере представления вкладок вашего главного окна, поэтому в том, что вы пытаетесь сделать, может быть дополнительная сложность.