我认为这是不可能的,但我希望有人知道如何使用独特的int或字符串作为uibutton标记
理想情况下,我想要这样的事情:
@shadow: 6px 6px 10px rgba(0,0,0,0.2);
.shadow {
box-shadow: @shadow inset;
}
令人沮丧的swift只允许int作为标签
答案 0 :(得分:0)
如果您想为视图的标记分配一个唯一的整数,就像您所描述的那样,您可以执行以下操作:
myButton.tag = Int(arc4random())
这会给你一个非常随机的标签,不太可能发生碰撞。
这几乎可以肯定是对更广泛背景的不良解决方案。如果添加UUID实际上是正确的,请考虑继承UIButton
并添加唯一标识符属性而不是使用标记。
正如@dimpiax建议的那样,考虑将对按钮的引用存储为属性,很可能是一组按钮,而不是使用标识符,然后返回查找相关按钮。
答案 1 :(得分:0)
你可以用助手类做一个技巧,然后像这样做;
let uuid:Int = NSUUIDI.UUIDInt; // NSUUIDI() Not required here
myBTN.tag = uuid;
//Reverse (String value from tag)
println(NSUUIDI.UUIDStringFromInt(myBTN.tag));
Helper Class here;
//NSUUIDI.swift
class NSUUIDI:NSObject {
private static var _uUIDs:[String] = [String]();
class var UUIDInt:Int {
get {
let uUIDInt:Int = NSUUIDI._uUIDs.count;
NSUUIDI._uUIDs.append(NSUUID().UUIDString);
return uUIDInt;
}
}
class func UUIDStringFromInt(uUID:Int) -> String {
return (uUID < NSUUIDI._uUIDs.count) ? NSUUIDI._uUIDs[uUID]:"\(uUID)";
}
}