Travailler à la fois rapide et objective-c

Au début de 2015, la quasi-totalité des cadres Cocoa et Cocoa Touch sont écrites en Objective-C, et Swift peut les utiliser facilement. (Bien sûr, il CAN- ce fut l'un des objectifs de conception de Swift.) Même si, certains aspects des cadres fonctionnent bien dans Swift, mais peut-être pas avec autant d'élégance que vous pourriez aimer. En particulier, ils comprennent les enjeux avec des pointeurs de passage (utilisés beaucoup dans les cadres Objective-C) en provenance et à Swift.




Une question connexe est l'utilisation de nul (comme dans nul pointeurs). Adresses Swift cette question avec l'utilisation de optionnel types - types tels que Int?, qui sont liés à des types non-facultatifs tels que Int mais qui peut accepter la valeur de nul. (Parfois types optionnels sont appelés nullable types). En Swift, vous pouvez déballer une option de traiter directement avec la valeur sous-jacente qui peut être nul. Vous déballez une valeur facultative de Type Int? en utilisant un point d'exclamation, comme dans myOptional!.

Bien que les développeurs d'Apple à l'intérieur ont travaillé avec Swift depuis plusieurs années, la plupart des programmeurs ont seulement la moitié de l'expérience d'un an avec la nouvelle langue. Dans ce court laps de temps, de nombreux développeurs ont remarqué sur le fait que vous avez encore besoin de connaître un bon peu de Objective-C à utiliser Swift. Combien vous aurez besoin de savoir est difficile à dire, car presque tout le monde qui utilise Swift aujourd'hui est déjà très expérimenté avec Objective-C. Les codeurs expérimentés remarquent les morceaux de l'Objective-C furtivement à travers le code Swift.

Si vous partez de zéro, cependant, il est juste de dire que vous aurez besoin de ce que les linguistes appellent un passif connaissance de Objective-C (ce qui signifie que vous pouvez lire et le comprendre) avant que vous pouvez développer une actif connaissance de Swift (qui signifie que vous pouvez lire, comprendre et écrire).


» » » » Travailler à la fois rapide et objective-c