Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.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
Iphone 数组objectivec中的反向字符串_Iphone_Objective C - Fatal编程技术网

Iphone 数组objectivec中的反向字符串

Iphone 数组objectivec中的反向字符串,iphone,objective-c,Iphone,Objective C,可能重复: 我是objectovec的新手。我有一个字符串数组。如何反转每个字符串 NSArray和NSstring的哪种方法可以帮助我 我想要数组中的反向字符串 谢谢创建一个将返回反向字符串的方法 -(NSString *)reverseString:(NSString *)string{ NSString *reverseString=[NSString new]; for (NSInteger i=string.length-1; i>-1; i--) {

可能重复:

我是objectovec的新手。我有一个字符串数组。如何反转每个字符串

NSArray
NSstring
的哪种方法可以帮助我

我想要数组中的反向字符串


谢谢

创建一个将返回反向字符串的方法

-(NSString *)reverseString:(NSString *)string{
    NSString *reverseString=[NSString new];
    for (NSInteger i=string.length-1; i>-1; i--) {
        reverseString=[reverseString stringByAppendingFormat:@"%c",[string characterAtIndex:i]];
    }
    return reverseString;
}
在您的应用程序中,可以使用以下任一方法:

NSMutableArray *names=[NSMutableArray arrayWithObjects:@"anoop",@"johnson",@"wasim",nil];
for (NSInteger i=0; i<names.count; i++) {
    names[i]=[self reverseString:names[i]];
}
NSLog(@"%@",names);
NSMutableArray*name=[NSMutableArray数组,其对象为:@“anoop”、@“johnson”、@“wasim”、nil];

对于(NSInteger i=0;i创建一个将返回反向字符串的方法

-(NSString *)reverseString:(NSString *)string{
    NSString *reverseString=[NSString new];
    for (NSInteger i=string.length-1; i>-1; i--) {
        reverseString=[reverseString stringByAppendingFormat:@"%c",[string characterAtIndex:i]];
    }
    return reverseString;
}
在您的应用程序中,可以使用以下任一方法:

NSMutableArray *names=[NSMutableArray arrayWithObjects:@"anoop",@"johnson",@"wasim",nil];
for (NSInteger i=0; i<names.count; i++) {
    names[i]=[self reverseString:names[i]];
}
NSLog(@"%@",names);
NSMutableArray*name=[NSMutableArray数组,其对象为:@“anoop”、@“johnson”、@“wasim”、nil];
对于(NSInteger i=0;i使用

使用

希望这有帮助

NSString *str=textEntered.text;//
    NSMutableArray *temp=[[NSMutableArray alloc] init];
    for(int i=0;i<[str length];i++)
    {
        [temp addObject:[NSString stringWithFormat:@"%c",[str characterAtIndex:i]]];
    }
    temp = [NSMutableArray arrayWithArray:[[temp reverseObjectEnumerator] allObjects]];
    NSString *reverseString=@"";
    for(int i=0;i<[temp count];i++)
    {
        reverseString=[NSString stringWithFormat:@"%@%@",reverseString,[temp objectAtIndex:i]];
    }
    NSLog(@"%@",reverseString);
NSString*str=textcentered.text//
NSMutableArray*temp=[[NSMutableArray alloc]init];
对于(inti=0;我希望这有帮助

NSString *str=textEntered.text;//
    NSMutableArray *temp=[[NSMutableArray alloc] init];
    for(int i=0;i<[str length];i++)
    {
        [temp addObject:[NSString stringWithFormat:@"%c",[str characterAtIndex:i]]];
    }
    temp = [NSMutableArray arrayWithArray:[[temp reverseObjectEnumerator] allObjects]];
    NSString *reverseString=@"";
    for(int i=0;i<[temp count];i++)
    {
        reverseString=[NSString stringWithFormat:@"%@%@",reverseString,[temp objectAtIndex:i]];
    }
    NSLog(@"%@",reverseString);
NSString*str=textcentered.text//
NSMutableArray*temp=[[NSMutableArray alloc]init];

对于(inti=0;i使用这个函数来反转字符串,然后以相同的索引存储回数组

-(NSString*)reverseString:(NSString*)string {
    NSMutableString *reversedString;
    int length = [string length];
    reversedString = [NSMutableString stringWithCapacity:length];
    while (length--) {
            [reversedString appendFormat:@"%c", [string characterAtIndex:length]];
    }
    return reversedString;
}
但如果您有可变字符串,则可以创建一个类别

@interface NSMutableString (Reverse)
- (void)reverseString;
@end

@implementation NSMutableString (Reverse)

- (void)reverseString {
    for (int i = 0; i < self.length/2; i++) {
        int l = self.length - 1 - i;

        NSRange iRange = NSMakeRange(i, 1);
        NSRange lRange = NSMakeRange(l, 1);

        NSString *iStr = [self substringWithRange:iRange];
        NSString *lStr = [self substringWithRange:lRange];

        [self replaceCharactersInRange:iRange withString:lStr];
        [self replaceCharactersInRange:lRange withString:iStr];
    }
}

@end

使用这个函数可以反转字符串,然后以相同的索引存储回数组

-(NSString*)reverseString:(NSString*)string {
    NSMutableString *reversedString;
    int length = [string length];
    reversedString = [NSMutableString stringWithCapacity:length];
    while (length--) {
            [reversedString appendFormat:@"%c", [string characterAtIndex:length]];
    }
    return reversedString;
}
但如果您有可变字符串,则可以创建一个类别

@interface NSMutableString (Reverse)
- (void)reverseString;
@end

@implementation NSMutableString (Reverse)

- (void)reverseString {
    for (int i = 0; i < self.length/2; i++) {
        int l = self.length - 1 - i;

        NSRange iRange = NSMakeRange(i, 1);
        NSRange lRange = NSMakeRange(l, 1);

        NSString *iStr = [self substringWithRange:iRange];
        NSString *lStr = [self substringWithRange:lRange];

        [self replaceCharactersInRange:iRange withString:lStr];
        [self replaceCharactersInRange:lRange withString:iStr];
    }
}

@end

嗯…闻起来像家庭作业。你应该看看这个。希望它有帮助!你想要字符串反转或数组?嗯…闻起来像家庭作业。你应该看看这个。希望它有帮助!你想要字符串反转或数组?也许字符串函数不能用四字节字符工作?也许
substringWithRange:
更安全?它不会最好使用
EnumerationSubstringsRange:options:usingBlock:
NSStringEnumerationByComposedCharacterSequences
NSStringEnumerationReverse
选项。否则,当字符串中有表情符号或某些cjk字符时,它将中断。@omz:是的,但我仍在学习blocks。并且用户想要反转数组的内容…因此我使用了另一个名为[i]的for…我可以缩短它的长度吗?顺便说一句,你的方法在内存使用方面也是非常低效的。你正在为每个字符创建一个新字符串。使用
NSMutableString
代替它并附加到它上面。也许string函数不能处理四字节字符?也许
substringWithRange:
更安全?使用它会更好
EnumerationSubstringsRange:options:usingBlock:
NSStringEnumerationByComposedCharacterSequences
NSStringEnumerationReverse
选项一起使用。否则,当字符串中有表情符号或某些cjk字符时,它将中断。@omz:是的,但我仍在学习blocks。正如用户所希望的那样反转数组的内容…因此我使用了另一个名为[i]的…我可以缩短它的长度吗?顺便说一句,你的方法在内存使用方面也非常低效。你正在为每个字符创建一个新字符串。请改用
NSMutableString
并附加到该字符串上。使用
rangeOfString:
获取完整范围是完全不必要且低效的(该方法用于搜索字符串)。只需使用
NSMakeRange(0,string.length)
。使用
rangeOfString:
获取完整范围是完全不必要且低效的(该方法用于搜索字符串)。只需使用
NSMakeRange(0,string.length)