数组字符串对象到字符串objective-c

时间:2012-03-12 16:22:59

标签: iphone objective-c xcode cocoa-touch

我有这个数组Array *array = [@"string1", @"string2", @"string3", @"string4"];

我想获取每个字符串对象并分配给动态创建的NSString对象。

有可能吗?

1 个答案:

答案 0 :(得分:0)

我不太确定你要求的是什么。

你可以这样:

typedef struct Array_s {
   __strong id *values;
   int count;
} Array;

#define array(values) ({ id _v[] = { values }; int _c = sizeof(_v) * sizeof(*_v); int *_cpy = malloc(sizeof(id) * _c); memcpy(_cpy, _v, sizeof(id) * _c); Array _a; _a.count = _c; _a.values = _cpy; _a; })

#define destroy(array) ({ free(array->values); })

你可以这样使用:

Array a = array(@"This", @"Is", @"A", @"Test");

for (int i = 0; i < a.count; i++)
{
    NSLog(@"%@", a.values[i]);
}

destroy(a);
编辑:看来我的问题读错了。

NSArray *deepCopyArray(NSArray *input)
{
    id copiedValues[input.count];

    for (int i = 0; i < input.count; i++)
    {
        copiedValues[i] = [[input objectAtIndex:i] copy];
    }

    return [NSArray arrayWithObjects:copiedValues count:input.count];
}