- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我希望能够写出这样的东西:
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/
我在 stackoverflow 和其他资源上搜索了很多,找不到答案。 NSArray 方法 objectAtIndexedSubscript 和 objectAtIndex 有什么区别? 或者,如果
文档说它在 MacOS 1.08 中可用。 那么故事是怎样的呢? iOS5 呢? 这是一个非常重要的选择器,因为除非我遗漏了什么,否则 self[5] 实际上会变成 [self objectAtInd
我使用一个教程将我的 Twitter 主页包含在我的代码中,但对我来说不起作用。 这是代码 @implementation VSViewController - (void)viewDidL
我希望能够写出这样的东西: NSString *foo = ...; unichar c = foo[i]; 但奇怪的是,NSString 不支持通过objectAtIndexedSubscript
错误 方法 -[EAzureBlobStorageFile configure:key:container:token:] 中存在未知参数类型“_Bool”。扩展 RCTConvert 以支持此类型。
我已经使用此方法完成了我的应用程序,我正在实现的最后一个调用是一个简单的 JSON 响应,我需要对其进行解析,它会给我: [__NSCFString objectAtIndexedSubscript:
我已经下载了最新的 Aviary 代码 2.6.0 并将其合并到运行 iOS 5.0 的 iPhone 4S 的 Xcode 4.2 中。每次启动 Aviary 操作时,我都会收到下面的 object
我是一名优秀的程序员,十分优秀!