我们可以获取UILabel的名称吗?

miD*_*ark 5 objective-c uilabel ios

我想知道是否可以获取a的名称UILabel(而不是文本)。

像这样:

if([label.name is equalToString:key]){
     //do something
}
Run Code Online (Sandbox Code Playgroud)

我知道label.name不存在,但也许有等同的东西。我怎样才能做到这一点?

Wye*_*tro 4

你可以子类化 UILabel:

// Objective-C

#import <UIKit/UIKit.h>

@interface NMLabel : UILabel

@property (nonatomic, readwrite) NSString *name;

@end


// Swift
import UIKit

class NMLabel : UILabel {

    var name : String = ""

}
Run Code Online (Sandbox Code Playgroud)

或者在最基本的级别上,您可以使用已经存在的tag属性(在 Objective-C 或 Swift 中):

label.tag = 5

// Objective-C

NSLog(@"%d", label.tag); // prints 5

// Swift

print(label.tag) // prints 5
Run Code Online (Sandbox Code Playgroud)