CfString Isnaturallyrtl - сообщение, отправленное на Delected Exam

StackOverflow https://stackoverflow.com/questions/4367800

Вопрос

Я уже гурился за «CfString Isnaturalyrtl» с 0 результатами.

Это мои занятия:

//in .H
@interface myViewController : UIViewController {
UITextField *from;
UITextField *to;
NSString *fromText;
NSString *toText;
}

@property (nonatomic, retain) NSString* fromText;
@property (nonatomic, retain) NSString* toText;
@property (nonatomic, retain) UITextField *from;
@property (nonatomic, retain) UITextField *to;

//in .m
@synthesize from, to;
@synthesize fromText, toText;

viewDidLoad(...) {
  fromText = @"Roma";
  toText   = @"Lecce";
}

- (void) drawRoute {
  if ( ([[from text] length] > 2) && ([[to text] length] > 2) ) 
 {
  fromText = from.text;
  toText = to.text;
    [...]
  }
}

Теперь у меня есть мнение, что открытое на кнопке прикосновения Tha содержит два текстовых поля и кнопку. Как это.

- (void) drawRouteTextboxes {
 from = [[UITextField alloc] initWithFrame: [...] ];
 from.text = fromText;
 from.delegate = self;
 [ctr.view addSubview:from];
 [from release];

    to = [[UITextField alloc] initWithFrame: [...] ];

    [...]

    [searchButton addTarget:self action:@selector(drawRoute) forControlEvents: UIControlEventTouchUpInside];
}

Это все правильно, компилировать и беги.

Впервые, когда я нажимаю DrawRoutextextbox, он открывает мой вид с помощью текста по умолчанию («Roma» и «LECCE»). Второй раз, я открываю вид, редактируйте текстовое поле и вызовите DrawRoute. Ничего страшного. В третий раз, когда я звоню DrawRoutextextBox, он возвращает мне эту ошибку выполнения:

*** -[CFString _isNaturallyRTL]: message sent to deallocated instance 0x3a8d140

Я не знаю, где проблема ... Кто-то знает решение? Это первый раз, когда я вижу эту ошибку!

Спасибо, Альберто.

Это было полезно?

Решение

Это все правильно, компилировать и беги.

Если бы все было правильно, он будет работать без ошибок. ;)

Это выглядит подозреваемым:

fromtext = from.text; TOTEXT = TO.TEXT;

Если from.text и to.text Возвращаются либо автоматические объекты или объекты, которые позже выпущены, то вышесказанное не сохраняет строки и может легко привести к проблеме переоценки, поскольку вы видите.

Использовать self.fromText = from.text; вместо.

Обратите внимание, что NSString* свойства должны почти всегда быть copy и нет retain.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top