CfString Isnaturallyrtl - сообщение, отправленное на Delected Exam
-
09-10-2019 - |
Вопрос
Я уже гурился за «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
.