2011-11-08 9 views
0

私はiOS開発を始めたばかりで、ESTで時間を入力してからPSTとCSTを出力する単純なアプリを作ろうとしています。私はView Controllerのセットアップを手に入れましたが、時間を実際に表示する機能は私のラベルを消してしまいます。ここにその関数のコードがあります。このコードを実行すると、ラベルが消えてしまうのはなぜですか?

- (IBAction)buttonPress { 
NSDateFormatter *date = [[NSDateFormatter alloc] init]; 
[date setDateFormat:@"hh:mm a"]; 
[date setDateStyle:NSDateFormatterNoStyle]; 
[date setTimeStyle:NSDateFormatterShortStyle]; 

NSDate *estTime = [date dateFromString:self.estText.text]; 
[date setDateFormat:@"hh:mm a zzz"]; 
self.pstText.text = [date stringFromDate:estTime]; 

[date setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"CST"]]; 

self.cstText.text = [date stringFromDate:estTime]; 

}

+0

はself.estText.textが空ですか?またはそこには何のテキストist?なぜなら、dateFromStringを使った解析が失敗した場合、すべての文字列が空になるからです。 – JeanLuc

+0

いいえ、ボタンを押したときにテキストフィールドから入力を取得する必要があります。 – chaselivingston

答えて

1

あなたはまた、あなたの日付文字列

NSLog(@"Date is: %@", [date stringFromDate:estTime]); 
をログアウトしようとすることができ、すなわち

self.pstText.text = @"Does this work?"; 

、ボタンを押したときに任意のテキストをハードコーディングすることができるかどうかを確認DOてみました

空の文字列以外に何かがあることを確認するには

+0

また、labelプロパティtextColor、backgroundColorが適切に設定されていて、ラベルが透明でないことを確認してください。 – 0x8badf00d

+0

ハードコーディングテキストは機能しますが、文字列をログ出力するようには見えません。 – chaselivingston

+2

次に、日付の書式設定が空の文字列を返すと信じています:-) –

関連する問題