2011-08-02 2 views
0

私の苦境への答えは高くても低くても検索しましたが、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

+0

これはiOS5に関連していない可能性がありますので、私はコメントしています。プロパティの宣言を見れば助けになります。私は、valueForProperty呼び出しがnilを返すと思われます。別のノートでは、self._artistStringはちょうど間違っている(アンダースコアではない)と私は期待していますself.artistLabel = [[UILabel alloc] ...を保持しています。 – InsertWittyName

答えて

0

私の問題は、使用していた変数のARCではないことがわかりました。代わりに、IBOutlets/ViewControllerのUILabelsと正しく通信していないApp Delegateの通知設定がありました。誰もが痛みを抱えて申し訳ありません。

-1

はiOS5をはNDA中です。登録された開発者の場合は、ベータアップルフォーラムでこの質問をしてください。

+0

こんにちは。私はしかし、役に立たないように頼んだ。それはまだNDAの下にあるとは思っていますが、おそらく私のエラーはiOS5特有の問題ではないと思います。 –

+0

こんにちはベン、私はまったく無礼にするという意味ではありませんでしたが、大部分の開発者は、特にAppleから来た場合、NDAに非常に注意しています。この問題がiOS5に固有の問題ではないとしても、ここでは合法的に答えられないiOS5の問題です。標準的なメモリ管理を使ってiOS4の書き換えを提案し、それが動作するかどうか確認できますか?そうすれば、OSの不一致を切り分けることができ、おそらくここで役に立つ応答を得ることができます。 – diatrevolo

+1

またはApple開発者フォーラムのトピックにリンクを張って、NDAを壊すのが気にならない場合は、この質問への訪問者が答えられるようにしてください。 –

0

これは、ベータ版のiOSとは関係ありません。

ヘッダーにUILabelを定義し、@property/@synthesizeを使用していますか?

また、self.をラベルから削除してください。

関連する問題