iphone - 如何使用 NSString 标签识别 View ?

标签 iphone nsstring

view.tag仅存储NSInteger值。

那么,如何用 NSString Value 来标识每个 View 呢?

不可用?

一些例子:

view0.stringTag = @"basic";

view1.stringTag = @"advanced";

最佳答案

UIView 上没有 stringTag 属性。如果您需要执行此类操作,您可以在 UIView 上使用类别并将标签存储在关联的对象中:

@interface UIView (StringTagAdditions)
@property (nonatomic, copy) NSString *stringTag;
@end

@implementation UIView (StringTagAdditions)
static NSString *kStringTagKey = @"StringTagKey";
- (NSString *)stringTag
{
    return objc_getAssociatedObject(self, kStringTagKey);
}
- (void)setStringTag:(NSString *)stringTag
{
    objc_setAssociatedObject(self, kStringTagKey, stringTag, OBJC_ASSOCIATION_COPY_NONATOMIC);
}
@end

关于iphone - 如何使用 NSString 标签识别 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7885955/

相关文章:

iOS:iPhone 11 Pro 上的 torch 级别

iphone - 内存泄漏与高内存分配?

iphone - 在 iOS 中切换 View Controller 的最佳方式

ios - 从字符串 ios 获取子字符串?

objective-c - sizeWithFont :constrainedToSize:lineBreakMode: and contentSize (text height in Objective-C) 之间的确定关系

iphone - 可以让superView拦截layoutSubviews : from subviews?

iphone - iOS:静音模式打开时无法播放声音

objective-c - 使用连接的 NSString 执行选择器以查找 UIImageView

objective-c - 如何检查 NSString 的最后一个字符

cocoa - localized.strings - 从代码翻译字符串