2012-04-15 45 views
1

我使用的按钮在栏显示字母,现在这是我的代码使用设置字符串的最大长度/的.text

-(IBAction) clicked: (id)sender{ 
NSString *titleOfButton = [sender titleForState:UIControlStateNormal]; 
NSString *newLabelText = titleOfButton; 
labelsText.text = [NSString stringWithFormat:@"%@%@", labelsText.text, newLabelText]; 

//if ([newLabelText length] >= 5) newLabelText = [newLabelText substringToIndex:5]; 
} 

我的问题是,我希望它能够把5字母最大有没有人可以告诉我如何做到这一点?

感谢

+0

首先,你打电话时,泄漏内存'[的NSString的alloc]初始化...]''没有它release'ing。另外,'... initWithFormat:@“%@”,string]'是什么意思? – 2012-04-15 19:50:14

+0

这是旧代码,我只是想知道如何获得最大长度,所以当我已经按下5时,它不会再显示一个字母。 – 2012-04-15 19:55:48

+0

当使用ARC时,您的alloc/init非常好。然而'initWithFormat:@“%@”,titleOfButton'没用,只需直接使用'titleOfButton'即可。 – 2012-04-15 19:55:56

回答

2

添加此行 -

if ([newLabelText length] >= 5) newLabelText = [newLabelText substringToIndex:5]; 

...或申请你也一样要截断任何字符串。

退房苹果文档的一些真正有用的东西NSString的

+0

奥克感谢球员的帮助,这是我的新代码 - (IBAction)点击:(id)发件人{NSString * titleOfButton = [发件人titleForState:UIControlStateNormal]; NSString * newLabelText = titleOfButton; labelsText.text = [NSString stringWithFormat:@“%@%@”,labelsText.text,newLabelText]; if([labelsText.text length]> = 5)labelsText.text = [labelsText.text substringToIndex:5]; } – 2012-04-15 20:23:56

+0

将您的行更改为:对于其他人可能需要此:)如果([labelsText.text长度]> = 5)labelsText.text = [labelsText.text substringToIndex:5]; – 2012-04-15 20:24:24

+0

labelsText.text = [NSString stringWithFormat:@“%@%@”,labelsText.text,titleOfButton];离开第二个NSString – 2012-04-15 20:31:34