私の苦境への答えは高くても低くても検索しましたが、ARCに適応するのが難しいと思っています - 私はiOS5に自分のアプリケーションを展開したいと考えています。それはベータ4 3GSのそれです。iOS - UILabel変数が(null)になる
のViewControllerは、のviewDidLoad(ロードされている:)私のアプリのアロケーションは、initはUILabelだと、画面の一番上に追加し、それをcustomises:
UIView *navHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 280, 44)];
self.artistLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 2, 280, 15)];
artistLabel.font = [UIFont systemFontOfSize:12];
artistLabel.textColor = [UIColor grayColor];
artistLabel.backgroundColor = [UIColor clearColor];
artistLabel.textAlignment = UITextAlignmentCenter;
[navHeaderView addSubview:artistLabel];
self.navigationBar.topItem.titleView = navHeaderView;
さて、これは正常に動作し、関連する詳細に記入
- (void)updateTrack
{
_player = [MPMusicPlayerController iPodMusicPlayer];
_item = [_player nowPlayingItem];
self._artistString = [_item valueForProperty:MPMediaItemPropertyArtist];
self.artistLabel.text = self._artistString;
}
このメソッドは、NSNotificationsを使用して音楽の再生を変更するときに呼び出されます。しかし、artistString UILabelは現在(null)です。なぜプロパティが解放されたのか分かりません。ヘッダーファイルには非原子的で強力なプロパティが設定され、.mファイルの先頭に合成されます。
UIImageViewのIBOutletに割り当てられた非構造的で強力なプロパティも、アプリケーションが正常に読み込まれた後に1回だけ表示される(つまり、サブビューとして追加されない) 。
任意の助けを大幅に高く評価されるだろう:D
これはiOS5に関連していない可能性がありますので、私はコメントしています。プロパティの宣言を見れば助けになります。私は、valueForProperty呼び出しがnilを返すと思われます。別のノートでは、self._artistStringはちょうど間違っている(アンダースコアではない)と私は期待していますself.artistLabel = [[UILabel alloc] ...を保持しています。 – InsertWittyName