Я пытаюсь скопировать содержимое массива vertexDataTextured ArmandDeBrignac [] в массив vertexDataTextured MeshVertexData []. Но это не работает ... Я думаю, что проблема заключается в методе struct, есть элементы GLKvector .....?Копирование структуры Array в другой массив структур (GLKVector)
Это мой заголовок-файла:
struct vertexDataTextured
{
GLKVector3 vertex;
GLKVector3 normal;
GLKVector2 texCoord;
};
typedef struct vertexDataTextured vertexDataTextured;
typedef vertexDataTextured* vertexDataTexturedPtr;
vertexDataTextured MeshVertexData[] = {};
vertexDataTextured ArmandDeBrignac[] = {
{/*v:*/{-0.979979, -2.383373, -1.142941}, /*n:*/{0.000000, -0.725242, -0.688467}, /*t:*/{0.794971, 0.247112}},
{/*v:*/{-0.859054, -2.367034, -0.829303}, /*n:*/{0.023591, -0.999512, 0.019593}, /*t:*/{0.786435, 0.224949}},
{/*v:*/{-1.056731, -2.383373, -1.142941}, /*n:*/{-0.337657, -0.631642, -0.697836}, /*t:*/{0.800393, 0.247114}},
{/*v:*/{-0.979979, -2.117816, -1.142941}, /*n:*/{0.000000, 0.500198, -0.865902}, /*t:*/{0.645127, 0.391262}},
{/*v:*/{-0.979979, -2.383373, -1.142941}, /*n:*/{0.000000, -0.725242, -0.688467}, /*t:*/{0.663889, 0.391205}},
{/*v:*/{-1.056731, -2.383373, -1.142941}, /*n:*/{-0.337657, -0.631642, -0.697836}, /*t:*/{0.663906, 0.396627}},
{/*v:*/{-0.993670, -2.036772, 0.915066}, /*n:*/{-0.771722, 0.588244, 0.241585}, /*t:*/{0.293949, 0.430232}},
};
@interface FlaschenManager : NSObject
-(void) getFlaschenID: (NSString*) Name andTexture: (NSString*) path;
@end
и мой .m File
@implementation FlaschenManager
-(void) getFlaschenID: (NSString*) Name andTexture: (NSString*) path
{
if ([Name isEqualToString:@"ArmandDeBrignac"])
{
NSLog(@"%@",Name);
MeshVertexData[0].vertex.v[0]=ArmandDeBrignac[0].vertex.v[0];
// MeshVertexData[] = ArmandDeBrignac[];
} else if ([Name isEqualToString:@"Hennessy"])
{
NSLog(@"%@ ", Name);
FlaschenName = Name;
}
}
@end
Спасибо за ваш ответ! Теперь он работает, чтобы скопировать элементы! Но есть новая проблема, если я скопирую вышеприведенный код в моем проекте, я получаю сбой ARC Semantic Issue .... с другим массивом? ... Потому что я не выделяю память для своего нового массива struct? –
вам, вероятно, нужно будет узнать размер структуры с помощью 'sizeof()' then malloc нового массива, а затем присвойте значения – Fonix