在UILabel et.al中使用NSString子类

Avn*_*arr 2 objective-c nsstring class-cluster ios

我需要将其他数据编码为NSString(长篇故事,请不要问为什么......)

我已经NSString使用此处概述的方法进行了子类化:

当我将这些子类中的一个指定为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
Run Code Online (Sandbox Code Playgroud)

有没有解决这个问题?

Wai*_*ain 6

标签复制字符串:

@property (nonatomic, copy) NSString *text
Run Code Online (Sandbox Code Playgroud)

所以你至少需要实现copy来返回你的子类类型并复制你的其他数据.

(不是那个子类是最好的主意)