2014-01-14 4 views
1

나는 UIDatepicker이며 iOS7에서 임의로 충돌합니다. 시뮬레이터에서 UIDatepicker은 완벽하게 작동하지만 실제 장치에서는 항상 충돌합니다. 오류는 EXC_BAD_ADRESS이지만 Xcode는 더 이상 정보를 제공하지 않습니다.ios datepicker가 임의로 충돌 함

도와주세요!

- (void)viewDidLoad 
{ 
    ... 

    datePicker = [[UIDatePicker alloc]init]; 
    [datePicker setDate:[NSDate date]]; 
    self.datePicker.minimumDate = [NSDate date]; 
    datePicker.datePickerMode = UIDatePickerModeDate; 

    ... 
} 

    -(IBAction)SelectSend:(id)sender{ 
     UIDatePicker *dp = (UIDatePicker *) sender; 

     //[table reloadData]; 
     NSDateFormatter *formatter=[[NSDateFormatter alloc]init]; 
     [formatter setLocale:[NSLocale currentLocale]]; 
     [formatter setDateFormat:@"dd/MM/yyyy"]; 
     fecha =[formatter stringFromDate:dp.date]; 
     NSLog(@"FECHA DATAPICKER: %@", dp.date); 

     NSString *idioma; 
     NSString *currentL = [Global sharedMySingleton].test; 
     if([currentL isEqualToString:@"ca-ES"]){ 
      idioma = @"ca"; 
     } 
     else 
     { 
      idioma = currentL; 
     } 
     button.enabled = NO; 
     NSString *PlaningURLString = [NSString stringWithFormat:@"%@%@/PlaningHorario", NSLocalizedString(@"protocolo", @""), NSLocalizedString(@"servidor", @"")]; 

     util = [[Utilidades alloc]init]; 
     conexion = [util testInternetConnection]; 

     if (conexion) { 
      Planing_pasarela *cargaPlaning = [[Planing_pasarela alloc] init]; 
      [cargaPlaning NSURLConnectionFunction:PlaningURLString:fecha:fecha:idioma]; 

      int ret =[cargaPlaning comprobarFlag]; 

      button.enabled = YES; 

      if (ret==1) { 
       [table reloadData]; 
       NSLog(@"DATAPICKER: %@", fecha); 
      }else{ 
      // Usuario y token incorrectos 

       UIAlertView *alert = [[UIAlertView alloc] initWithTitle:AMLocalizedString(@"logoutAlert", @"") message:AMLocalizedString(@"logout", @"") delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; 
       alert.tag = 1; 
       [alert show]; 
      } 
     } 

    } 

미리 주셔서 감사합니다

VistaRuedaViewController.h

@interface VistaRuedaViewController : UIViewController <UITableViewDataSource, UITableViewDelegate,UITabBarControllerDelegate, UITabBarDelegate> 
{ 

    NSString *fecha; 
    Utilidades *util; 
    BOOL conexion; 
    UIDatePicker *datePicker; 
} 

@property (nonatomic, retain) IBOutlet UIButton *button; 
@property (nonatomic, retain) IBOutlet UITableView *table; 
@property (nonatomic, strong) IBOutlet UIDatePicker *datePicker; 

@property (nonatomic, retain) IBOutlet UILabel *labelAviso; 

@property (nonatomic, retain) IBOutlet UITabBar *tabbar; 

-(IBAction)SelectSend:(id)sender; 

@end 

VistaRuedaViewController.m :

내 코드입니다.

+0

을 해제해야

  • 앱이 아닌 ARC 경우 @interface VistaRuedaViewController ...{ } 내부 UIDatePicker *datePicker; 필요하지 않습니다? –

  • +0

    행을 모르는 경우 Xcode는 다음과 같이 표시합니다. EXC_BAD_ACCESS (코드 = 1, 주소 = 0xa00000004) – amurcia

    +0

    예외 중단 점을 추가하십시오. 그러면 충돌이 발생한 정확한 행을 표시하는 데 도움이 될 수 있습니다. – Abhinit

    답변

    0
    1. @property (nonatomic, strong) IBOutlet UIDatePicker *datePicker; 다른 oultest이 retain 경우가 strong 이유. ARC 또는 무엇을 사용하고 있습니까? ARC를 사용하는 경우, 모든 oultets보다 strong이 나오고, 그렇지 않으면 retain이됩니다.

    2. 그리고 당신은 콘센트를 사용하는 경우, 당신은 그것을 할당 할 필요가 없습니다 사방 seld.datePicker 대신 datePickerdatePicker = [[UIDatePicker alloc]init];

    3. 사용.

    4. 당신은 당신은 행`나쁜 access`에서 formatterutil
    +0

    나는 3 단계를했지만 문제는 여전히 발생하고있다 ... – amurcia

    +0

    이제 오류가 다르다 : EXC_BAD_INSTRUCTION (코드 = EXC_ARM_UNDEFINED, subcode = 0xffffffc) – amurcia

    +0

    나는 datePicker를 릴리스했다. {}와 util (문제는 여전히 발생하고 있습니다)의 내부에서,하지만 왜 릴리스 포매터가 필요한가요? – amurcia

    관련 문제