충돌 소스를 추적하려고합니다. 좀비를 찾기 위해 앱을 프로파일 링했는데 내 UILabels 중 하나에서 텍스트를 업데이트하는 것과 관련이있는 것으로 보입니다. 텍스트 값을 부적절하게 설정하고 있다고 생각하지 않습니다. 이 모양이 맞습니까? 나는 UILabels의 텍스트를 설정하고있어 어디왜 내 UILabel 할당이 해제됩니까?
이입니다. 지금 아래 암시로 UILabels에 대한 속성을 추가 한
하고하는 .m 파일을 합성 :
- (void) updateTimecodeDisplay
{
VarController *sharedController = [VarController sharedController];
int time0 = sharedController.timeCode0Property;
int time1 = sharedController.timeCode1Property;
int time2 = sharedController.timeCode2Property;
int time3 = sharedController.timeCode3Property;
int time4 = sharedController.timeCode4Property;
int time5 = sharedController.timeCode5Property;
int time6 = sharedController.timeCode6Property;
int time7 = sharedController.timeCode7Property;
int time8 = sharedController.timeCode8Property;
int time9 = sharedController.timeCode9Property;
if (time0 != 16)
{
[timeCodeLabel0 setText:[NSString stringWithFormat:@"%d", time0]];
}
else {
[timeCodeLabel0 setText:[NSString stringWithFormat:@""]];
}
if (time1 != 16)
{
[timeCodeLabel1 setText:[NSString stringWithFormat:@"%d", time1]];
}
else {
[timeCodeLabel1 setText:[NSString stringWithFormat:@""]];
}
if (time2 != 16)
{
[timeCodeLabel2 setText:[NSString stringWithFormat:@"%d", time2]];
}
else {
[timeCodeLabel2 setText:[NSString stringWithFormat:@""]];
}
if (time3 != 16)
{
[timeCodeLabel3 setText:[NSString stringWithFormat:@"%d", time3]];
}
else {
[timeCodeLabel3 setText:[NSString stringWithFormat:@""]];
}
if (time4 != 16)
{
[timeCodeLabel4 setText:[NSString stringWithFormat:@"%d", time4]];
}
else {
[timeCodeLabel4 setText:[NSString stringWithFormat:@""]];
}
if (time5 != 16)
{
[timeCodeLabel5 setText:[NSString stringWithFormat:@"%d", time5]];
}
else {
[timeCodeLabel5 setText:[NSString stringWithFormat:@""]];
}
if (time6 != 16)
{
[timeCodeLabel6 setText:[NSString stringWithFormat:@"%d", time6]];
}
else {
[timeCodeLabel6 setText:[NSString stringWithFormat:@""]];
}
if (time7 != 16)
{
[timeCodeLabel7 setText:[NSString stringWithFormat:@"%d", time7]];
}
else {
[timeCodeLabel7 setText:[NSString stringWithFormat:@""]];
}
if (time8 != 16)
{
[timeCodeLabel8 setText:[NSString stringWithFormat:@"%d", time8]];
}
else {
[timeCodeLabel8 setText:[NSString stringWithFormat:@""]];
}
if (time9 != 16)
{
[timeCodeLabel9 setText:[NSString stringWithFormat:@"%d", time9]];
}
else {
[timeCodeLabel9 setText:[NSString stringWithFormat:@""]];
}
}
UILabels는 다음과 같이 헤더 파일에 선언되고있다. 그래도 여전히 똑같은 문제가 발생합니다. "->"
@property (weak) IBOutlet UILabel *timeCodeLabel0;
@property (weak) IBOutlet UILabel *timeCodeLabel1;
@property (weak) IBOutlet UILabel *timeCodeLabel2;
@property (weak) IBOutlet UILabel *timeCodeLabel3;
@property (weak) IBOutlet UILabel *timeCodeLabel4;
@property (weak) IBOutlet UILabel *timeCodeLabel5;
@property (weak) IBOutlet UILabel *timeCodeLabel6;
@property (weak) IBOutlet UILabel *timeCodeLabel7;
@property (weak) IBOutlet UILabel *timeCodeLabel8;
@property (weak) IBOutlet UILabel *timeCodeLabel9;
를 사용 하는가? 보기가 화면에 표시되지 않을 때 updateTimecodeDisplay가 호출됩니까? – Bek
UILabel을 뷰 컨트롤러의 속성이 아니라 전역으로 선언 했습니까? –
감사합니다. – Luke