iphonesdk:如何操作txtField
试图操纵TextFieldDiEndediting中txtField的内容。我们要做的是向左旋转整个内容,然后在末尾附加当前字符。 这允许用户输入不带小数点的货币值 这就是我们目前所拥有的,但我不确定这是最好的方法。这段代码也没有像预期的那样工作 谢谢你的帮助iphonesdk:如何操作txtField,iphone,Iphone,试图操纵TextFieldDiEndediting中txtField的内容。我们要做的是向左旋转整个内容,然后在末尾附加当前字符。 这允许用户输入不带小数点的货币值 这就是我们目前所拥有的,但我不确定这是最好的方法。这段代码也没有像预期的那样工作 谢谢你的帮助 //easier input for total if (textField == txtGrandTotal) { //copy contents of total to string2 NSString *string
//easier input for total
if (textField == txtGrandTotal)
{
//copy contents of total to string2
NSString *string1 = txtGrandTotal.text;
NSMutableString *string2;
//now string2 contains the buffer to manipulate
string2 = [NSMutableString stringWithString: string1];
//so, copy it to strMoney2
strMoney2 = string2;
int charIndex;
//for all character in strMoney2, move them rotated left to strMoney1
for (charIndex = 0; charIndex < [strMoney2 length]; charIndex++)
{
NSString *strChar = [strMoney2 substringWithRange: NSMakeRange(charIndex, 1)];
[strMoney1 insertString:strChar atIndex:charIndex+1];
}
//now append the current character to strMoney1
NSString *strCurrentChar = [string1 substringWithRange: NSMakeRange([string1 length], 1)];
[strMoney1 appendString:strCurrentChar];
//move manipulated string back to txtGrandTotal
txtGrandTotal.text = strMoney1;
}
//更容易输入总计
如果(textField==txtgrandtall)
{
//将total的内容复制到string2
NSString*string1=txtgrandtottal.text;
NSMutableString*string2;
//现在,string2包含要操作的缓冲区
string2=[nsmutablestringwithstring:string1];
//那么,把它复制到strMoney2
strMoney2=string2;
内查林德斯;
//对于strMoney2中的所有字符,将其向左旋转移动到strMoney1
对于(charIndex=0;charIndex<[strMoney2长度];charIndex++)
{
NSString*strChar=[strMoney2 substringWithRange:NSMakeRange(charIndex,1)];
[strMoney1 insertString:strChar atIndex:charIndex+1];
}
//现在将当前字符附加到strMoney1
NSString*strCurrentChar=[string1 substringWithRange:NSMakeRange([string1 length],1)];
[strMoney1 appendString:strCurrentChar];
//将操纵字符串移回txtGrandTotal
txtgrandtottal.text=strMoney1;
}
在无数的方法中,这是非常简短的:
NSString *res = [NSString stringWithFormat:@"%@%@",
[input substringFromIndex:1],
[input substringToIndex:1]
];
或更短:
NSString *res = [[input substringFromIndex:1]
stringByAppendingString:[input substringToIndex:1]];
注意:不要这样做这是一个大循环,不创建自己的
NSAutoreleasePool
来释放所有那些临时NSString
对象。