迭代NSString中所有字符的最佳方法是什么?是否要循环字符串的长度并使用该方法.

[aNSString characterAtIndex:index];

或者您想使用基于NSString的字符缓冲区吗?

推荐答案

我肯定会先得到一个字符缓冲区,然后迭代它.

NSString *someString = ...

unsigned int len = [someString length];
char buffer[len];

//This way:
strncpy(buffer, [someString UTF8String]);

//Or this way (preferred):

[someString getCharacters:buffer range:NSMakeRange(0, len)];

for(int i = 0; i < len; ++i) {
   char current = buffer[i];
   //do something with current...
}

Objective-c相关问答推荐

iOS 7 表格视图无法自动调整内容插入

目标 C:什么是(id)发件人?

如何限制 UITextField 中的特殊字符(点和下划线除外)?

iOS9 - 这个应用程序正在从后台线程修改自动布局引擎 - 在哪里?

MKMapView zoom 到 viewDidLoad 上的用户位置?

如何向 UILabel 添加滚动功能

go 掉 UISearchBar 下的 1px 边框

自动属性合成 (@property) 和继承

NSView 的边界与框架

如何从 AVPlayer(不是 AVAudioPlayer)获取持续时间?

使用正则表达式在 Xcode 中查找/替换

在我的 iOS Mail 和 Safari 应用程序中支持 Open In... 菜单项

在 NSNumbers 的 NSArray 中查找最小值和最大值

自定义 UINavigationBar 背景

如何将小时数添加到 NSDate?

自定义 colored颜色 我的 UIActivityIndi​​catorView

遍历 NSString 中所有字符的最有效方法

为什么我们不能在当前队列上使用 dispatch_sync?

在 iOS 7 上运行应用程序时显示黑条(4 英寸视网膜显示屏)

UICollectionView 断言失败