gpt4 book ai didi

iphone - 在 objective-c 中将 NSString 转换为 Integer

转载 作者:太空狗 更新时间:2023-10-30 04:01:34 27 4
gpt4 key购买 nike

我有一个数组,将电话号码的每个数字存储为一个字符串。然后,我将电话号码数字字符串作为参数传递给 objectAtIndex:NSArray 的方法,如下所示:[myArray objectAtIndex: [myString intValue]]; 编译器说我需要转换字符串,但我已经在这样做了。怎么了?

更新:

这是我的实际代码行:

NSMutableArray *tmp = [[NSMutableArray alloc] initWithArray:[charHolder objectAtIndex:[[phoneNumDigits objectAtIndex:i]intValue]]];

这就是错误所在,phoneNumDigits 是电话号码每个数字的数组,charHolder 是保存与每个数字关联的字母数组的数组。

最佳答案

你的问题让我有点困惑。以下是我对您想要做的事情的理解:

你有一个名为 phoneNumDigitsNSArray。这个数组包含一些 NSString 对象。每个字符串类似于 @"1"@"4",代表电话号码的单个数字。

现在您想将每个数字字符串转换为 intNSInteger 并希望将这些整数存储在另一个数组中。

如果我没理解错的话,这是我的回答:

你不能做你想做的事,因为你不能把像 intfloat 这样的简单数据类型放入 NSArray.

这就是为什么有包装类 NSNumber 的原因。您可以将一个简单的 int 打包到一个 NSNumber 中,并将这个 NSNumber 存储在一个 NSArray 中。

因此,要将 phoneNumDigits 中的字符串数字放入 tmp 数组中,您可以使用以下代码:

for (NSString *digitAsString in phoneNumDigits)
{
NSNumber *digitAsNumber = [NSNumber numberWithInt:[digitAsString intValue]];
[tmp addObject:digitAsNumber];
}

要从 tmp-NSArray 中获取 int,您可以使用

int digit = [[tmp objectAtIndex:idx] intValue];

希望这对您有所帮助,但我不确定我是否理解您想在这里做什么。我可能完全忽略了这一点。也许您可以分享更多代码。

关于iphone - 在 objective-c 中将 NSString 转换为 Integer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4807985/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com