objective-c – 将enum或#define标记设置为接口构建器中的对象

objective-c – 将enum或#define标记设置为接口构建器中的对象,第1张

概述当你构建了很多相同的对象时,一个好的设计伙伴会为标识符设置一个标记,所以: UITextField *object1, *object2;//Initialize it[object1 setDelegate:self];[object2 setDelegate:self];[object1 setTag: 1]; [object2 setTag: 2]; 为了更容易和“美丽”理解代码, 当你构建了很多相同的对象时,一个好的设计伙伴会为标识符设置一个标记,所以:

UITextFIEld *object1,*object2;//Initialize it[object1 setDelegate:self];[object2 setDelegate:self];[object1 setTag: 1]; [object2 setTag: 2];

为了更容易和“美丽”理解代码,您可以创建一个枚举.

typedef enum {      MyTextFIEld1 = 1,MyTextFIEld2} allTextFIEld;

所以,你不会只放一个数字,可以用这种方式设置标签:

[object1 setTag: MyTextFIEld1];[object2 setTag: MyTextFIEld2];

在任何委托功能中,您可以更轻松地对待它

- (BOol)textFIEldShouldClear:(UITextFIEld *)textFIEld {   switch(textFIEld.tag) {       case MyTextFIEld1: return YES;       case MyTextFIEld2: return NO;   }}

但是,当您在XCode中构建Interface Builder时,可以在此字段中设置标记:

但如果我设置它,我会收到:

在Interface Builder中无法设置标签而不是数字?

解决方法 在IB中无法使用枚举.因为IB文件是序列化对象.当它们在运行时加载时,它们无法引用枚举的名称. 总结

以上是内存溢出为你收集整理的objective-c – 将enum或#define标记设置为接口构建器中的对象全部内容,希望文章能够帮你解决objective-c – 将enum或#define标记设置为接口构建器中的对象所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1007338.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存