Flash Actionscript開發人員可以在運行時引用實例屬性。我在想,如果類似的事情在Objective-C如何在運行時引用實例屬性Objective-C
存在的ActionScript中,我們可以這樣做:
var thisObject;
for (var i=0; i<10; i++) {
thisObject = this["myInstanceProperty"+i];
thisObject.doSomething();
}
我以爲會有Objective-C中一個類似的方法,但我無法找到任何東西隨時隨地提到我正在尋找的東西沿線︰
for (int i=0; i<10; i++) {
NSString *buttonName = [NSString stringWithFormat:@"button_%i", i];
id *thisButton = [self instancePropertyWithStringName:buttonName];
thisButton.label = @"button %i";
}
你能看到我在得到什麼?我有一個xib鏈接到IBOutlets的視圖,我想在for循環中引用這些IBOutlets,所以我可以在運行時動態添加屬性。
任何想法?
此外,如果buttonName不是一個屬性。另外,不需要轉換爲NSButton。另外,要設置值[self setValue:foo forKey:buttonName] – hooleyhoop 2011-03-28 12:11:52
@ fakeAccount22您是對的,我編輯了我的帖子。我在離鍾前一分鐘就從學校發佈了這篇文章,所以我沒有時間查看詳細信息;-) – 2011-03-28 15:29:25
這正是我需要的,謝謝! – aeldron 2011-03-28 15:30:55