gpt4 book ai didi

objective-c - 为什么 NSString 不支持 objectAtIndexedSubscript 以及如何解决?

转载 作者:搜寻专家 更新时间:2023-10-30 19:41:29 25 4
gpt4 key购买 nike

我希望能够写出这样的东西:

NSString *foo = ...;
unichar c = foo[i];

但奇怪的是,NSString 不支持通过objectAtIndexedSubscript 进行数组索引。为什么不呢?

要解决这个问题,实现一个类别(例如,NSString+Indexing)来扩展 NSString 是否明智?

最佳答案

使用以下方法在 NSString 上添加类别:

-(id)objectAtIndexedSubscript:(NSUInteger)idx
{
if(idx >= self.length)
{
return nil;
}

return @([self characterAtIndex:idx]);
}

并这样调用它:

unichar c = [foo[i] unsignedShortValue]

请注意,当字符为空字符或索引越界时,c 将为 0。

关于objective-c - 为什么 NSString 不支持 objectAtIndexedSubscript 以及如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17801051/

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