- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要 #define 方面的帮助来执行以下操作:
for (int i = 0; i < 47; ++i) { SETLABEL(i) }
SETLABEL() 宏应采用“i”的 intValue 并将其粘贴到标签名称中:
当 i == 1--> label1.text = (东西)
当 i == 2--> label2.text = (东西)
这可能吗?以下代码严重失败,因为它粘贴了“i”,而不是“i”的值:
#define SETLABEL(x) [label##x setText: [foo stringValue]];
编辑:感谢您的所有帮助。我的代码现在看起来像这样:
int 的声明是 iB[25]
-(void)stuff {
int x;
int labelGo = 1;
for (int i = 1; i < 25; ++i) {
NSString * labelName = [NSString stringWithFormat:@"magicItemBoughtTot%d", i];
UILabel * currentLabel = [self valueForKey:labelName];
if (iB[i] == itemPH) { // if label is not empty
[currentLabel setText: [NSString stringWithFormat:@"%i",
([currentLabel.text intValue] + 1)]];
labelGo = 0;
}
}
utilityNum = nil;
utilityNum = [NSNumber numberWithInt:labelGo];
}
最佳答案
这个问题的“真正”答案是用 @property
声明您的标签(它们可能已经是),然后执行以下操作:
for (int i = 0; i < 47; ++i) {
NSString * labelName = [NSString stringWithFormat:@"label%d", i];
UILabel * currentLabel = [self valueForKey:labelName];
[currentLabel setText:(stuff)];
}
然而,真正的问题是:为什么 47 个标签都显示相同的内容,而且为什么它们没有更好的名字?
编辑检索基元:
虽然可以使用诸如 valueForKey:
或 object_getInstanceVariable()
之类的东西来检索原始 ivars 的值,但您请求的事实是(在我的书中) )是代码设计不当的标志。即使不查看您的代码,我向您保证有更好的方法来执行此操作。
话虽如此,这里有一个关于如何按名称从实例变量中获取原始值的实弹枪:
#import <objc/runtime.h>
//self has an ivar named "i"
int *iPtr = 0;
object_getInstanceVariable(self, "i", (void**)&iPtr);
NSLog(@"%d", (int)iPtr);
但是,如果您在生产环境中使用此代码进行显式调试之外的任何操作,那么我会说您应该得到任何崩溃。 (并不是说这段代码容易崩溃,而是说它可能代表了其余的代码)
关于 cocoa 宏观——独特的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4443022/
我需要 #define 方面的帮助来执行以下操作: for (int i = 0; i label1.text = (东西) 当 i == 2--> label2.text = (东西)
我正在尝试从 proc macro workshop 中实现构建器模式我正在创建一个 proc 宏,它解析一个结构,提取它的 name、field_names 和 field_types。它应该重现结
给定: fn main() { println!("{0} {0:?}", 10); } 我得到: main.rs:2:27: 2:29 error: argument redeclared
我想使用带有 String 作为第一个参数的 format! 宏,但是因为宏需要一个字符串文字,所以我无法向它传递任何不同的东西. 我想这样做是为了将字符串动态添加到当前字符串中,以便在 View 引
我正在寻找一种方法来链接 Rust 中 try! 宏的使用,并找到了 this pull request that implements the ? operator . 它好像已经被合并了,但我似乎
我正在使用 Rust 稳定版 1.30 和 Relm。我想出了如何设置默认窗口大小,但不知道如何设置图标,至少在 View 中是这样!宏。 这是我的main.rs extern crate gtk;
我希望通过 format! 宏格式化右对齐 float ,并且符号始终可见。使用 syntax specification我设计了以下格式: format!("{:>10+.1}", 23.3434)
我是一名优秀的程序员,十分优秀!