Я использовал код, чтобы попытаться установить текст ярлыка, но его не работает. Хотя, может быть, я забыл подключить розетку с этикеткой, или я подключил неправильную розетку, но они были в порядке, как только я их проверил. Удостоверился, что был сохранен xib
.UILabel nameLabel.text = "test1"; не работает, и выход подключен
.m
@synthesize nameLabel;
@synthesize infoLabel;
-(void) updateUI
{
nameLabel.text = @"test1";
infoLabel.text = @"test2";
}
.h
UILabel * nameLabel;
UILabel * infoLabel;
@property(nonatomic, retain) IBOutlet UILabel *nameLabel;
@property(nonatomic, retain) IBOutlet UILabel *infoLabel;
То почти весь код, используемый в контроллере Вей, связанных с этими метками. Есть что-то, чего я не вижу, что может объяснить эту странность?
Текст по умолчанию, который у меня есть в названии ярлыков «&« информация »- это то, что отображается.
Это код, который вызывается до updateUI называют
browseDeckViewController.m
-(void) viewDidLoad
{
cardOnTopOfDeck = 0;
cardSecondFromTopOfDeck=1;
deck = [[Deck alloc] init];
[deck loadDeckData];
Card *mySecondCard = [[Card alloc] init];
mySecondCard = [deck.deckArray objectAtIndex:cardSecondFromTopOfDeck];
secondCard = [[CardViewController alloc] initWithNibName:@"CardViewController"
bundle:[NSBundle mainBundle] numberOfStats:kNumStats];
[secondCard setCard:mySecondCard];
CGRect frame = secondCard.view.frame;
frame.origin.x = (320-frame.size.width)/2;
frame.origin.y = 10;
secondCard.view.frame = frame;
[self.view addSubview:secondCard.view];
topCard = [[CardViewController alloc] initWithNibName:@"CardViewController"
bundle:[NSBundle mainBundle] numberOfStats:kNumStats];
Card *myTopCard = [[Card alloc] init];
myTopCard = [deck.deckArray objectAtIndex:cardOnTopOfDeck];
[topCard setCard:myTopCard];
frame = topCard.view.frame;
frame.origin.x = (320-frame.size.width)/2;
frame.origin.y = 10;
topCard.view.frame = frame;
[self.view addSubview:topCard.view];
}
CardViewController.m
-(void) setCard:(Card *)newCard
{
[card release];
card = [newCard retain];
[self updateUI];
}
-(void) updateUI
{
NSLog(@"updateUI");
nameLabel.text = @"test1";
infoLabel.text = @"test2";
}
Что посылает ваш контроллер в 'updateUI' сообщение? – BoltClock
Если код, вызывающий 'updateUI', не встречается в основном потоке, тогда код UI не будет выполнен. –
Я отредактирую это в! :) ty для указания, что вне – 2010-09-11 23:50:24