Dans mon application, j'ai un struct
et il contient toutes mes données. Cela fonctionne bien avec la version précédente de Xcode. Mais quand je le construis avec Xcode 9, beta 5 à iOS 11, certaines données à l'intérieur sont perdues. Cela se produit lorsque je transmets l'objet struct
en tant que paramètre par fonction à une autre activité.xCode 9 ios 11: Pointeur de données à l'intérieur de la structure perdant
Mon struct ressemble ci-dessous:
typedef struct {
NSString *title;
MainController *mainController;
//....
//....
//more than 200 objects
} mystruct;
Après la perte de données, lorsque je tente d'accéder Xcode montre [EXC_BAD_ACCESS] et application se bloque. Y a-t-il des limites de taille pour les structures dans Xcode 9?
MISE À JOUR 1: add source la création et la transmission
//declare struct
mystruct m;
memset(&m,0,sizeof(mystruct));
// setting data for struct
....
...
...
// passing param
[anotherObj showData:&m];
Méthode valeur lue d'un autre objet:
- (void)showData:(mystruct *)ms
{
// get data of struct
[self showText : ms->title];
}
REMARQUE: Il ne se produit que sur xCode 9 et iOS 11
- xCode 9 + iOS 11 -> Erreur
- xCode 9 + iOS 10 -> OK
- xCode 8 + iOS 11 -> OK
- xCode 8 + iOS 10 -> OK
- xCode 7 + iOS 11 -> OK
- xCode 7 + iOS 10 -> OK
Veuillez ajouter le code pour créer l'objet structure et le transmettre. De plus le code de la fonction prenant le paramètre. –
J'ai ajouté la création et le passage du code source. – DucVN
N'avez-vous pas reçu d'avertissement pour avoir une structure avec des références? C'est purement Objective-C, pas Objective-C++? Utilisez-vous ARC? –