在 UILabel et.al 中使用 NSString 子类
Using a NSString subclass in UILabel et.al
我需要将额外的数据编码到NSString
(说来话长,请不要问为什么...)
我使用概述的方法 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
有解决办法吗?
标签复制字符串:
@property (nonatomic, copy) NSString *text
所以你至少需要实现复制到 return 你的子类类型并复制你的其他数据。
(不是子类化是最好的主意)
如果你subclass NSString,你比我更勇敢,而且你完全靠自己。 NSString 是一个 class 簇。你基本上没有机会去 subclass 它并让它工作。它从初始化开始,其中 [super init] 是 NSString init 方法,可能 return 任何类型的对象。
我需要将额外的数据编码到NSString
(说来话长,请不要问为什么...)
我使用概述的方法 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
有解决办法吗?
标签复制字符串:
@property (nonatomic, copy) NSString *text
所以你至少需要实现复制到 return 你的子类类型并复制你的其他数据。
(不是子类化是最好的主意)
如果你subclass NSString,你比我更勇敢,而且你完全靠自己。 NSString 是一个 class 簇。你基本上没有机会去 subclass 它并让它工作。它从初始化开始,其中 [super init] 是 NSString init 方法,可能 return 任何类型的对象。