Objective c Count-变量作为对象名称的一部分

Objective c Count-变量作为对象名称的一部分,objective-c,xcode6,Objective C,Xcode6,如何将计数变量(I=1,2,3,4,…)集成到对象名称中 我的代码不起作用 for (int i=1; (i<=4); i++) { self.cmdFertigOutlet(i).layer.cornerRadius = self.cmdAbbrechenOutlet(i).layer.cornerRadius = self.lblYear(i).layer.cornerRadius = self.lblMonth(i).layer.cornerRadius = self.lbl

如何将计数变量(I=1,2,3,4,…)集成到对象名称中

我的代码不起作用

for (int i=1; (i<=4); i++) {
    self.cmdFertigOutlet(i).layer.cornerRadius = self.cmdAbbrechenOutlet(i).layer.cornerRadius = self.lblYear(i).layer.cornerRadius = self.lblMonth(i).layer.cornerRadius = self.lblDay(i).layer.cornerRadius = self.lblHour(i).layer.cornerRadius = self.lblMinute(i).layer.cornerRadius = self.lblSecond(i).layer.cornerRadius = self.txtBeschreibung(i).layer.cornerRadius = 5;
}
等等。。。3,4

.m文件而不是使用this(works),我将使用for语句。我不明白,如何将我的对象名放入数组,然后将其与for语句一起使用

self.cmdFertigOutlet1.layer.cornerRadius =
self.cmdAbbrechenOutlet1.layer.cornerRadius = 
self.lblYear1.layer.cornerRadius = 
self.lblMonth1.layer.cornerRadius = 
self.lblDay1.layer.cornerRadius = 
self.lblHour1.layer.cornerRadius = 
self.lblMinute1.layer.cornerRadius =
self.lblSecond1.layer.cornerRadius = 
self.txtBeschreibung1.layer.cornerRadius = 5;

self.cmdFertigOutlet1.layer.masksToBounds =
self.cmdAbbrechenOutlet1.layer.masksToBounds = 
self.lblYear1.layer.masksToBounds = 
self.lblMonth1.layer.masksToBounds = 
self.lblDay1.layer.masksToBounds = 
self.lblHour1.layer.masksToBounds = 
self.lblMinute1.layer.masksToBounds = 
self.lblSecond1.layer.masksToBounds = 
self.txtBeschreibung1.layer.masksToBounds = YES;

self.cmdFertigOutlet2.layer.cornerRadius =
self.cmdAbbrechenOutlet2.layer.cornerRadius = 
self.lblYear2.layer.cornerRadius = 
self.lblMonth2.layer.cornerRadius = 
self.lblDay2.layer.cornerRadius = 
self.lblHour2.layer.cornerRadius = 
self.lblMinute2.layer.cornerRadius =
self.lblSecond2.layer.cornerRadius = 
self.txtBeschreibung2.layer.cornerRadius = 5;

self.cmdFertigOutlet2.layer.masksToBounds =
self.cmdAbbrechenOutlet2.layer.masksToBounds = 
self.lblYear2.layer.masksToBounds = 
self.lblMonth2.layer.masksToBounds = 
self.lblDay2.layer.masksToBounds = 
self.lblHour2.layer.masksToBounds = 
self.lblMinute2.layer.masksToBounds = 
self.lblSecond2.layer.masksToBounds = 
self.txtBeschreibung2.layer.masksToBounds = YES;
对象名称如下所示:

cmdFertigOutlet1、cmdFertigOutlet2、cmdFertigOutlet3等

cmdAbbrechenOutlet1、cmdAbbrechenOutlet2、cmdAbbrechenOutlet3等 在


不能-变量的名称是编译时属性,在运行时不存在

相反,使用具有四个元素的数组:

for (int i = 0; i < 4; i++) {
    self.cmdFertigOutlet[i].layer.cornerRadius = ...
}
for(int i=0;i<4;i++){
self.cmdFertigOutlet[i]。layer.cornerRadius=。。。
}

您不能-变量的名称是编译时属性,在运行时不存在

相反,使用具有四个元素的数组:

for (int i = 0; i < 4; i++) {
    self.cmdFertigOutlet[i].layer.cornerRadius = ...
}
for(int i=0;i<4;i++){
self.cmdFertigOutlet[i]。layer.cornerRadius=。。。
}

您不能-变量的名称是编译时属性,在运行时不存在

相反,使用具有四个元素的数组:

for (int i = 0; i < 4; i++) {
    self.cmdFertigOutlet[i].layer.cornerRadius = ...
}
for(int i=0;i<4;i++){
self.cmdFertigOutlet[i]。layer.cornerRadius=。。。
}

您不能-变量的名称是编译时属性,在运行时不存在

相反,使用具有四个元素的数组:

for (int i = 0; i < 4; i++) {
    self.cmdFertigOutlet[i].layer.cornerRadius = ...
}
for(int i=0;i<4;i++){
self.cmdFertigOutlet[i]。layer.cornerRadius=。。。
}

我将为您提供一个使用NSTextField对象的简单示例(保持简单)。我想你会明白如何在你的申请中贯彻这一点

根据您的语法,我还假设您正在使用Swift编程。要演示一种技术,请执行以下操作:

在AppDelegate类中,我将IBOutlets声明为4个文本框,并在IB中连接它们:

@IBOutlet var testTextBox0:NSTextField!
@IBOutlet var testTextBox1:NSTextField!
@IBOutlet var testTextBox2:NSTextField!
@IBOutlet var testTextBox3:NSTextField!
我还声明了一个可变数组:

var testTextBoxes:NSMutableArray = NSMutableArray()
然后在ApplicationIDFinishLaunching函数中,我说:

testTextBoxes.addObject(testTextBox0)
testTextBoxes.addObject(testTextBox1)
testTextBoxes.addObject(testTextBox2)
testTextBoxes.addObject(testTextBox3)

var localTextField:NSTextField = testTextBox0

for var i:Int = 0; i < 4; i++
{
    localTextField = testTextBoxes.objectAtIndex(i) as NSTextField
    localTextField.stringValue = "text field \(i)"
}
然后在代码的后面:

NSButton *localButton;

for(int i = 0; i < 10; i++)
{
    localButton = [transformButtons objectAtIndex:i];
    [localButton setEnabled:YES];
    [localButton setHidden:NO];
    [localButton setTitle:buttonNames[i]];
}
希望这有帮助

编辑2:

在.h文件中,如果要从其他类访问这些变量,为什么不:

@public

IBOutlet UIButton *cmdAbbrechenOutlet1;
IBOutlet UIButton *cmdFertigOutlet1;
IBOutlet UITextField *txtBeschreibung1;
IBOutlet UILabel *lblYear1;
IBOutlet UILabel *lblMonth1;
IBOutlet UILabel *lblDay1;
IBOutlet UILabel *lblHour1;
IBOutlet UILabel *lblMinute1;
IBOutlet UILabel *lblSecond1;

IBOutlet UIButton *cmdAbbrechenOutlet2;
IBOutlet UIButton *cmdFertigOutlet2;
IBOutlet UITextField *txtBeschreibung2;
IBOutlet UILabel *lblYear2;
IBOutlet UILabel *lblMonth2;
IBOutlet UILabel *lblDay2;
IBOutlet UILabel *lblHour2;
IBOutlet UILabel *lblMinute2;
IBOutlet UILabel *lblSecond2;

// And so on.....

@private

// Your private instance variables 

在.m文件中,cmdAbbrechenOutlet1可以作为cmdAbbrechenOutlet1进行访问。在另一个可以看到yourClass的类中,可以通过yourClass->cmdAbbrechenOutlet1访问它。

我将给您一个使用NSTextField对象的简单示例(保持简单)。我想你会明白如何在你的申请中贯彻这一点

根据您的语法,我还假设您正在使用Swift编程。要演示一种技术,请执行以下操作:

在AppDelegate类中,我将IBOutlets声明为4个文本框,并在IB中连接它们:

@IBOutlet var testTextBox0:NSTextField!
@IBOutlet var testTextBox1:NSTextField!
@IBOutlet var testTextBox2:NSTextField!
@IBOutlet var testTextBox3:NSTextField!
我还声明了一个可变数组:

var testTextBoxes:NSMutableArray = NSMutableArray()
然后在ApplicationIDFinishLaunching函数中,我说:

testTextBoxes.addObject(testTextBox0)
testTextBoxes.addObject(testTextBox1)
testTextBoxes.addObject(testTextBox2)
testTextBoxes.addObject(testTextBox3)

var localTextField:NSTextField = testTextBox0

for var i:Int = 0; i < 4; i++
{
    localTextField = testTextBoxes.objectAtIndex(i) as NSTextField
    localTextField.stringValue = "text field \(i)"
}
然后在代码的后面:

NSButton *localButton;

for(int i = 0; i < 10; i++)
{
    localButton = [transformButtons objectAtIndex:i];
    [localButton setEnabled:YES];
    [localButton setHidden:NO];
    [localButton setTitle:buttonNames[i]];
}
希望这有帮助

编辑2:

在.h文件中,如果要从其他类访问这些变量,为什么不:

@public

IBOutlet UIButton *cmdAbbrechenOutlet1;
IBOutlet UIButton *cmdFertigOutlet1;
IBOutlet UITextField *txtBeschreibung1;
IBOutlet UILabel *lblYear1;
IBOutlet UILabel *lblMonth1;
IBOutlet UILabel *lblDay1;
IBOutlet UILabel *lblHour1;
IBOutlet UILabel *lblMinute1;
IBOutlet UILabel *lblSecond1;

IBOutlet UIButton *cmdAbbrechenOutlet2;
IBOutlet UIButton *cmdFertigOutlet2;
IBOutlet UITextField *txtBeschreibung2;
IBOutlet UILabel *lblYear2;
IBOutlet UILabel *lblMonth2;
IBOutlet UILabel *lblDay2;
IBOutlet UILabel *lblHour2;
IBOutlet UILabel *lblMinute2;
IBOutlet UILabel *lblSecond2;

// And so on.....

@private

// Your private instance variables 

在.m文件中,cmdAbbrechenOutlet1可以作为cmdAbbrechenOutlet1进行访问。在另一个可以看到yourClass的类中,可以通过yourClass->cmdAbbrechenOutlet1访问它。

我将给您一个使用NSTextField对象的简单示例(保持简单)。我想你会明白如何在你的申请中贯彻这一点

根据您的语法,我还假设您正在使用Swift编程。要演示一种技术,请执行以下操作:

在AppDelegate类中,我将IBOutlets声明为4个文本框,并在IB中连接它们:

@IBOutlet var testTextBox0:NSTextField!
@IBOutlet var testTextBox1:NSTextField!
@IBOutlet var testTextBox2:NSTextField!
@IBOutlet var testTextBox3:NSTextField!
我还声明了一个可变数组:

var testTextBoxes:NSMutableArray = NSMutableArray()
然后在ApplicationIDFinishLaunching函数中,我说:

testTextBoxes.addObject(testTextBox0)
testTextBoxes.addObject(testTextBox1)
testTextBoxes.addObject(testTextBox2)
testTextBoxes.addObject(testTextBox3)

var localTextField:NSTextField = testTextBox0

for var i:Int = 0; i < 4; i++
{
    localTextField = testTextBoxes.objectAtIndex(i) as NSTextField
    localTextField.stringValue = "text field \(i)"
}
然后在代码的后面:

NSButton *localButton;

for(int i = 0; i < 10; i++)
{
    localButton = [transformButtons objectAtIndex:i];
    [localButton setEnabled:YES];
    [localButton setHidden:NO];
    [localButton setTitle:buttonNames[i]];
}
希望这有帮助

编辑2:

在.h文件中,如果要从其他类访问这些变量,为什么不:

@public

IBOutlet UIButton *cmdAbbrechenOutlet1;
IBOutlet UIButton *cmdFertigOutlet1;
IBOutlet UITextField *txtBeschreibung1;
IBOutlet UILabel *lblYear1;
IBOutlet UILabel *lblMonth1;
IBOutlet UILabel *lblDay1;
IBOutlet UILabel *lblHour1;
IBOutlet UILabel *lblMinute1;
IBOutlet UILabel *lblSecond1;

IBOutlet UIButton *cmdAbbrechenOutlet2;
IBOutlet UIButton *cmdFertigOutlet2;
IBOutlet UITextField *txtBeschreibung2;
IBOutlet UILabel *lblYear2;
IBOutlet UILabel *lblMonth2;
IBOutlet UILabel *lblDay2;
IBOutlet UILabel *lblHour2;
IBOutlet UILabel *lblMinute2;
IBOutlet UILabel *lblSecond2;

// And so on.....

@private

// Your private instance variables 

在.m文件中,cmdAbbrechenOutlet1可以作为cmdAbbrechenOutlet1进行访问。在另一个可以看到yourClass的类中,可以通过yourClass->cmdAbbrechenOutlet1访问它。

我将给您一个使用NSTextField对象的简单示例(保持简单)。我想你会明白如何在你的申请中贯彻这一点

根据您的语法,我还假设您正在使用Swift编程。要演示一种技术,请执行以下操作:

在AppDelegate类中,我将IBOutlets声明为4个文本框,并在IB中连接它们:

@IBOutlet var testTextBox0:NSTextField!
@IBOutlet var testTextBox1:NSTextField!
@IBOutlet var testTextBox2:NSTextField!
@IBOutlet var testTextBox3:NSTextField!
我还声明了一个可变数组:

var testTextBoxes:NSMutableArray = NSMutableArray()
然后在ApplicationIDFinishLaunching函数中,我说:

testTextBoxes.addObject(testTextBox0)
testTextBoxes.addObject(testTextBox1)
testTextBoxes.addObject(testTextBox2)
testTextBoxes.addObject(testTextBox3)

var localTextField:NSTextField = testTextBox0

for var i:Int = 0; i < 4; i++
{
    localTextField = testTextBoxes.objectAtIndex(i) as NSTextField
    localTextField.stringValue = "text field \(i)"
}
然后在代码的后面:

NSButton *localButton;

for(int i = 0; i < 10; i++)
{
    localButton = [transformButtons objectAtIndex:i];
    [localButton setEnabled:YES];
    [localButton setHidden:NO];
    [localButton setTitle:buttonNames[i]];
}
希望这有帮助

编辑2:

在.h文件中,如果要从其他类访问这些变量,为什么不:

@public

IBOutlet UIButton *cmdAbbrechenOutlet1;
IBOutlet UIButton *cmdFertigOutlet1;
IBOutlet UITextField *txtBeschreibung1;
IBOutlet UILabel *lblYear1;
IBOutlet UILabel *lblMonth1;
IBOutlet UILabel *lblDay1;
IBOutlet UILabel *lblHour1;
IBOutlet UILabel *lblMinute1;
IBOutlet UILabel *lblSecond1;

IBOutlet UIButton *cmdAbbrechenOutlet2;
IBOutlet UIButton *cmdFertigOutlet2;
IBOutlet UITextField *txtBeschreibung2;
IBOutlet UILabel *lblYear2;
IBOutlet UILabel *lblMonth2;
IBOutlet UILabel *lblDay2;
IBOutlet UILabel *lblHour2;
IBOutlet UILabel *lblMinute2;
IBOutlet UILabel *lblSecond2;

// And so on.....

@private

// Your private instance variables 


在.m文件中,cmdAbbrechenOutlet1可以作为cmdAbbrechenOutlet1进行访问。在另一个可以看到yourClass的类中,可以通过yourClass->cmdAbbrechenOutlet1来访问它。

您好,是的。cmdFertigOutlet1、cmdFertigOutlet2、cmdFertigOutlet3等。cmdAbbrechenOutlet1、cmdAbbrechenOutlet2、cmdAbbrechenOutlet3等等……另请参见,您好,是。cmdFertigOutlet1、cmdFertigOutlet2、cmdFertigOutlet3等。cmdAbbrechenOutlet1、cmdAbbrechenOutlet2、cmdAbbrechenOutlet3等等……另请参见,您好,是。cmdFertigOutlet1、cmdFertigOutlet2、cmdFertigOutlet3等。cmdAbbrechenOutlet1、cmdAbbrechenOutlet2、cmdAbbrechenOutlet3等等……另请参见,您好,是。cmdFertigOutlet1、cmdFertigOutlet2、cmdFertigOutlet3等。cmdAbbrechenOutlet1、cmdAbbrechenOutlet2、cmdAbbrechenOutlet3等等……另请参见,您好。谢谢你的回答。不,我的程序是用objective-c编写的,不是用swift编写的。你能用obj-c写吗?嗨,谢谢,但不能用标签和文本字段。按钮没问题。嗯。。。应该使用标签和文本字段你能发布一些不适合你的代码吗?我很乐意提供帮助。如果你发布了一些不适合你的代码,我会将其粘贴到我的一个应用程序中,并找出问题所在。我已更新了我的问题。。。见上文。嗨。谢谢你的回答。不,我的程序是用objective-c编写的,不是用swift编写的。你能用obj-c写吗?嗨,谢谢,但是多伊