我的实现文件中定义了NSString
的静态数组,如下所示:
NSString * const knames[] = { @"", @"", @"", ..., @"" };
我想做的是动态动态。由于这是一个C数组,length
和count
无效,所以我尝试使用sizeof
:
int count = (sizeof knames) / (sizeof knames[0]);
但是,它会产生错误消息:Invalid application of 'sizeof' to an incomplete type 'NSString *const _strong[]'
有任何建议吗?
答案 0 :(得分:0)
小错字; sizeof
需要括号:
/*const?*/ int count = sizeof(knames) / sizeof(knames[0]);
您可以在全球某处创建一个宏:
#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
...
const int count = ARRAY_SIZE(knames);