Partage de matériel vidéo principal Shangxuetang iOS
"Tutoriel vidéo élémentaire Shangxuetang iOS" est l'ensemble complet de didacticiels vidéo de Shangxuetang sur le langage Objective-C, de l'introduction de base à la maîtrise avancée. Objective-C est un langage essentiel pour le développement iOS. Le cours fournira une couverture approfondie d'Objective. -Langage C. Explication détaillée, expliquant principalement la syntaxe de base d'Objective-C, les idées de programmation orientée objet, l'encapsulation (déclaration et implémentation de classes, méthodes getter et setter, propriétés), la gestion de la mémoire, l'héritage, le polymorphisme, la classification, le protocole, bloc, NSNumber, caractères String, tableau, dictionnaire, date, gestion de fichiers, copie, etc.
Adresse de lecture vidéo : http://www.php.cn/course/572.html
En cours de développer IOS Difficultés dans :
1. En langage rapide ? et! Question
J'ai consulté de nombreuses pages Web utiles sur Internet, mais elles avaient toutes des opinions différentes et j'étais confuse. Heureusement, une page Web a été assez claire.
Pour ajouter ma compréhension personnelle, le langage rapide semble simple et élégant, mais en fait, il cache de nombreux mystères. Pourquoi l'utiliser ? et! , le but est de rendre le code plus clair et de fournir au compilateur plus d'indices pour trouver plus d'erreurs potentielles. Il s'agit d'un langage publié par Apple, qui correspond au caractère d'Apple. Il vous oblige à clarifier les choses avant d'écrire du code, plutôt que de laisser de vagues problèmes au compilateur pour prendre des décisions.
2. La logique de la vue table
Le système iOS n'étant pas open source, nous devons installer les routines prédéterminées du système pour implémenter la fonction table. Il y a plusieurs points clés. Le premier concerne ses deux agents, dont l'un est chargé de fournir des données. Les deux fonctions d'interface les plus importantes sont celles qui indiquent au système le nombre de lignes. table, et la seconde consiste à indiquer au système combien de lignes il y a dans le tableau. Il indique simplement au système quelles sont les données de chaque ligne. La seconde sera appelée plusieurs fois. Supposons qu'il y ait 10 lignes dans une page, alors cette fonction d'interface sera appelée 10 fois. Mais pas plus d'une page, car le système ne demandera que les données de la page actuellement consultée par l'utilisateur. S'il y a 100 éléments de données dans le tableau, celui-ci est alors mis en œuvre en supprimant les anciennes données et en remplissant les nouvelles données pendant le processus de défilement continu.
Il s'agit d'un proxy pour la vue, et l'autre proxy est pour le contrôleur, ce que fait le programme lorsque l'utilisateur clique sur un élément du tableau. Le plus couramment utilisé ici est la fonction d'interface didSelected. Les développeurs n'ont qu'à écrire ici leur propre code d'implémentation. Faites attention à ne pas écrire dans didDeselected. Les noms de fonctions ici sont faciles à confondre. Deselected est l'interface appelée lorsqu'un élément passe de sélectionné à non sélectionné. Quand j’ai écrit ceci pour la première fois, j’avais toujours l’impression que quelque chose n’allait pas, mais je l’ai découvert plus tard.
Lors de l'utilisation du prototype de type client, comment accéder à l'objet étiquette à l'intérieur ? L'utilisation de balises.
Un exemple de tableau courant. Les cellules du tableau n'ont qu'un maximum de 2 étiquettes, mais je dois mettre 5 étiquettes dans mon projet Alors, comment exploiter ces étiquettes dans le code ? Étant donné que l'interface est extraite dans IB, les étiquettes de la cellule ne peuvent pas être extraites dans le code via ctrl-glisser. Plus tard, j'ai vu un exemple de définition d'une valeur de balise pour chaque étiquette, puis d'utilisation de viewByTag
UILabel *name = [cell viewWithTag:TAG_NAME]; UILabel *singer = [cell viewWithTag:TAG_SINGER]; UILabel *code = [cell viewWithTag:TAG_CODE]; UILabel *lang = [cell viewWithTag:TAG_LANG]; UILabel *type = [cell viewWithTag:TAG_TYPE];
dans le code de cette façon, l'étiquette correspondante peut être obtenue.
Plus tard, j'ai appris par hasard qu'il est toujours accessible directement, mais c'est un peu plus gênant. Il s'agit d'abord de définir la cellule avec une classe, puis de créer manuellement l'instruction label dans l'interface. cette fois, vous pouvez tirer le fil du storyboard vers la vue tableau.
Cette question est abordée sur cette page.
Une mauvaise configuration de la table peut facilement provoquer le crash de l'application, et vous verrez souvent :
Crash à cet endroit : AppDelegate : UIResponder, UIApplicationDelegate
Les informations affichées par debug est :
*** Application terminée en raison d'une exception non interceptée 'NSInvalidArgumentException', raison: '-[UINavigationItem tableView:numberOfRowsInSection:]: sélecteur non reconnu envoyé à l'instance 0x7fd9d1760d70'
La raison en est en fait que j'ai vu dans le storyboard que la source de données de la vue tableau n'était pas associée, j'ai donc moi-même associé les données à la table. Souvent, ce type de crash signifie que la source de données associée est incorrecte, vous pouvez donc d'abord essayer de la déconnecter. D'après ma compréhension, comme la couche inférieure n'est pas visible, je ne peux que deviner qu'elle est associée à celle-ci et libère l'autre. En conséquence, l'objet utile ne peut pas être trouvé, provoquant un crash du système. C'est pourquoi de nombreux joueurs expérimentés n'aiment pas utiliser un tableau de stratégie, car il est difficile à contrôler et certaines choses cachées sont difficiles à trouver. Bien qu'il soit un peu plus difficile d'utiliser du code pour implémenter la structure de l'interface, c'est mieux que de savoir suffisamment que ce sera ainsi qu'il sera écrit. A ce stade, je dois encore m'appuyer sur des outils graphiques. L'un des inconvénients du graphisme est que les storyboards des deux projets ne sont pas comparables. Il y a eu quelques exemples où j'ai suivi le tutoriel étape par étape, mais quelque chose s'est mal passé, mais. le professeur de téléchargement a fait du bon travail. Le projet est normal, et il n'y a aucune différence dans la comparaison des codes. Cependant, les différences dans le storyboard sont si grandes qu'il n'y a aucun indice. l'écrasement direct des fichiers de l'autre partie par les vôtres est plein d'erreurs.
En général, mes compétences ne sont pas assez approfondies. À l’avenir, nous devrons poser en profondeur des bases solides.
3. La logique de la barre de recherche
Dans le passé, les objets tels que la barre de recherche et l'affichage de la recherche étaient séparés. Plus tard, Apple a fourni une solution intégrée et a également intégré les algorithmes de recherche. sont également encapsulés dans des objets, ce qui devrait simplifier le travail des développeurs. Mais pour les développeurs comme moi, c'est tout le contraire. Au contraire, la barre de recherche la plus simple me convient mieux, car je n'ai besoin de lancer une recherche que lorsque le contenu de la barre de recherche change, puis d'actualiser le tableau une fois. Et si vous appelez ces contrôleurs d'affichage fournis, vous devez implémenter davantage de protocoles et vous devez également fournir un contrôleur de vue de table qui affiche l'affichage des résultats, ce qui me donne vraiment le vertige. Les informations officielles d'Apple fournissent également un exemple d'implémentation, mais cet exemple lui-même est très compliqué et implique plusieurs contrôleurs de vue.
La méthode proposée sur cette page me convient mieux.
Il s'agit d'un exemple officiel. Il s'agit d'une approche menée par Apple. Ils ont éliminé l'ancienne approche et recommandent désormais l'utilisation du contrôleur de recherche de l'interface utilisateur. Cependant, la raison de ce changement n'est pas claire. ? Cela ne semble pas très utile.
4. Utiliser IB pour créer l'interface ou l'implémenter dans le code ?
L'utilisation de code pour définir la taille du contrôle peut poser des problèmes lors de l'adaptation aux différents écrans. Nous n'avons pas encore étudié comment effectuer la partie de redimensionnement automatique.
Mais utiliser du code pour créer une interface n'est pas aussi difficile qu'on l'imagine. En fait, il vous suffit de traiter les contrôles de l'interface comme des objets, de définir la familiarité de l'objet, d'ajouter l'objet. à la vue, et définissez Définir le délégué concerné, puis c'est OK.
Le professeur du cours Guo Chongzhi est jeune et prometteur, et correspond davantage aux goûts des jeunes. Ses cours sont relativement détendus et naturels, nous permettant de nous sentir détendus et plus capables d'écouter.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds





Quark Netdisk et Baidu Netdisk sont tous deux des outils de stockage très pratiques. De nombreux utilisateurs se demandent si ces deux logiciels sont interopérables ? Comment partager Quark Netdisk avec Baidu Netdisk ? Laissez ce site présenter en détail aux utilisateurs comment enregistrer les fichiers Quark Network Disk sur Baidu Network Disk. Comment enregistrer des fichiers de Quark Network Disk vers Baidu Network Disk Méthode 1. Si vous souhaitez savoir comment transférer des fichiers de Quark Network Disk vers Baidu Network Disk, téléchargez d'abord les fichiers qui doivent être enregistrés sur Quark Network Disk, puis ouvrez le client Baidu Network Disk, sélectionnez le dossier dans lequel le fichier compressé doit être enregistré et double-cliquez pour ouvrir le dossier. 2. Après avoir ouvert le dossier, cliquez sur « Télécharger » dans le coin supérieur gauche de la fenêtre. 3. Recherchez le fichier compressé qui doit être téléchargé sur votre ordinateur et cliquez pour le sélectionner.

1. Tout d'abord, nous entrons dans NetEase Cloud Music, puis cliquons sur l'interface de la page d'accueil du logiciel pour accéder à l'interface de lecture de chansons. 2. Ensuite, dans l'interface de lecture de la chanson, recherchez le bouton de fonction de partage en haut à droite, comme indiqué dans l'encadré rouge de la figure ci-dessous, cliquez pour sélectionner le canal de partage dans le canal de partage, cliquez sur l'option « Partager sur » sur en bas, puis sélectionnez le premier « WeChat Moments » qui vous permet de partager du contenu avec WeChat Moments.

Récemment, le client Android Baidu Netdisk a inauguré une nouvelle version 8.0.0. Cette version apporte non seulement de nombreux changements, mais ajoute également de nombreuses fonctions pratiques. Parmi eux, le plus frappant est l’amélioration de la fonction de partage de dossiers. Désormais, les utilisateurs peuvent facilement inviter des amis à rejoindre et partager des fichiers importants au travail et dans la vie, obtenant ainsi une collaboration et un partage plus pratiques. Alors, comment partager les fichiers que vous devez partager avec vos amis ? Ci-dessous, l'éditeur de ce site vous fera une introduction détaillée, j'espère qu'il pourra vous aider ! 1) Ouvrez l'application Baidu Cloud, cliquez d'abord pour sélectionner le dossier approprié sur la page d'accueil, puis cliquez sur l'icône [...] dans le coin supérieur droit de l'interface (comme indiqué ci-dessous) 2) Cliquez ensuite sur [+] dans la colonne "Membres partagés" 】, et enfin cochez tous

Avez-vous la dernière clé d'activation pour Win7 Enterprise Edition ? Si vous installez la version officielle de Win7 Enterprise, vous serez invité à l'activer avec la clé de produit Windows7 Enterprise, sinon elle ne fonctionnera pas correctement. L'éditeur partagera donc avec vous quelques mots de passe d'activation de la version win7 entreprise, jetons un coup d'œil. 6 JQ

Mango TV propose différents types de films, séries télévisées, émissions de variétés et autres ressources, et les utilisateurs peuvent choisir librement de les regarder. Les membres de Mango TV peuvent non seulement regarder toutes les séries VIP, mais également définir la qualité d'image la plus haute définition pour aider les utilisateurs à regarder les séries avec plaisir. Ci-dessous, l'éditeur vous proposera des comptes d'adhésion gratuits à Mango TV que les utilisateurs pourront utiliser, dépêchez-vous et jetez un œil. Regarde. Mango TV dernier compte membre partage gratuit 2023 : Remarque : Ce sont les derniers comptes membres collectés, vous pouvez vous connecter et les utiliser directement, ne changez pas le mot de passe à volonté. Numéro de compte : 13842025699 Mot de passe : qds373 Numéro de compte : 15804882888 Mot de passe : evr6982 Numéro de compte : 13330925667 Mot de passe : jgqae Numéro de compte : 1703

Titre : Pour résoudre le problème de l'impossibilité d'afficher les partages Discuz WeChat, des exemples de code spécifiques sont nécessaires. Avec le développement de l'Internet mobile, WeChat est devenu un élément indispensable de la vie quotidienne des gens. Dans le développement de sites Web, afin d'améliorer l'expérience utilisateur et d'étendre la visibilité du site Web, de nombreux sites Web intégreront des fonctions de partage WeChat, permettant aux utilisateurs de partager facilement le contenu du site Web avec des groupes Moments ou WeChat. Cependant, parfois, lorsque vous utilisez des systèmes de forum open source tels que Discuz, vous rencontrerez le problème de l'impossibilité d'afficher les partages WeChat, ce qui entraîne certaines difficultés pour l'expérience utilisateur.

Comment partager un hotspot wifi dans le système win7 ? Une fois notre ordinateur connecté au réseau, il peut également partager des réseaux sans fil. De nombreux utilisateurs souhaitent partager le réseau de leur ordinateur avec leurs téléphones mobiles pour pouvoir les utiliser. De nombreux amis ne savent pas comment fonctionner en détail. L'éditeur ci-dessous a compilé les étapes à suivre pour partager des points d'accès Wi-Fi dans le système Win7. Si vous êtes intéressé, suivez l'éditeur et continuez à lire ! Étapes pour partager un point d'accès Wi-Fi dans le système Win7 1. Pour activer le point d'accès Wi-Fi, vous devez d'abord disposer d'une carte réseau sans fil. L'ordinateur portable est fourni avec celui-ci. Si vous avez un PC, vous pouvez acheter un réseau Wi-Fi portable pour partager le Wi-Fi. ne sera pas décrit ici. Appuyez d'abord sur la touche Windows du clavier pour ouvrir le menu Démarrer

Les imprimantes HP sont des équipements d'impression essentiels dans de nombreux bureaux. L'installation du pilote d'imprimante sur l'ordinateur peut parfaitement résoudre des problèmes tels que l'impossibilité de se connecter de l'imprimante. Alors, comment installer le pilote d'imprimante HP ? L'éditeur ci-dessous vous présentera deux méthodes d'installation du pilote d'imprimante HP. La première méthode : télécharger le pilote depuis le site officiel 1. Recherchez le site officiel de HP Chine dans le moteur de recherche et dans la colonne d'assistance, sélectionnez [Logiciel et pilotes]. 2. Sélectionnez la catégorie [Imprimante], entrez votre modèle d'imprimante dans la zone de recherche et cliquez sur [Soumettre] pour trouver votre pilote d'imprimante. 3. Sélectionnez l'imprimante correspondante en fonction de votre système informatique. Pour win10, sélectionnez le pilote pour le système win10. 4. Une fois le téléchargement réussi, recherchez-le dans le dossier
