2012-01-21 3 views
0

런타임 중에 응용 프로그램을 손상시키지 않고 TextField의 두 가지 테두리 스타일을 서로 전환하는 방법을 알 수 없습니다. UITextField에서 UITextBorderStyleNone과 RoundRect 사이를 전환 할 때 EXC_BAD_ACCESS가 발생했습니다.

나는 그것을 (아래 그림 참조)를 코딩하는 방법을 알고 다시 StyleNone에 갈 때
- (void)switchToStaticView 
{ 
    [nameTextField setBorderStyle:UITextBorderStyleNone]; 

    // rest of code snipped out 
} 

- (void)switchToEditView 
{ 
    [nameTextField setBorderStyle:UITextBorderStyleRoundedRect]; 

    // rest of code snipped out 
} 

가 나는 'EXC_BAD_ACCESS'오류가 발생합니다. 나는 이것이 IOS5 및/또는 Xcode 4.2의 문제라고 생각합니다. -이 문제를 해결하는 방법을 아는 사람이 있습니까?

+0

눈에 띄는 것은 여기에 없습니다. 'nameTextField'는 어떻게 정의되어 있습니까? ARC를 사용하고 있습니까? 그것은 단지 또는 ivar입니까? –

+0

예 ARC를 사용하고 있는데, iVar가 아닌 속성으로 정의되어 있습니다 ... @property (weak, nonatomic) IBOutlet UITextField * nameTextField; – ElasticThoughts

답변

0

@property (strong, nonatomic) IBOutlet UITextField *nameTextField; 

약한 참조 원형 기준을 정지하는 데 사용되는 기준에 강한 특성 정의를 변경

. 자세히보기 ARC Lifetime Qualifiers

+0

을 강하게 변경해도 문제가 해결되지 않았으므로 UITextBorderStyleNone으로 돌아 가려 할 때 동일한 오류가 발생합니다. 재밌는 점은 roundToRect 대신 UITextBorderStyleBezel을 사용하도록 switchToEditView 메서드를 변경하면 문제없이 완벽하게 작동한다는 것입니다. 이상한! ... – ElasticThoughts

+0

방금 ​​다른 스레드를 발견했습니다,이 사람들은 또한이 스레드에서 문제의 해결 방법은 없지만 같은 문제가 있습니다 ... http://stackoverflow.com/questions/7759729/uitextfield- 런타임시 문제가있는 5 가지 문제 – ElasticThoughts

관련 문제