ããŒãã£ã³ã°ãã©ã³
ããŒãã£ã³ã°ãã©ã³ã§ã¯ãã¯ã©ãã§SwiftUIã®åºç€ãããŒã¿ã®ã¢ãã«åã®åºç€ãæ©æ¢°åŠç¿ã空éã³ã³ãã¥ãŒãã£ã³ã°ãåŠç¿ããéã«åœ¹ç«ã€æšå¥šäºé ãæç€ºããŸãã
ããŒãã£ã³ã°ãã©ã³ã§ã¯ãã¯ã©ãã§SwiftUIã®åºç€ãããŒã¿ã®ã¢ãã«åã®åºç€ãæ©æ¢°åŠç¿ã空éã³ã³ãã¥ãŒãã£ã³ã°ãåŠç¿ããéã«åœ¹ç«ã€æšå¥šäºé ãæç€ºããŸãã
XcodeãSwiftããŸãã¯SwiftUIã䜿ã£ãããšããªããã°ãSwiftUIã®åºç€ããå§ããŸãããã
5ã€ã®ãã¥ãŒããªã¢ã«ãåèªã§å®äºãã
10åã®ããŒãã£ã³ã°ïŒã°ã«ãŒãã¢ã¯ãã£ããã£ãå«ãïŒã宿œãã
SwiftUIã§ã®ã¢ããªæ§ç¯ãéããŠã¢ããªéçºã®åºç€ãåŠã³ãŸãããŸãã¯è©³ãããã¥ãŒããªã¢ã«ã«åŸã£ãŠãããã¿ã€ããšã¢ããªç»é¢ãäœæããé©åã«æ©èœããã¢ããªãæ§ç¯ããŸããæ¬¡ã«ãã¯ã©ãã®ãµããŒããåŸãªãããåŠãã ããšãçãããŠèªåã ãã®äœåãäœãäžããŸãã
泚ïŒã¢ããªã®ãã¬ãã¥ãŒã«ã¯iPhoneã¯å¿ èŠã¯ãããŸãããXcodeã«ã¯ãã¢ããªã®èŠãç®ãšåäœãMacã§çŽã«ç¢ºèªã§ããããŒã«ãå«ãŸããŠããŸãã
ãŸãã¯ãWelcome to Develop in Swift TutorialsïŒSwiftã§ã®éçºãžããããïŒãã®ãã¥ãŒããªã¢ã«ãã確èªãã ããã
ã¡ãã»ãŒãžã¢ããªã®ãããã¿ã€ãã®äœæãéããŠãXcodeãšSwiftUIã®ç¥èãæ·±ããŸããSwiftã®æ§æã®ã»ãããœãŒã¹ãšãã£ã¿ãšãã¬ãã¥ãŒã®äœ¿ãæ¹ãåŠã³ãŸãã
æºåïŒæåã®ããŒãã£ã³ã°ã®åã«ãHello, SwiftUïŒSwiftUIã®æŠèŠïŒãã®ãã¥ãŒããªã¢ã«ã宿œããŸãã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒå šå¡ã§ããŸãã¯å°äººæ°ã®ã°ã«ãŒãã«åãããŠãWrap-up: Explore XcodeïŒãŸãšãïŒXcodeãåŠã¶ïŒãã®èšäºã®ãExtend your appïŒã¢ããªã®æ¡åŒµïŒãã»ã¯ã·ã§ã³ã«ãã2ã€ã®æšå¥šäºé ã宿œããŸãã
æºåïŒãWrap-up: Explore XcodeïŒãŸãšãïŒXcodeãåŠã¶ïŒãã®èšäºã®ãReflect on the conceptsïŒã³ã³ã»ããã®æ¯ãè¿ãïŒãã»ã¯ã·ã§ã³ãèªã¿ãŸãã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒæ°èŠXcodeãããžã§ã¯ããéå§ãããMyselfInSixWordsããšããååãä»ããŸããããã¹ã
ãã¥ãŒã䜿ã£ãŠãèªåã衚ã6ã€ã®åèªã衚瀺ããŸããååèªã«ããã£ã³ã°ã远å ããèæ¯è²ãå€ããŸãã
ãVStack
HStack
ã«çœ®ãæããŠãåèªã暪åãã«è¡šç€ºããŸããæ¬¡ã«ã远å ã®ãã£ã¬ã³ãžãšããŠãHStack
ãšVStack
ãã¥ãŒãçµã¿åãããŠãã¢ããªçšã«ããŸããŸãªã¬ã€ã¢ãŠããäœæããŸãããã¥ãŒã®HStack
ãVStack
ã®äžã«åã蟌ãããšã¯ã§ããŸããïŒãã®éã¯ã©ãã§ããïŒå®è¡ãããšã©ããªããŸããïŒ
ããŒãã£ã³ã°ã®æåŸã«ãåèªæ°åã§èªåã®MyselfInSixWordsãããžã§ã¯ããçºè¡šããŸãã
ã«ã¹ã¿ã ãã¥ãŒãæ§ç¯ããŠæ°æ¥éã®å€©æ°äºå ±ãäœæããæ¹æ³ãåŠã³ãŸãããã¥ãŒã§ã¯ãããããã£ã䜿çšããŠåæ¥ã®è¡šç€ºãã«ã¹ã¿ãã€ãºããŸãã
æºåïŒãCustomize views with propertiesïŒããããã£ã䜿ã£ããã¥ãŒã®ã«ã¹ã¿ãã€ãºïŒãã®ãã¥ãŒããªã¢ã«ã宿œããŸãã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒå šå¡ã§ããŸãã¯å°äººæ°ã®ã°ã«ãŒãã«åãããŠããWrap-up: Views, structures, and propertiesïŒãŸãšãïŒãã¥ãŒãã¹ãã©ã¯ãã£ãããããã£ïŒãã®èšäºã®ãExtend your appïŒã¢ããªã®æ¡åŒµïŒãã»ã¯ã·ã§ã³ã«ããæšå¥šäºé ã®ãã¡1ã2ã€ã宿œããŸãã
æºåïŒãWrap-up: Views, structures, and propertiesïŒãŸãšãïŒãã¥ãŒãã¹ãã©ã¯ãã£ãããããã£ïŒãã®èšäºã®ãReflect on the conceptsïŒã³ã³ã»ããã®æ¯ãè¿ãïŒãã»ã¯ã·ã§ã³ãèªã¿ãŸãã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒèšç®ããããã£ã䜿ã£ãæŒç¿ãè¡ããŸããæé«æ°æž©ã80âãè¶
ããå Žåã«ç°ãªãè²ãè¿ãããã«èšç®ããããã£ã远å ããŸãïŒhigh > 80
ïŒã.foregroundStyle
ã¢ãã£ãã¡ã€ã¢ïŒä¿®é£ŸåïŒã䜿ããšãããããã£ã®å€ã«å¿ããŠããã¹ãã®è²ãå€ããããšãã§ããŸãã
éæã§ããããšãåèªæ°åã§çºè¡šããŸãããããžã§ã¯ãã«è¿œå ã§ããå 容ãšããµããŒããæéãããå°ãå¿ èŠãªéšåãæžãåºããŸãã
iOSã¢ããªçšã®2ã€ã®ãªã³ããŒãã£ã³ã°ç»é¢ã®äœæãéããŠããã¥ãŒãç»é¢äžã®ä»»æã®äœçœ®ã«é 眮ãããããã¥ãŒã®ãµã€ãºã確èªããããã®äŸ¿å©ãªããŒã«ã«ã€ããŠåŠã³ãŸããã¢ã»ããã«ã¿ãã°ã§è²ãå®çŸ©ããããã䜿ã£ãŠã°ã©ããŒã·ã§ã³ã®ããèæ¯ãäœæããŸãã
æºåïŒãDesign an interfaceïŒã€ã³ã¿ãŒãã§ã€ã¹ã®ãã¶ã€ã³ïŒãã®ãã¥ãŒããªã¢ã«ã宿œããŸãã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒãªã³ããŒãã£ã³ã°ãããŒã«3ããŒãžç®ã远å ããŸããæ°ããããŒãžã«ã¯ãé©åãšæãããèŠçŽ ãå«ãããšãã§ããŸããæéãããã°ãã¢ããªã®ãã¶ã€ã³ãè²ãç·šéããŸãã
æºåïŒãWrap-up: Layout and styleïŒãŸãšãïŒã¬ã€ã¢ãŠããšã¹ã¿ã€ã«ïŒãã®èšäºã®ãReflect on the conceptsïŒã³ã³ã»ããã®æ¯ãè¿ãïŒãã»ã¯ã·ã§ã³ãèªã¿ãŸãã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒè€æ°ã®ãã¥ãŒéãã¹ã¯ã€ãããæŒç¿ãè¡ããŸããæ°èŠXcodeãããžã§ã¯ããéå§ãã.tabViewStyle(.page)
ã䜿ã£ãŠçãç©èªãäœæããŠãæ¬ã®ããŒãžãã¹ã¯ã€ãã§åãæ¿ããããããã«ããŸããæåã®ããŒãžãæ¬ã®è¡šçŽãšããŠãã¶ã€ã³ããŸãã倧ããªã¿ã€ãã«ãèè
åã1ã€ä»¥äžã®SF Symbolsãé
眮ããé©åºŠã«è²ãã€ããŸããç©èªã®åããŒãžã«ç« ã®ã¿ã€ãã«ãããã¹ããç»åãã¯ãªãšã€ãã£ãã«è¡šç€ºããæ¹æ³ãèããŸãã
æ¬ã®ãããžã§ã¯ãã§éæã§ããããšãåèªæ°åã§çºè¡šããŸããã©ã®ãããªåãçµã¿ãç¶ç¶ããã®ããä»åŸã®ãã©ã³ã«ã€ããŠè©±ããŸãã
ã¢ããªã«ãã¿ã³ã远å ããŸããSwiftã¯ããŒãžã£ãšãã¿ã³ã®é¢ä¿ã«ã€ããŠåŠã³ãŸããã¹ããŒãããããã£ã䜿ã£ãŠããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãèªåçã«æŽæ°ããŸãã
æºåïŒãUpdate the UI with stateïŒã¹ããŒãã䜿ã£ãUIã®æŽæ°ïŒãã®ãã¥ãŒããªã¢ã«ã宿œããŸãã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒããããã®ç»åãšãã®äžã«ã転ããããã¿ã³ãé
眮ããã®ã§ã¯ãªããDiceView
ãä¿®æ£ããŠããŠãŒã¶ãŒããããããã¿ãããããšã©ã³ãã åãããããã«ããŸãã
æºåïŒãWrap-up: Buttons and stateïŒãŸãšãïŒãã¿ã³ãšã¹ããŒãïŒãã®èšäºã®ãReflect on the conceptsïŒã³ã³ã»ããã®æ¯ãè¿ãïŒãã»ã¯ã·ã§ã³ãèªã¿ãŸã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒã·ã³ãã«ãªãã¿ã³ã®ã¢ããªãäœæããŸããæ°èŠXcodeãããžã§ã¯ããéå§ãã1ã€ãŸãã¯2ã€ã®ãã¿ã³ã®ã¢ããªãäœæããŸãããã·ã³ãã«ãªã¢ããªããã¶ã€ã³ãããããããžã§ã¯ããã¢ã€ãã¢æ¢ãã®åèã«ããŠãã ããã
ãã¿ã³ã¢ããªã®ãã¶ã€ã³ãšãããžã§ã¯ãã«ã€ããŠåèªæ°åã§çºè¡šããŸããæã£ãŠãããããç°¡åã ã£ãç¹ãé£ããã£ãç¹ã«ã€ããŠã¯ã©ãã«å ±æããŸãã
äžé£ã®ã¢ã€ãã ãé åã«æ ŒçŽããŠãªã¹ãã䜿ã£ãŠè¡šç€ºãããåçãªã€ã³ã¿ãŒãã§ã€ã¹ãäœæããŸããããã¹ããã£ãŒã«ãããã€ã³ãã£ã³ã°ã䜿ã£ãŠããŠãŒã¶ãŒãããã¹ããå ¥åã§ããããã«ããŸãã
æºåïŒãCreate dynamic contentïŒåçã³ã³ãã³ãã®äœæïŒãã®ãã¥ãŒããªã¢ã«ã宿œããŸãã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒãWrap-up: Lists and text fieldsïŒãŸãšãïŒãªã¹ããšããã¹ããã£ãŒã«ãïŒãã®èšäºã®ãExtend your appïŒã¢ããªã®æ¡åŒµïŒãã»ã¯ã·ã§ã³ã«ããæšå¥šäºé ã®ãã¡1ã€ãéžæããŸãã
æºåïŒãWrap-up: Lists and text fieldsïŒãŸãšãïŒãªã¹ããšããã¹ããã£ãŒã«ãïŒãã®èšäºã®ãReflect on the conceptsïŒã³ã³ã»ããã®æ¯ãè¿ãïŒãã»ã¯ã·ã§ã³ãèªã¿ãŸãã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒäœæã©ãã«ã®æžåŒèšå®ãããŸããæ°èŠXcodeãããžã§ã¯ããéå§ãããAddressLabelããšããååãä»ããŸãã@State
ããããã£ãããã¹ããã£ãŒã«ãã䜿ã£ãŠãéœåžãåœãªã©ãäœæã®åçš®èŠçŽ ãåéããŸããæ¬¡ã«ãå®å
šãªåœ¢åŒã®äœæãç»é¢ã®äžéšã«è¡šç€ºããŸããåã蟌ã¿ãã©ãŒã ãšäœæã®ãã©ã³ãããµã€ãºãè²ãã«ã¹ã¿ãã€ãºããŸãã
ãã®ã¯ã©ããçµäºããããšã®ãã©ã³ã«ã€ããŠåèªæ°åã§çºè¡šããŸããã¢ããªéçºã®åŠç¿ãã©ã®ããã«ããŠç¶ç¶ããäºå®ã§ããïŒä»åŸã©ã®ãããªã¢ããªãäœæãããã§ããïŒ
7ã€ã®ãã¥ãŒããªã¢ã«ãåèªã§å®äºãã
9åã®ããŒãã£ã³ã°ïŒã°ã«ãŒãã¢ã¯ãã£ããã£ãå«ãïŒã宿œãã
SwiftUIã§ã®ã¢ããªæ§ç¯ãéããŠããŒã¿ã®ã¢ãã«åã®åºç€ãåŠã³ãŸãããŸãã¯è©³ãããã¥ãŒããªã¢ã«ã«åŸã£ãŠãããã¿ã€ããäœæããé©åã«æ©èœããã¢ããªãæ§ç¯ããŸããæ¬¡ã«ãã¯ã©ãã®ãµããŒããåŸãªãããåŠãã ããšãçãããŠèªåã ãã®äœåãäœãäžããŸãã
泚ïŒiPhoneãiPadã§ã¢ããªããã¬ãã¥ãŒããå¿ èŠã¯ãããŸãããXcodeã«ã¯ãã¢ããªã®èŠãç®ãšåäœãMacã§çŽã«ç¢ºèªã§ããããŒã«ãå«ãŸããŠããŸãã
ãŸãã¯ãWelcome to data modelingïŒããŒã¿ã®ã¢ãã«åãžããããïŒããã確èªãã ããã
ç¬èªã®ã«ã¹ã¿ã åãäœæããŠæåã®ããŒã¿ã¢ãã«ãå®çŸ©ãããŠããããã¹ãã§æ£ããåäœããããšãå®èšŒããŸããæ¬¡ã«ããã®ã«ã¹ã¿ã åã䜿ã£ãŠã²ãŒã ã®ã¹ã³ã¢ããã©ããã³ã°ããŸãã
æºåïŒãModel data with custom typesïŒã«ã¹ã¿ã åã䜿ã£ãã¢ãã«ããŒã¿ïŒãã®ãã¥ãŒããªã¢ã«ã宿œããæåã®ããŒãã£ã³ã°ã®åã«ãWrap-up: Model data with custom typesïŒãŸãšãïŒã«ã¹ã¿ã åã䜿ã£ãã¢ãã«ããŒã¿ïŒãã®èšäºã®ãReflect on the conceptsïŒã³ã³ã»ããã®æ¯ãè¿ãïŒãã»ã¯ã·ã§ã³ãèªãã§ãããŸãã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒå šå¡ã§ããŸãã¯å°äººæ°ã®ã°ã«ãŒãã«åãããŠããWrap-up: Model data with custom typesïŒãŸãšãïŒã«ã¹ã¿ã åã䜿ã£ãã¢ãã«ããŒã¿ïŒãã®èšäºã®ãExtend your appïŒã¢ããªã®æ¡åŒµïŒãã»ã¯ã·ã§ã³ã«ãã1ã€ã®æšå¥šäºé ã宿œããŸãã
æºåïŒãAdd functionality with Swift TestingïŒSwift Testingã«ããæ©èœã®è¿œå ïŒãã®ãã¥ãŒããªã¢ã«ã宿œãããWrap-up: Custom types and Swift TestingïŒãŸãšãïŒã«ã¹ã¿ã åãšSwift TestingïŒãã®èšäºã®ãReflect on the conceptsïŒã³ã³ã»ããã®æ¯ãè¿ãïŒãã»ã¯ã·ã§ã³ãèªã¿ãŸãã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒåã¡ç¹ã®åèšã远å ããŸãããã¬ã€ã€ãŒãæå®ã®åèšãã€ã³ãã«éãããšãã«ã²ãŒã ãèªåçã«çµäºãããããã¢ããªãæŽæ°ããŸããåèšãã€ã³ãã®æå®ã¯ãèšå®ãã¥ãŒã§è¡ããŸãããã¬ã€ã€ãŒã®ãã€ã³ããå¢ãããã¹ãã远å ããæå®ã®åèšãã€ã³ãã«éãããšãã«ã²ãŒã ã®ç¶æ ãé·ç§»ããããšãæ€èšŒããŸãã
ããŒãã£ã³ã°ã®æåŸã«ãïŒãã¬ã€ã€ãŒãæå®ã®åèšãã€ã³ãã«éãããšãã«ã²ãŒã ãèªåçã«çµäºããããã«ïŒã©ã®ããã«ãããžã§ã¯ããæ¹åãããåèªæ°åã§çºè¡šããŸãã
å人ã®èªçæ¥ã®ãªã¹ããäœæããSwiftDataã䜿ã£ãŠãã®ããŒã¿ãä¿åããæ¬¡åèµ·åæã«èªã¿åºããããã«ããŸãã
æºåïŒãSave dataïŒããŒã¿ã®ä¿åïŒãã®ãã¥ãŒããªã¢ã«ã宿œããŸãã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒããŒãã£ã³ã°ã§ããWrap-up: Models and persistenceïŒãŸãšãïŒã¢ãã«ãšæ°žç¶æ§ïŒãã®èšäºã®ãExtend your appïŒã¢ããªã®æ¡åŒµïŒãã»ã¯ã·ã§ã³ã«ããæšå¥šäºé ã®äžããåèªã1ã€éžæããŸãã
æºåïŒãWrap-up: Models and persistenceïŒãŸãšãïŒã¢ãã«ãšæ°žç¶æ§ïŒãã®èšäºã®ãReflect on the conceptsïŒã³ã³ã»ããã®æ¯ãè¿ãïŒãã»ã¯ã·ã§ã³ãèªã¿ãŸãã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒPick-a-Palã匷åããŸããPick-a-Palã«å床ã¢ã¯ã»ã¹ããnames: [String]
ãSwiftDataãå©çšããPal
ã¢ãã«ã«çœ®ãæããŸãã
Pick-a-Palã¢ããªã«SwiftDataã远å ããããšã§ã©ã®ãããªå¹æãåŸãããããã°ã«ãŒãã§æ°å話ãåããŸãã
SwiftDataã䜿ã£ãŠå人ãå人ã®ãæ°ã«å ¥ãã®æ ç»ããã©ããã³ã°ããã¢ããªãäœæããã¢ãã«ãªããžã§ã¯ãã管çããŸããã¯ãšãªã䜿ã£ãŠã¢ã€ãã ããªã¹ã圢åŒã§è¡šç€ºãã詳现ãã¥ãŒãäœæããŠããããç·šéããŸããããã«ãåäººãšæ ç»ãšã®ãªã¬ãŒã·ã§ã³ã·ãããäœæããŠè¡šç€ºããæ¹æ³ããé«åºŠãªã¯ãšãªãäœæããæ¹æ³ãåŠã³ãŸãã
æºåïŒãNavigate sample dataïŒãµã³ãã«ããŒã¿ã®ããã²ãŒã·ã§ã³ïŒãã®ãã¥ãŒããªã¢ã«ã宿œãããWrap-up: Navigate sample dataïŒãŸãšãïŒãµã³ãã«ããŒã¿ã®ããã²ãŒã·ã§ã³ïŒãã®èšäºã®ãReflect on the conceptsïŒã³ã³ã»ããã®æ¯ãè¿ãïŒãã»ã¯ã·ã§ã³ãèªã¿ãŸãã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒBirthdaysã«å床ã¢ã¯ã»ã¹ããSampleData
ã¯ã©ã¹ãå®è£
ããŠã.task
ããªããŠããµã³ãã«ããŒã¿ãæ¿å
¥ã§ããããã«ããŸãã
æºåïŒãCreate, update, and delete dataïŒããŒã¿ã®äœæãæŽæ°ãåé€ïŒãã®ãã¥ãŒããªã¢ã«ã宿œãããWrap-up: Create, update and delete dataïŒãŸãšãïŒããŒã¿ã®äœæãæŽæ°ãåé€ïŒãã®èšäºã®ãReflect on the conceptsïŒã³ã³ã»ããã®æ¯ãè¿ãïŒããèªã¿ãŸãã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒiOSã¢ããªãããžã§ã¯ããäœæãããããžã§ã¯ãã®ãªãã·ã§ã³èšå®ãã€ã¢ãã°ã§ãä¿åããSwiftDataãéžæããŸãããµã³ãã«ã³ãŒãã確èªããŸãããããŸã§ã®2ã€ã®ãã¥ãŒããªã¢ã«ã§äœæããã€ã³ã¿ãŒãã§ã€ã¹ãšãã䌌ãŠããããšãããããšæããŸããããã§çè§£ããä»çµã¿ã次ã®ã¢ããªäœæã«çãããŸãããã
æºåïŒãWork with relationshipsïŒãªã¬ãŒã·ã§ã³ã·ããã«å¯Ÿå¿ïŒãã®ãã¥ãŒããªã¢ã«ã宿œãããWrap-up: Navigation, editing, and relationshipsïŒãŸãšãïŒããã²ãŒã·ã§ã³ãç·šéããªã¬ãŒã·ã§ã³ã·ããïŒãã®èšäºã®ãReflect on the conceptsïŒã³ã³ã»ããã®æ¯ãè¿ãïŒãã»ã¯ã·ã§ã³ãèªã¿ãŸãã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒå šå¡ã§ããŸãã¯å°äººæ°ã®ã°ã«ãŒãã«åãããŠããWrap-up: Navigation, editing, and relationshipsïŒãŸãšãïŒããã²ãŒã·ã§ã³ãç·šéããªã¬ãŒã·ã§ã³ã·ããïŒãã®èšäºã®ãExtend your appïŒã¢ããªã®æ¡åŒµïŒãã»ã¯ã·ã§ã³ã«ããæšå¥šäºé ã®ãã¡1ã2ã€ã宿œããŸãã
Observationã䜿ã£ãã¢ã«ãã¡ãããã²ãŒã ãäœæããŸãã倿°ã®ç¬ç«ãããã¥ãŒãå«ãè€éãªããŒã¿ã¢ãã«ãå ±æããŸãã
æºåïŒãComplete a game with logicïŒã²ãŒã ã«ããžãã¯ãå®è£ ïŒãã®ãã¥ãŒããªã¢ã«ã宿œããŸãã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒå šå¡ã§ããŸãã¯å°äººæ°ã®ã°ã«ãŒãã«åãããŠããWrap-up: Observation and shareable data modelsïŒãŸãšãïŒObservationãšå ±æå¯èœãªããŒã¿ã¢ãã«ïŒãã®èšäºã®ãExtend your appïŒã¢ããªã®æ¡åŒµïŒãã»ã¯ã·ã§ã³ã«ããæšå¥šäºé ã®1ã€ãŸãã¯äž¡æ¹ã宿œããŸãã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒããŸããŸãªé£æåºŠãããŸããŸãªé£æåºŠã®ã¢ãŒãã远å ããŠãããææŠãããã®ããã²ãŒã ãç®æããŸããé çªãééããå Žåã¯æžç¹ããååºŠææŠã§ããªãããã«ãããåèªãé衚瀺ã«ããŠã¢ã€ã³ã³ã ãããã³ãã«ã¢ã«ãã¡ãããé ã«äžŠã¹æ¿ããããªã©ã®æ¹æ³ãèããããŸãã
ãã®ã¯ã©ããçµäºããããšã®ãã©ã³ã«ã€ããŠåèªæ°åã§çºè¡šããŸããã¢ããªéçºã®åŠç¿ãã©ã®ããã«ããŠç¶ç¶ããäºå®ã§ããïŒä»åŸã©ã®ãããªã¢ããªãäœæãããã§ããïŒ
4ã€ã®ãã¥ãŒããªã¢ã«ãåèªã§å®äºãã
8åã®ããŒãã£ã³ã°ïŒã°ã«ãŒãã¢ã¯ãã£ããã£ãå«ãïŒã宿œãã
SwiftUIã§ã®ã¢ããªæ§ç¯ãéããŠæ©æ¢°åŠç¿ã®åºç€ãåŠã³ãŸãããŸãã¯è©³ãããã¥ãŒããªã¢ã«ã«åŸã£ãŠé©åã«æ©èœããã¢ããªãæ§ç¯ããŸããæ¬¡ã«ãã¯ã©ãã®ãµããŒããåŸãªãããåŠãã ããšãçãããŠèªåã ãã®äœåãäœãäžããŸãã
泚ïŒã¢ããªã®ãã¬ãã¥ãŒã«ã¯iPhoneã¯å¿ èŠã¯ãããŸãããXcodeã«ã¯ãã¢ããªã®èŠãç®ãšåäœãMacã§çŽã«ç¢ºèªã§ããããŒã«ãå«ãŸããŠããŸãã
ãŸãã¯ãWelcome to machine learningïŒæ©æ¢°åŠç¿ãžããããïŒããã確èªãã ããã
Natural Languageãã¬ãŒã ã¯ãŒã¯ãšææ åæãéããŠãæ©æ¢°åŠç¿ãžã®çè§£ãæ·±ããŸãããã€ãã³ã°ã«é¢ããæèŠãéããåçãåæããŠçµæãèŠèŠçã«è¡šç€ºããã¢ããªãäœæããŸãã
æºåïŒããŒãã£ã³ã°ã®åã«ãAnalyze sentiment in textïŒããã¹ãããææ ãåæïŒãã®ãã¥ãŒããªã¢ã«ã宿œããŸãã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒå°äººæ°ã®ã°ã«ãŒãã«åãããŠScorer
ã®æ©èœãæ¡åŒµããŸããNatural Languageãã¬ãŒã ã¯ãŒã¯ã䜿çšããåçãæžãããèšèªãè¿ããŸããResponse
ãæŽæ°ãããã®æ°ããæ
å ±ãä¿åããŠãResponseView
ã§è¡šç€ºããŸãã
ããŒãã£ã³ã°ã®æåŸã«ããã®æ å ±ãã©ã®ããã«é 眮ããèªã¿ãããããããåã°ã«ãŒãæ°åã§å ±æããŸãã
æºåïŒãWrap-up: Natural languageïŒãŸãšãïŒNatural LanguageïŒãã®èšäºã®ãReflect on the conceptsïŒã³ã³ã»ããã®æ¯ãè¿ãïŒãã»ã¯ã·ã§ã³ãèªã¿ãŸãã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒå°äººæ°ã®ã°ã«ãŒãã«åãããŠãSentimentã®åæåãæŽæ°ããã±ãŒã¹ã3ã€ã§ã¯ãªã5ã€ã«ããŸããã©ãã«ä»ãã®æ¹æ³ãææ ã¹ã³ã¢ã®ç¯å²ã®å岿¹æ³ãUIãžã®è¡šç€ºæ¹æ³ã決ããŸãïŒã¢ã€ã³ã³ã«ã¯SF Symbolsã䜿çšã§ããŸãïŒã
次ã«ãã¢ããªå ã®ãµã³ãã«ã»ããã«åçã远å ããæ£åžžã«ã¹ã³ã¢ãªã³ã°ããããã©ããã確èªããŸããåæåã±ãŒã¹ããšã«æ°ããåçãäœæã§ãããã©ããã確èªããŸãã
ããŒãã£ã³ã°ã®æåŸã«ãå©çšããŠããã¢ããªã®äžã§ææ åæãçµã¿èŸŒãŸããŠãããšèãããããã®ã«ã€ããŠãã°ã«ãŒãã§æ°å話ãåããŸããå©çšäžã®ãã®ä»ã®ã¢ããªã®äžã§ãäœããã®æ¹æ³ã§ææ åæã远å ããã°ããã«è¯ããªããšèãããããã®ã¯ãããŸããïŒ
æ©æ¢°åŠç¿ã®Visionãã¬ãŒã ã¯ãŒã¯ãšTranslationãã¬ãŒã ã¯ãŒã¯ã䜿çšããŠç»åå ã®ããã¹ããèå¥ããå¥ã®èšèªã«ç¿»èš³ããã¢ããªãäœæããŸãã
æºåïŒããŒãã£ã³ã°ã®åã«ãExtract text from imagesïŒç»åããããã¹ããæœåºïŒãã®ãã¥ãŒããªã¢ã«ã宿œããŸãã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒå°äººæ°ã®ã°ã«ãŒãã«åãããŠãæšèã®ç»åã®ã³ããŒãäœæããæšèã®ããã¹ãã®éšåã ããããªãã³ã°ããŸããããªãã³ã°ããç»åãã¢ããªã«è¿œå ãããŠãŒã¶ãŒãä»»æã®èªèã¬ãã«ãéžãã§ãéåºŠãæ£ç¢ºæ§ã®ãããããåªå ã§ããããã«ã¢ããªã倿ŽããŸããé床ãåªå ããå Žåã«ãããªãã³ã°ããç»åãšå ã®ç»åãã©ã®ããã«èªèããããã詊ããŸãã
次ã«ãèªèãããããã¹ãã®ç¢ºå®æ§å€ã«åºã¥ããŠã倿¥ç©åœ¢ã®è²ã倿ŽããŸããå ã®ç»åãšããªãã³ã°ããç»åã®çµæããããããŠæ¯èŒããŸãã
ããŒãã£ã³ã°ã®æåŸã«ãå ¥åç»åã«ã€ããŠããã£ãããšãæ°å話ãåããŸãã
æºåïŒãWrap-up: Recognize text in imagesïŒãŸãšãïŒç»åå ã®ããã¹ããèªèïŒãã®èšäºã®ãReflect on the conceptsïŒã³ã³ã»ããã®æ¯ãè¿ãïŒãã»ã¯ã·ã§ã³ãèªã¿ãŸãã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒå°äººæ°ã®ã°ã«ãŒãã«åãããŠãVisionãã¬ãŒã ã¯ãŒã¯ã«è€æ°ã®ãªãã·ã§ã³ãããå Žåã¯è€æ°ã®åè£ããéžæããæ¹æ³ãæç€ºããŸããæ°ããã³ã³ãããŒã«ã远å ããŠãªãã·ã§ã³ãéžæããããããŒããŒãã䜿çšããŠæ£ãããªãçµæãä¿®æ£ããããšãæ€èšããŸãã
ããŒãã£ã³ã°ã®æåŸã«ãåã°ã«ãŒãæ°åã§è§£æ±ºçãçºè¡šããŸããæ¬¡ã«ãVisionãã¬ãŒã ã¯ãŒã¯ã䜿çšããŠäŸ¿å©ãªã¢ããªãæ§ç¯ããæ¹æ³ãã°ã«ãŒãã§è©±ãåããŸãã
Xcodeã®Create MLããŒã«ã䜿çšããŠãæ©æ¢°åŠç¿ã¢ãã«ããã¬ãŒãã³ã°ããŸããæå®ãããããŒã¿ã䜿çšããŠã¢ãã«ããã¬ãŒãã³ã°ããè·é¢ãæšé«ãªã©ã®ç¹æ§ã«åºã¥ããŠãã¬ã€ã«ã®é£æåºŠãäºæž¬ããŸãã
æºåïŒããŒãã£ã³ã°ã®åã«ãTrain a Core ML modelïŒCore MLã¢ãã«ã®ãã¬ãŒãã³ã°ïŒãã®ãã¥ãŒããªã¢ã«ã宿œããŸãã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒå šå¡ã§ããŸãã¯å°äººæ°ã®ã°ã«ãŒãã«åãããŠãç·åœ¢ååž°ã¢ã«ãŽãªãºã ã®ãã©ã¡ãŒã¿ã調æŽããŸããã¢ãã«ã®çµæãæ¹åã§ããŸããïŒãã¬ãŒãã³ã°ã«è²»ããæéãççž®ããåçã®å質ã®ã¢ãã«ã«ä»äžããããšãã§ããŸããïŒ
ããŒãã£ã³ã°ã®æåŸã«ãã©ã®ãããªå€æŽãè¡ãã粟床ãã¹ããŒããã©ã®çšåºŠæ¹åããããæ°åã§å ±æããŸãã
æºåïŒãWrap-up: Model training with Create MLïŒãŸãšãïŒCreate MLã䜿çšããã¢ãã«ãã¬ãŒãã³ã°ïŒãã®èšäºã®ãReflect on the conceptsïŒã³ã³ã»ããã®æ¯ãè¿ãïŒãã»ã¯ã·ã§ã³ãèªã¿ãŸããããŒã¿ã䜿çšããŠãªã¹ã¯å€ãèšç®ããæ°åŒãç¹å®ããŸããã¢ããªãšåçšåºŠã®ãªã¹ã¯å€ãäºæž¬ã§ããã°ããã®æ°åŒã¯æ£ãããšããããšã«ãªããŸãããã³ãïŒTrailData1k.csvããã¬ãã¥ãŒãããšãåã ã®ãã£ãŒã«ããåé¢ãããããªããŸãã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒå°äººæ°ã®ã°ã«ãŒãã«åãããŠããã¬ã€ã«ããŒã¿ã䜿çšãããªã¹ã¯ä»¥å€ã®å€ïŒæšé«ãè·é¢ãå±éºãªéççç©ã®ååšãªã©ïŒãäºæž¬ããã¢ãã«ããã¬ãŒãã³ã°ããŸãã
次ã«ãCreate MLã¢ãã«ã䜿çšããŠæ§ç¯ã§ããã¢ããªã«ã¯ã»ãã«ã©ã®ãããªçš®é¡ããããã°ã«ãŒãã§è©±ãåããŸãã
æ©æ¢°åŠç¿ã¢ãã«ãã¢ããªã«ã€ã³ããŒããããã€ãã³ã°ã«é¢ãã詳现æ å ±ãååŸããŠãé£æåºŠã衚瀺ãããããã«ããŸãã
æºåïŒããŒãã£ã³ã°ã®åã«ãImport models with Core MLïŒCore MLã䜿çšããã¢ãã«ã®ã€ã³ããŒãïŒããã¥ãŒããªã¢ã«ã宿œããŸãã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒå šå¡ã§ããŸãã¯å°äººæ°ã®ã°ã«ãŒãã«åãããŠãã¢ããªã®ãªã¹ã¯èšå®ã倿ŽããŸãããã®ãã¥ãŒããªã¢ã«ã®ãªã¹ã¯ã«ããŽãªã¯ãã¢ããªã®ãŠãŒã¶ãŒããã€ãã³ã°æå¥œå®¶ã§ããããšãåæãšããŠããŸããã¢ããã¥ã¢ãã€ã«ãŒã®ãªã¹ã¯ã調æŽããæ£ç¢ºãªãªã¹ã¯ã衚瀺ããUIãäœæããŸãããªã¹ã¯ã®æ°å€ãåã«ããã¹ããšããŠè¡šç€ºãã以å€ã®æ¹æ³ãæ€èšããŸããã»ãã®ãã¬ã€ã«ãšæ¯èŒããŠãªã¹ã¯ãç€ºãæ¹æ³ã¯ãããŸããïŒ
ããŒãã£ã³ã°ã®æåŸã«ãå ¥åãšããŠäœ¿çšã§ããã»ããã©ã¡ãŒã¿ã«ã€ããŠæ°å話ãåããŸããçµæã®ç²ŸåºŠãæ¹åããããã¢ããªã䜿çšããã»ãã®ãŠãŒã¶ãŒããµããŒããããããã«ã¯ã©ãããã°ããã§ããããïŒ
æºåïŒãWrap-up: Custom models with Core MLïŒCore MLã䜿çšããã«ã¹ã¿ã ã¢ãã«ïŒãã®èšäºã®ãReflect on the conceptsïŒã³ã³ã»ããã®æ¯ãè¿ãïŒãã»ã¯ã·ã§ã³ãèªã¿ãŸãã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒå°äººæ°ã®ã°ã«ãŒãã«åãããŠããéä¿¡ããã¿ã³ãäºæž¬ããããªã¹ã¯ã®ã©ã€ãæŽæ°ã«çœ®ãæããŸãããã³ãïŒå
¥åç¶æ
ãå€åããéã.onChange
ã䜿çšããŸãã
次ã«å¶äœããããã®ãåèªæ°åã§çºè¡šããŸããã¢ããªéçºã®åŠç¿ãã©ã®ããã«ããŠç¶ç¶ããäºå®ã§ããïŒä»åŸã©ã®ãããªã¢ããªãäœæãããã§ããïŒ
3ã€ã®ãã¥ãŒããªã¢ã«ãåèªã§å®äºãã
6åã®ããŒãã£ã³ã°ïŒã°ã«ãŒãã¢ã¯ãã£ããã£ãå«ãïŒã宿œãã
SwiftUIã§ã®ã¢ããªæ§ç¯ãéããŠç©ºéã³ã³ãã¥ãŒãã£ã³ã°ã®åºç€ãåŠã³ãŸãããŸãã¯è©³ãããã¥ãŒããªã¢ã«ã«åŸã£ãŠãããã¿ã€ããäœæããé©åã«æ©èœããã¢ããªãæ§ç¯ããŸããæ¬¡ã«ãã¯ã©ãã®ãµããŒããåŸãªãããåŠãã ããšãçãããŠèªåã ãã®äœåãäœãäžããŸãã
泚ïŒApple Vision Proããã€ã¹ã¯å¿ èŠãããŸãããXcodeã«ã¯ãã¢ããªã®èŠãç®ãšåäœãMacã§çŽã«ç¢ºèªã§ããããŒã«ãå«ãŸããŠããŸãã
ãŸãã¯ãWelcome to spatial computingïŒç©ºéã³ã³ãã¥ãŒãã£ã³ã°ãžããããïŒããã確èªãã ããã
SwiftUIã䜿ã£ãŠããŠã€ã³ããŠã«å¯Ÿå¿ããvisionOSã¢ããªãäœæããŸãã
æºåïŒæåã®ããŒãã£ã³ã°ã®åã«ãAdd depth to your appïŒã¢ããªã«å¥¥è¡ããäžããïŒãã®ãã¥ãŒããªã¢ã«ã宿œããŸãã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒå šå¡ã§ããŸãã¯å°äººæ°ã®ã°ã«ãŒãã«åãããŠãWrap-up: Windows in visionOSïŒãŸãšãïŒvisionOSã®ãŠã€ã³ããŠïŒãã®èšäºã®ãExtend your appïŒã¢ããªã®æ¡åŒµïŒãã»ã¯ã·ã§ã³ã«ãã2ã€ã®æšå¥šäºé ã宿œããŸãã
æºåïŒãWrap-up: Windows in visionOSïŒãŸãšãïŒvisionOSã®ãŠã€ã³ããŠïŒãã®èšäºã®ãReflect on the conceptsïŒã³ã³ã»ããã®æ¯ãè¿ãïŒãã»ã¯ã·ã§ã³ãèªã¿ãŸãã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒåèªã®ã°ãªãããäœæããŸããæ°èŠXcodeãããžã§ã¯ããéå§ãããCloserWordGridããšããååãä»ããŸããGrid
ãšGridRow
ã䜿ã£ãŠãèªåã衚ãèšèãæ Œåç¶ã«äžŠã¹ãŸããååèªã®åŸæ¹ã«ããã£ã³ã°ã远å ããŸããå¥ã®ãã£ã¬ã³ãžãšããŠãåèªã1ã€ç¡äœçºã«éžãã§åŸæ¹ã«ããã£ã³ã°ãäœåã«è¿œå ããåæ¹ã®äœçœãæãå°ããåèªãæ¯ååœãŠããããã©ãã詊ããŸãã
ããŒãã£ã³ã°ã®æåŸã«ãåèªæ°åã§èªåã®CloserWordGridãããžã§ã¯ããçºè¡šããŸãããã®æ°ãããã©ãããã©ãŒã ãéžãã ãã£ããããæ°ããæ©äŒã次åã®ã¢ããªã§ã©ã®ããã«æŽ»çšã§ããããå ±æããŸãã
SwiftUIã䜿ã£ãŠãvisionOSã§è€æ°ã®ãŠã€ã³ããŠãäœæããŸãããªãŒãã¡ã³ãã䜿ã£ãŠããŠã€ã³ããŠã³ã³ãã³ããè©°ã蟌ãã ãé ãããããã«ãã䜿ãã³ã³ãããŒã«ã«ã¢ã¯ã»ã¹ã§ããããã«ããŸãã
æºåïŒãPresent common controls in an ornamentïŒãªãŒãã¡ã³ãã«ãã䜿ãã³ã³ãããŒã«ã衚瀺ïŒãã®ãã¥ãŒããªã¢ã«ã宿œããŸãã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒå šå¡ã§ããŸãã¯å°äººæ°ã®ã°ã«ãŒãã«åãããŠããWrap-up: Ornaments and multiple windowsïŒãŸãšãïŒãªãŒãã¡ã³ããšè€æ°ã®ãŠã€ã³ããŠïŒãã®èšäºã®ãExtend your appïŒã¢ããªã®æ¡åŒµïŒãã»ã¯ã·ã§ã³ã«ããæšå¥šäºé ã®1ã€ãŸãã¯äž¡æ¹ã宿œããŸãã
æºåïŒãWrap-up: Ornaments and multiple windowsïŒãŸãšãïŒãªãŒãã¡ã³ããšè€æ°ã®ãŠã€ã³ããŠïŒãã®èšäºã®ãReflect on the conceptsïŒã³ã³ã»ããã®æ¯ãè¿ãïŒãã»ã¯ã·ã§ã³ãèªã¿ãŸãã
ã°ã«ãŒãã§ã®ã¢ã¯ãã£ããã£ïŒã©ãã«ã«ãã°ããã¢ã¯ã»ã¹ã§ããæ©èœã远å ããŸããäœæããã©ãã«ã¯ãéããããã»ãã®ã©ãã«ã®å¥¥ã«é ãããããããšãã§ããŸããSwiftUIãªã¹ã
ãäœæããéžæããã©ãã«ãç®ç«ãããããšãã§ããŸãããªã¹ãã«ããã©ãã«ãéžæãããŠãããšãã¯ãopenWindow
ã䜿ã£ãŠã©ãã«ãåé¢ã«åºããå¿
èŠã«å¿ããŠåã³éãããšãã§ããŸãã
宿œããããšãåèªæ°åã§çºè¡šããŸããéæã§ããå 容ãšããµããŒããæéãããå°ãå¿ èŠãªéšåãæžãåºããŸãã
Reality Composer ProãšSwiftUIã䜿ã£ãŠãå ±æã¹ããŒã¹ã§ããŸããŸãªè§åºŠãã3Dã³ã³ãã³ãã衚瀺ããŸãã
æºåïŒãCreate 3D models in the Shared SpaceïŒå ±æã¹ããŒã¹ã«3Dã¢ãã«ãäœæïŒãã®ãã¥ãŒããªã¢ã«ã宿œããŸãã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒå šå¡ã§ããŸãã¯å°äººæ°ã®ã°ã«ãŒãã«åãããŠãWrap-up: Volumes in visionOSïŒãŸãšãïŒvisionOSã®ããªã¥ãŒã ïŒãã®èšäºã®ãExtend your appïŒã¢ããªã®æ¡åŒµïŒãã»ã¯ã·ã§ã³ã«ããæšå¥šäºé ã®1ã€ãŸãã¯äž¡æ¹ã宿œããŸãã
æºåïŒãWrap-up: Volumes in visionOSïŒãŸãšãïŒvisionOSã®ããªã¥ãŒã ïŒãã®èšäºã®ãReflect on the conceptsïŒã³ã³ã»ããã®æ¯ãè¿ãïŒãã»ã¯ã·ã§ã³ãèªã¿ãŸãã
ã°ã«ãŒãã¢ã¯ãã£ããã£ïŒHello Worldã確èªããŸããHello Worldã¢ããªãããŠã³ããŒãããŠãã³ãŒãã確èªããŸããWorldAppãã¡ã€ã«ãéããŠã䜿ãæ
£ãããã®ã§ããããšã確èªããŸãã䜿ãããŠããWindowGroup
ã·ãŒã³ãæ°ããŸããããªã¥ã¡ããªãã¯ãŠã€ã³ããŠã¹ã¿ã€ã«ã䜿ãããŠããå Žæã確èªããŸããã³ãŒãã®ã³ã¡ã³ããèªãã§ãã§ããéãå€ãã®ããšãåŠã³ãŸããèªã¿çµãããããããžã§ã¯ãã«å°ããªå€æŽãå ããŸãã
ãã®ã¯ã©ããçµäºããããšã®ãã©ã³ã«ã€ããŠåèªæ°åã§çºè¡šããŸããã¢ããªéçºã®åŠç¿ãã©ã®ããã«ããŠç¶ç¶ããäºå®ã§ããïŒä»åŸã©ã®ãããªã¢ããªãäœæãããã§ããïŒ