是否有任何快速方法可以獲取NSString數組中的字符串數量?Xcode:計算字符串數組中的元素
NSString *s[2]={@"1", @"2"}
我想要檢索的從這個長度。我有這樣的東西(s.size) 我知道有長度的方法,但這是一個字符串不是字符串數組。 我是新來的Xcode請溫柔。
是否有任何快速方法可以獲取NSString數組中的字符串數量?Xcode:計算字符串數組中的元素
NSString *s[2]={@"1", @"2"}
我想要檢索的從這個長度。我有這樣的東西(s.size) 我知道有長度的方法,但這是一個字符串不是字符串數組。 我是新來的Xcode請溫柔。
使用NSArray
NSArray *stringArray = [NSArray arrayWithObjects:@"1", @"2", nil];
NSLog(@"count = %d", [stringArray count]);
sizeof(s)/sizeof([NSString string]);
是的,有一種方法。請注意,這僅適用於未使用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的超集,是合法的使用它。你只需要格外小心。
試圖在objective-c中搜索_countf,但它似乎不存在,所以假設sizeof和typeof運算符正常工作並且您傳遞了有效的c數組,那麼以下代碼可能會有效。
#define _countof(_obj_) (sizeof(_obj_)/(sizeof(typeof(_obj_[0]))))
NSString *s[2]={@"1", @"2"} ;
NSInteger iCount = _countof(s) ;
是的,我會在最後使用一個可變數組。但出於好奇。你真的沒有辦法檢索這個長度嗎? – 2012-02-23 14:50:34
實際上,你應該使用'[stringArray count]',因爲它是一個實例方法而不是一個屬性。 – Rengers 2012-02-23 14:51:02
@Rengers這沒有什麼區別。 readonly屬性與實例方法完全相同。 – Sulthan 2012-02-23 14:57:37