Мне нужно закодировать дополнительные данные в NSString
(длинный рассказ, пожалуйста, не спрашивайте, почему ...)Использование подкласса NSString в UILabel et.al
Я подклассы NSString
с использованием метода, описанного here:
Когда я назначаю один из этих подклассов как текст UILabel's
, я бы ожидал получить его обратно при запросе текста меток. Но это не так. (Вместо этого я получаю экземпляр кластера NSString)
MyString *string = [[MyString alloc] initWithString:@"Some string"];
UILabel *l = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
l.text = string;
NSString *t = l.text; // not getting the "MyString" object
Есть ли работа для этого?
Я думаю, что подклассификация - это не-нет. Вы изучали категории? В любом случае, я не буду спрашивать, почему вы подклассифицированы (не заинтересованы/не сказали), но я считаю, что вам это не нужно. – trojanfoe
Свойство текста UILabel является NSString и, я думаю, именно по этой причине вы не получаете объект MyString. Возможно, вам понадобится подкласс UILabel, а также установить свойство text как «MyString». https://developer.apple.com/library/ios/documentation/UIKit/Reference/UILabel_Class/#//apple_ref/occ/instp/UILabel/text – enzo
подклассификация 'NSString' звучит как плохая идея. – luk2302