特定の条件が満たされない場合に警告として表示されるラベルがあります。しかし、私は次のコードで隠さにラベルを設定しようとすると:コンテキストのラベルを非表示に設定しようとするとIOS 5エラーが発生する
infoWarning.hidden = YES;
、ここでは完全なコードです:
if (weightC < 50 || (waistM1 < 20 && waistM2 < 20 && waistM3 < 20) || (ageC < 18))
{
infoWarning.hidden = NO;
NSString *warning = @"";
if(ageC < 18)
{
warning = @" an age over 17";
}
if (averageWaistM < 20) {
if (warning != @"") {
warning = [NSString stringWithFormat:@"%@, and", warning];
}
warning = [NSString stringWithFormat:@"%@ a waist measurement", warning];
}
if (weightC < 50) {
if (warning != @"") {
warning = [NSString stringWithFormat:@"%@, and", warning];
}
warning = [NSString stringWithFormat:@"%@ a weight", warning];
}
if ([email protected]"") {
[infoWarning setText:[NSString stringWithFormat:@"Please add%@.", warning]] ;
}
} else {
if(gender.selectedSegmentIndex == 0)
{
}
else if(gender.selectedSegmentIndex == 1)
{
}
}
私が働くだろうと思ったが、(明らかに)しません。それは私に行のEXC_BAD_ACCESSエラーを与える:
infoWarning.hidden = YES;
infoWarningは存在し、合成され、Interface BuilderのUILabelに接続されています。問題を特定して問題を解決するのを助けてくれますか?
これは.hファイルである:
#import <UIKit/UIKit.h>
#import <QuartzCore/QuartzCore.h>
@class Preferences;
@class Utilities;
@interface BodyFatCalculatorViewController : UIViewController {
IBOutlet UITextField *age;
IBOutlet UITextField *waist1;
IBOutlet UITextField *waist2;
IBOutlet UITextField *waist3;
IBOutlet UITextField *weight;
IBOutlet UILabel *waist;
IBOutlet UILabel *currentWeight;
IBOutlet UILabel *bodyFat;
IBOutlet UILabel *averageWaist;
IBOutlet UILabel *veryLean;
IBOutlet UILabel *veryLeanBorder;
IBOutlet UIImageView *veryLeanCheckmark;
IBOutlet UILabel *fit;
IBOutlet UILabel *fitBorder;
IBOutlet UIImageView *fitheckmark;
IBOutlet UILabel *average;
IBOutlet UILabel *averageBorder;
IBOutlet UIImageView *averageCheckmark;
IBOutlet UILabel *atRisk;
IBOutlet UILabel *atRiskBorder;
IBOutlet UILabel *atModRisk;
IBOutlet UILabel *atModRiskBorder;
IBOutlet UILabel *atHighRisk;
IBOutlet UILabel *atHighRiskBorder;
IBOutlet UILabel *infoWarning;
IBOutlet UISegmentedControl *gender;
NSMutableArray *arrayAge;
}
@property (nonatomic, retain) IBOutlet UITextField *age;
@property (nonatomic, retain) IBOutlet UITextField *waist1;
@property (nonatomic, retain) IBOutlet UITextField *waist2;
@property (nonatomic, retain) IBOutlet UITextField *waist3;
@property (nonatomic, retain) IBOutlet UITextField *weight;
@property (nonatomic, retain) IBOutlet UILabel *waist;
@property (nonatomic, retain) IBOutlet UILabel *currentWeight;
@property (nonatomic, retain) IBOutlet UILabel *bodyFat;
@property (nonatomic, retain) IBOutlet UILabel *averageWaist;
@property (nonatomic, retain) IBOutlet UILabel *veryLean;
@property (nonatomic, retain) IBOutlet UILabel *veryLeanBorder;
@property (nonatomic, retain) IBOutlet UIImageView *veryLeanCheckmark;
@property (nonatomic, retain) IBOutlet UILabel *fit;
@property (nonatomic, retain) IBOutlet UILabel *fitBorder;
@property (nonatomic, retain) IBOutlet UIImageView *fitCheckmark;
@property (nonatomic, retain) IBOutlet UILabel *average;
@property (nonatomic, retain) IBOutlet UILabel *averageBorder;
@property (nonatomic, retain) IBOutlet UIImageView *averageCheckmark;
@property (nonatomic, retain) IBOutlet UILabel *atRisk;
@property (nonatomic, retain) IBOutlet UILabel *atRiskBorder;
@property (nonatomic, retain) IBOutlet UILabel *atModRisk;
@property (nonatomic, retain) IBOutlet UILabel *atModRiskBorder;
@property (nonatomic, retain) IBOutlet UILabel *atHighRisk;
@property (nonatomic, retain) IBOutlet UILabel *atHighRiskBorder;
@property (nonatomic, retain) IBOutlet UILabel *infoWarning;
@property (nonatomic, retain) IBOutlet UISegmentedControl *gender;
-(IBAction)valueChanged:(id)sender;
-(IBAction)textFieldDoneEditing:(id)sender;
-(void)calculate;
@end
問題が修正されましたが、応答し、そこに見えた人に感謝します。問題は実際には小さすぎる限界を持つ配列でした(私はなぜこれが壊れたのかわからない、それらはまったく関連していなかった...)ので、限界を増やし、今infoWarningはうまくいく。
をまあ、多分あなたは私たちにあなたがYESに隠されたセットのラインが表示されているはずです? –
エラーを出すコードは実際にあなたが質問に入れたコードではありませんか? infoWarningの宣言、プロパティなどを表示することができますか、それを隠そうとしている方法を教えてください。 – jrturton
@ Hot Licks:infoWarning.hidden = YES;エラーが発生した正確な行です。 @jrturton:投稿を編集して追加します。ごめんなさい。 – Zeff520