Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iphonesdk:如何操作txtField_Iphone - Fatal编程技术网

iphonesdk:如何操作txtField

iphonesdk:如何操作txtField,iphone,Iphone,试图操纵TextFieldDiEndediting中txtField的内容。我们要做的是向左旋转整个内容,然后在末尾附加当前字符。 这允许用户输入不带小数点的货币值 这就是我们目前所拥有的,但我不确定这是最好的方法。这段代码也没有像预期的那样工作 谢谢你的帮助 //easier input for total if (textField == txtGrandTotal) { //copy contents of total to string2 NSString *string

试图操纵TextFieldDiEndediting中txtField的内容。我们要做的是向左旋转整个内容,然后在末尾附加当前字符。 这允许用户输入不带小数点的货币值

这就是我们目前所拥有的,但我不确定这是最好的方法。这段代码也没有像预期的那样工作

谢谢你的帮助

//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
对象。