Xcode:计算字符串数组中的元素

时间:2012-02-23 14:46:39

标签: objective-c xcode

有没有快速的方法可以获得NSString数组中的字符串数量?

NSString *s[2]={@"1", @"2"}

我想从中检索 2 的长度。我有类似的东西(s.size) 我知道有-length方法但是字符串不是字符串数组。 我是Xcode的新手,请保持温和。

4 个答案:

答案 0 :(得分:20)

使用NSArray

NSArray *stringArray = [NSArray arrayWithObjects:@"1", @"2", nil];
NSLog(@"count = %d", [stringArray count]);

答案 1 :(得分:4)

是的,有办法。请注意,仅当数组不是使用malloc动态创建时才有效。


NSString *array[2] = {@"1", @"2"}

//size of the memory needed for the array divided by the size of one element.
NSUInteger numElements = (NSUInteger) (sizeof(array) / sizeof(NSString*));

这种类型的数组对于C来说是典型的,因为Obj-C是C的超集,所以使用它是合法的。你只需要格外小心。

答案 2 :(得分:1)

sizeof(s)/sizeof([NSString string]);

答案 3 :(得分:0)

试图在objective-c中搜索_countf,但它似乎不存在,所以假设sizeof和typeof运算符正常工作并且你传递了有效的c数组,那么以下内容可能会有效。

#define _countof( _obj_ ) ( sizeof(_obj_) / (sizeof( typeof( _obj_[0] ))) )

NSString *s[2]={@"1", @"2"} ;
NSInteger iCount = _countof( s ) ;