web-dev-qa-db-fra.com

Avertissement: Impossible de charger les informations de classe Objective-C à l'aide du code de PaintCode

J'essaie de dessiner des cartes svg en utilisant le code généré par paintcode. Le code fonctionne bien lorsque je l'exécute à l'aide d'un simulateur. Mais si je le lance dans le périphérique (iPad), il se bloque dans la méthode drawCanvas donnant 

Avertissement: Impossible de charger les informations de classe Objective-C. Cela réduira considérablement la qualité des informations de type disponibles.

Avertissement Capture d'écran

Click here to check the warning Screen Shot

Je dessine la carte dans le story-board où se trouve une vue de défilement et à l'intérieur de cette vue. J'ai ajouté un objet StyleKitClass (StyleKitClass est une classe NSObject générée à l'aide de l'application PaintCode) avec laquelle je me suis connecté via Collections IBOutlet à imageView

Connexions de sortie

Click here to view Outlet Connections

Si quelqu'un le sait, aidez-moi avec la solution.

6
PriyaJain

Je travaille chez PixelCut, nous fabriquons PaintCode.

Après que vous nous ayez envoyé le projet, j'ai pu confirmer ce problème en exécutant sur un iPhone 5s. Malheureusement, vous poussez PaintCode, Xcode et iOS vers leurs limites fonctionnelles en essayant d’utiliser la méthode de dessin avec 53 mille lignes de code. Cette méthode unique prend 9 Mo au format binaire (arm64 uniquement, -Onone) et utilise près de 1000 variables de type pointeur. Mon meilleur deviner que l'application atteint certaines limites de la taille de la mémoire de la pile et se termine par le système.

Nous avons déjà vu plus de 10 000 lignes de kits de style avec StyleKits, mais aucune d’entre elles n’avait une méthode unique cette grande. Je recommanderais de scinder votre dessin en plusieurs toiles et de les composer à l’aide de Symboles, mais j’ai bien peur que travailler avec un dessin aussi grand puisse être terriblement lent.

6
Tricertops

Cela m'est arrivé récemment, a été causé par un nom de fichier mal saisi sur le code de ViewController.Swift.

0
eplazai

Essayez de mettre @objc devant les fonctions utilisées, comme ceci: 

@objc func myFunction() {

Plus d'informations sur l'interopérabilité avec Objective C ici: https://developer.Apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/InteractingWithObjective-CAPIs.html

0
ScottyBlades