This used to be an epic documentation site, but Alex Fine (CEO of Fun Group, criminal) didnât pay his employees.
2022/10/16 æ´æ° v0.42.0ããæ¡ç¨ãããReducerProtocolã§æ¸ãæ¹ã大ããå¤ããã¾ããã®ã§ãè¨è¼å 容ãã³ã¼ããè¦ç´ãã¾ãã iOSDCã§ã®yimajoããã®çºè¡¨ãªã©ãthe Composable Architectureï¼ä»¥ä¸ãTCAï¼ãè¯ãããã¨ããè©å¤ãèãã¦èª¿ã¹ã¦ã¿ã¾ãããã©ãããå§ãã¦ããã®ãå°ãè¿·ã£ãã®ã§ãå ¬å¼ã¬ãã¸ããªã®READMEã«ããBasic Usageããã¼ã¹ã«TCAã®å§ãæ¹ã解説ãã¦ã¿ã¾ãã TCAã©ãããSwiftUIããåå¼·ãå§ããªã®ã§ãééããªã©ããããããã¾ãããã³ã¡ã³ãã§æãã¦é ããã¨å¬ããã§ãï¼ TCAã£ã¦ä½ï¼ TCAã¯iOSãªã©ã®Appleãã©ãããã©ã¼ã ã®ã¢ããªã±ã¼ã·ã§ã³éçºã®ããã®ãã¬ã¼ã ã¯ã¼ã¯ã§ãã Combineãåæã¨ãã¦ãããããiOSã ã¨iOS13以ä¸ã対象ã¨ãªãå¶ç´ãããã¾ããï¼ã¡ãªã¿ã«iOS13æªæºåãã«Rx
The 11th dayâs post of Mercari Advent Calendar 2019 is brought to you by @damianpasko from the iOS team. State is a very important word for both SwiftUI and Redux. In this case, itâs not only a buzzword, but itâs also a thing that connects them and letting them work together very well. In this article, I will try to show that the above thesis is truthful so letâs get started! The Beginning Redux c
UITableView ã®è¦ãç®ã§æ§ã ãªè¦ç´ ã表示ãã¤ã¤ããã®ä¸é¨ã¨ã㦠UITextView ã使ããããã¨ããéè¦ãããã¨æããæã身è¿ãªä¾ã¯æ¨æºã®ã¡ã¼ã«ã¢ããªã§ããã ãã㯠UIKit ã® API ãé§ä½¿ãããã¨ã§å®ç¾å¯è½ã§ãããæ¬è¨äºã§ã¯ãããå®ç¾ããæ¹æ³ãéãã¦ããã¾ãç¥ããã¦ããªãã§ããã UIKit ã®æ©è½ã«ã¤ãã¦ç´¹ä»ããã UITextView ã® intrinsic content size Auto Layout ã«ããã¦ãUIView ã¯èªèº«ã表示ãããããã«ã¡ããã©ãããµã¤ãºãç¥ã£ã¦ãããå ·ä½çã«ã¯ var intrinsicContentSize: CGSize ã§ããï¼Swift 3.0 ã§ã¯ property ã§ãSwift 2.3 ã¾ã§ã¯ã¡ã½ããã§ããï¼ããã®ãµã¤ãºã¯ä»ã® NSLayoutConstraint ã¨é¢é£ãã¦ãããã©ã«ãã§ã¯ãã©ã¤ãªãªã㣠75
Xamarin Advent Calendar 2019 24æ¥ç®ã®ã¨ã³ããªã¼ã§ãããã£ãªãã¨çãã¦ãã®?ã£ã¦æãã§ããã軽ãã®ãã¿ã»èª¿ã¹ç©ã§åæ¦ã§ãã ç®æ¬¡ what is it? ä»ä½¿ããã®? ã©ããªãã¤ã³ãã£ã³ã°ãåºæ¥ãã®? swiftã©ã¤ãã©ãªã®ã¡ã¿ãã¼ã¿æ§ç¯ ç¬èªswiftcæ¡å¼µ ã©ããã¼swiftã©ã¤ãã©ãªã®çæ C#ãã¤ã³ãã£ã³ã°çæ BTFSã®å¶é ã¾ã¨ã what is it? 2019å¹´ã¯Xamarinæ¹é¢ã§ã¯è½ã¡çãã1å¹´ã«ãªã£ã¦ãããã¨æãã¾ãããã¤ãã£ãã»ãã©ãããã©ã¼ã å´ã¯Jetpack ComposeãSwiftUIãçºè¡¨ãããããããæ°ããæ代ãå§ã¾ããã¨ãã¦ãã¾ãããXamarinã¯ç¬èªã®ã¯ã©ã·ãã¯ãªã¨ã³ã·ã¹ãã ã«ç«èããã ãã§ç¶ãã¦ããã®ããæ°ããæ³¢ã«ãã¡ãã¨ä¹ã£ã¦ãããã®ããæ¥å¹´ã¯åããè¦ãã¦ããã¹ã1å¹´ãªã®ã ãããªã¨æãã¾ãã Xamarin.And
ããã«ã¡ã¯ãæ°äºæ¥åµé é¨ã®é è¤ã§ããç¾å¨WEARã®éçºãè¡ã£ã¦ãã¾ãã æè¿ã¯WEARã®ã³ã¼ãã£ãã¼ãä¸è¦§ãã¦ã¼ã¶ã¼ä¸è¦§ãªã©ããªã¹ãç»é¢ã«ããã¼åã®åºåãå®è£ ããã¾ããã ãªã¹ãã«ãã¼ã¿ãæ¿å ¥ããå®è£ ã¯ç°¡åãªããã«æãã¾ããã種é¡ã®éããã¼ã¿ãæ±ãå ´åã«ã¯ãèæ ®ããã¹ããã¤ã³ããããã¤ãããã¾ãã æ¬è¨äºã§ã¯ãªã¹ãã«åºåã表示ãããã¨ãä¾ã«ã種é¡ã®éããã¼ã¿ããªã¹ãã«æ¿å ¥ããéã®ãã¼ã¿ã®æã¡æ¹ã»å®è£ ã¤ãã¦ç´¹ä»ãããã¨æãã¾ãã ä»æ§ ãªã¹ãç»é¢ã«ããã¼åã®åºåã表示ããã«ããã£ã¦ã®ä»æ§ã¯ä»¥ä¸ã®ã¨ããã§ãã åºåãåå¾ã§ããªãå ´åã¯ãªã¹ããã¤ãã ã¹ã¯ãã¼ã«ãã¦æ»ã£ã¦ãåãåºåã表示ããã¦ãã åºåã®ã¤ã³ãã¬ãã·ã§ã³ã¯è¡¨ç¤ºæã®ã¿ã¨ãªãããã«å¶å¾¡ãã ã¹ã¯ãã¼ã«ã«åããã¦é 延ãªãåºåã®è¡¨ç¤ºããã ä¸è¨ã®ãããªå ã 表示ãã¦ãããã¼ã¿ã¨ç°ãªãä»æ§ãæ±ããããå®è£ ãè¤éã«ãªãã¾ãã ããã¼ååºåã«ã¤
iOSã«åãåãç¶ãã10å¹´ã岸å·å å·±ãSpreadsheetViewã§åãããã£ããiOSã«ä¸è¶³ãã¦ãããã®ã KeychainAccessãSpreadsheetViewãªã©ãiOSã¢ããªéçºã§åºã使ç¨ãããOSSãéãåºãã岸å·å å·±ãããiOSãSwiftã®ä¸çã§å é§ãã¨è©ããã岸å·ããã«ãã½ããã¦ã§ã¢éçºã®è£å´ããèããã¾ããã è·æ¥ãiOSã¢ããªéçºè ããã¾ã§ãããããããè©æ¸ã¯çããããã¾ãããã10年以ä¸åãããiOSã«åãåãç¶ãã¦ããã¨ã³ã¸ãã¢ããã¾ããä»åã®ä¸»äººå ¬ã§ãã岸å·å å·±ï¼ããããã»ãã¤ã¿ï¼ @k_katsumi ï¼ããã¯ãã¾ãã«âiOSã®ç¬¬ä¸äººè âã¨å¼ã¶ã«ãµãããã人ç©ã§ãã 2008å¹´9æãæ¥æ¬ã§iPhoneãçºå£²ããããããã«ã¢ããªãéãåºãã以éã岸å·ããã¯iOSã¢ããªãéçºãç¶ãã¦ãã¾ãããã¨ã³ã¸ãã¢ã¨ãã¦ã®é«ãã¹ãã«ãè©ä¾¡ãããããã¾ã§æ°å¤ãã®æåä¼æ¥
JSONããåºæ¥ã®è¯ã妹ãSIONã ä»åã¯SIONã¨ãããã¼ã¿ã·ãªã¢ã©ã¤ã¼ã¼ã·ã§ã³ãã©ã¼ãããï¼data serialization formatï¼ãææ¡ãã¾ãã Whï¼at|yï¼Serializationï¼ ãã®åã«ã·ãªã¢ã©ã¤ã¼ã¼ã·ã§ã³ï¼serializationï¼ã¨ã¯ä½ãã復ç¿ãã¦ããã¾ãããããâ ã·ãªã¢ã©ã¤ãºï¼serializeï¼ãããã¨ï¼ãæ£è§£ã§ããã§ã¯ãã·ãªã¢ã©ã¤ãºã¨ã¯ä½ï¼ æåå ¥åãé³å£°å ¥åããï¼siriï¼ã§ã¯ããã¾ãã:-)ãããã°ã©ã ã®ä¸ã®ãªãã¸ã§ã¯ãï¼objectsï¼ããã¤ãåï¼bytesï¼ã«å¤æãããã¨ã§ããå®è³ªãã¹ã¦ã®ããã°ã©ã ã¯å ¥åããããã¤ãåããã·ãªã¢ã©ã¤ãºï¼deserializeï¼ããå¦çããçµæããã¤ãåã§åºåãã¤ã¾ãã·ãªã¢ã©ã¤ãºãã¦ããããã§ããããã©ã®ãããªå½¢å¼ï¼ãã©ã¼ãããã§è¡ããã¨ããã®ã¯ã³ã¼ãï¼codesï¼ä»¥ä¸ã«éè¦ãªèª²é¡ã¨è¨ãã¾ããããmp4ã¯
[ "array" : [ nil, true, 1, // Int in decimal 1.0, // Double in decimal "one", [1], ["one" : 1.0] ], "bool" : true, "data" : .Data("R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"), "date" : .Date(0x0p+0), "dictionary" : [ "array" : [], "bool" : false, "double" : 0x0p+0, "int" : 0, "nil" : nil, "object" : [:], "string" : "" ], "double" : 0x1.518f5c28f5c29p+5, // Double in hexadecimal "in
Xamarin Advent Calendar 2016 17æ¥ç®ã§ãã 以åããåã¯ãã¤ãã£ããã¤ã³ãã£ã³ã°é¢é£ã®è¨äºãããããæ¸ãã¦ãã¾ããã Xamarin.iOS ã§ãã¤ã³ãã£ã³ã°ã©ã¤ãã©ãªãä½ã Xamarin.iOS ã®ãã¤ãã£ããã¤ã³ãã£ã³ã°ãæ´»ç¨ãã¦æ¢åã® Objective-C è³ç£ãæµç¨ãã æ°ãããªã£ãObjective Sharpieã§CocoaPodsã®ãã¤ã³ãã£ã³ã°ã©ã¤ãã©ãªãä½ã ä»åããã¤ãã£ããã¤ã³ãã£ã³ã°ã§ãï¼ Swift ã使ãããããã«ãªã£ã¦ãã°ãããã¡ãCocoaControlsã«æ°ããåºã¦ãã¦ããä»é¢¨ã® UI ã©ã¤ãã©ãªã¯ã»ã¨ãã© Swift 製ã«ãªãã¤ã¤ããã¾ãã Swift ã使ãå ´åãSwift ã®ãµãã¼ãã©ã¤ãã©ãª(ã©ã³ã¿ã¤ã ï¼)ãå¿ è¦ã¨ãªããSwift ã§ä½ã£ãã¢ããªã¯ãããã°å®è¡ãã¢ãããã¯é å¸ã¯ã§ãããã©ã¹ãã¢ã«ä¸ãããªãâ¦ï¼ã¨ãã
åæ© Storyboardï¼Segueã§ã®ç®¡çã¯ä¾¿å©ã§ããè¤éãªã¢ããªãä½ã£ã¦ããã¨ã©ãã©ã è¾ããªã£ã¦ããã¾ããä¾ãã°ä»¥ä¸ã®ãããªã±ã¼ã¹ã ViewControlleréã§å¤ãå¼ãåããã ã©ãã®ãã¼ã¸ã«ãã¦ãæå®ãããã¼ã¸ã«é·ç§»ããããï¼ã¢ããªå éç¥ãURLSchemaã§ã®ç§»åï¼ è¡¨ç¤ºããã¦ãããã¼ã¸ã«å¿ãã¦å¦çãå¤ãããï¼ååç»é²ããã¼æã«ã¯xxxã®éç¥ã¯åºããªãããªã©ï¼ èµ·åæã«æ¡ä»¶ï¼ãã°ã¤ã³ãã¦ãããã©ãããªã©ï¼ã«å¿ãã¦é·ç§»ãå¤ããã 1çªã¯https://github.com/tokorom/TKRSegueOptions ã使ã£ã¦performSegueã å¼ã¶å ´æã§å¤ã渡ããããã«ããã°å°ã綺éºã«ãªããã§ãããä¾ç¶ã¨ãã¦é·ç§»å ã® æ å ±ãç¥ã£ã¦ãªãã¨ä½ã渡ãã°ãããã決ã¾ãããå¤æ´ã«å¼±ãä½ãã«ãªã£ã¦ãã¾ã£ã¦ãã¾ããã 2çªã¯Notificationã使ã£ã¦æ ¹ã£ãã®ViewCo
ãã¹ãããªãã£ãç¡æ³å°å¸¯ã®ããã¸ã§ã¯ãã«èªåãã¹ããå°å ¥ãã¦ãéçºé度ã1.7åã«ãã話ããã¾ãã èªåãã¹ãããªããªãã®ã èªåãã¹ãã®ãªãããã¸ã§ã¯ãã«ã¯ããããªãçç±ãå¿ ãåå¨ãã¾ããããã¿ãçç±ã¯ããæéããªããã1ãããã¹ãã®æ¸ãæ¹ãããããªãããããç¡çãããã¹ããæ¸ããã¤ããçµé¨ããã£ããã2ãã¨ãã£ããã®ã§ããä»åã®ããã¸ã§ã¯ãã®å ´åã¯ã以ä¸ã®2ç¹ã§ããï¼ èªåãã¹ãã®æ¸ãæ¹ãããããªããã ã¬ãã¥ã¼ããã¹ã代ããã ã£ããã ã¾ãããã¼ã ç·¨æãå¤ãã£ã¦ç§ã¨ããä¸äººããã¼ã ã«å ããã¾ã§ãå®è£ è ã®ä¸ã«èªåãã¹ãã®çµé¨è ã¯ãã¾ããã§ããããã®ãããªç¶æ³ã§ã¯ãèªåãã¹ãã¯å°é£ã«ãªãã¾ãããªããªããä½ãã©ããã£ã¦ã©ãã¾ã§ãã¹ããããã決ããã«ã¯ãå¤å°ã®æ £ããå¿ è¦ã ããã§ãããã®æ £ãããªãã¨ãä½ãããããããããããªãã¨ããç¶æ ã«é¥ããã¡ã§ãçµæã¨ãã¦èªåãã¹ããå¾åãã«ããã¦ãã¾ãã¾
æ¬ç¨¿ã¯ Swift Tweets 2017 Summer ã§çºè¡¨ï¼ãã¤ã¼ãï¼ãããã®ãã¾ã¨ããQiita ç¨ã«è¿½è¨ã»åæ§æ1ãããã®ã§ãã çºè¡¨æ¦è¦ CotEditor ããã¸ã§ã¯ãã®ç¾ä¸»å¬è 1024jp ã§ããCotEditor ã¯æ¨å¹´ 2016 å¹´ã« Objective-C ãã Swift ã«ç§»è¡ãã¾ãããä»æ¥ã¯ãã®è©±ããã¾ãã æ¬çºè¡¨ã¯ãäºåã«ä»¥ä¸ã®ãããªæ¦è¦ãé示ãã¦ãã¾ããã 2004 å¹´ããèã ã¨åãç¶ãããç· Cocoa 製㮠macOS ç¨ããã¹ãã¨ãã£ã¿ CotEditor ã¯ãæ¨å¹´ 2016 å¹´ã« Objective-C ãã Swift ã« 100% 移è¡ãã¾ããã Swift ã¯é åçãªè¨èªã§ããããã§ã« Objective-C 㧠10 å¹´è¶ åãã¦ãã¢ããªã±ã¼ã·ã§ã³ã誰ã«é ¼ã¾ããããã§ããªãã®ã«ãããã Swift ã§æ¸ãç´ãæå³ã¯æããã¦ããã®ã§ããããï¼
æ®æ®µãã RxSwift(Reactive Extensionsã®Swiftå®è£ )㨠ReSwift(Reduxã®Swiftå®è£ )ã使ã£ã¦ãã¾ããRxSwift ãéä¿¡ç³»ã®å¦çã ã£ããããªã²ã¼ãã®å¦ç(ä¾ãã° StoreKit ã¨ã CoreBluetooth)ã ã£ããã«ä½¿ã£ã¦ãReSwiftãã¢ããªå ¨ä½ã§ç®¡çããªãããããªããã¼ã¿ã®ç£è¦ãªããã«ä½¿ã£ã¦ã¾ããReSwift ããã®ã¾ã¾ä½¿ã£ã¦ããã¾ãå°ããªãã®ã§ãããReSwift ã®ã¹ãã¼ãã Observable ã«å¤æãã¦UIé¨åã¨ãã¤ã³ãããã¨ããããã¨æããªãã¨ãããã㧠ReSwift ã® Rx ç¨ã©ããã¼ã¯ã©ã¹ãä½æãã¾ããã Reduxã®ã¹ãã¼ããRxåããã¯ã©ã¹ Redux ã®ã¹ãã¼ãã Rx ã® Variable ã«æ ¼ç´ãã¦ãRedux ããã¹ãã¼ãå¤æ´ã®éç¥ãæ¥ãã Variable(ã¨ã©ã¼ã®çºçããªãBehaviorS
Make a note of it: Web tech, montaineering, and so on. iPhoneã¢ããªä½ã£ã¦ã¿ãã¡ã¢ãè¯ãããTableView + WebViewã®ãã¥ã¼ã¹ç³»ã¢ããªä½ã£ãéç¨ã§ã®æ°ä»ããªã©ãããã¯ããªã¥ã¼ã ã«ãªã£ã¦ãã¾ã£ãã®ã§ãåå²ãã¦ã¿ãï¼ã¤ããï¼ã¤ãã®å°å ¥ç·¨ãã¨ãã·ã¯ï¼ Pull to Refresh ç¡éã¹ã¯ãã¼ã« ã¢ã©ã¼ãã®ã¢ã¼ãã«ãåºã éä¿¡ã¨ã©ã¼ã®ã¢ã©ã¼ããåºã WebViewå ã®window.alert()ã§URLãéªéãªåé¡ é²è¦§ä¸ã®ã¿ãããã1åã¿ãããããåæåãã Core Dataã§ãã¼ã¿ãä¿åãã CoreDataã§ã¹ã¬ããå¦çãæ¸ã åèæ¸ç±ãªã© Pull to Refresh var refresher = UIRefreshControl() override func viewDidLoad() { super.
ã¯ããã« è¿ã ãªãªã¼ã¹ç³è«ã«åºããã¨æã£ã¦ããæ°ä½ã¢ããªã§ReSwiftã¨Realmã使ã£ãã®ã§ããçµæ§ç¸æ§ããããªã¨æã£ãã®ã§åºæ¬çãªèãæ¹ã¨å°ãèºããã¨ãããªã©ãå ±æãããã¨æãã¾ãã ReSwiftã£ã¦ï¼ Realmã¯ãã¡ããæåãªã®ã§å 人ã®ç´ æ´ãããè¨äºã«è§£èª¬ãã¾ãããã¨ãã¦ReSwiftã«ã¤ãã¦ç°¡åã«èª¬æãããã¨æãã¾ãã ReSwiftã¯Reduxã¨ããJavaScriptã®ãã¬ã¼ã ã¯ã¼ã¯ãSwiftã§å®è£ ãããã®ã§ããReSwiftãReduxã¯ä»¥ä¸ã®åã¤ã®è¦ç´ ã§æãç«ã£ã¦ãã¾ãã View ... iOSã¢ããªã ã¨ViewControllerã«å¯¾å¿ãç»é¢ã«è¡¨ç¤ºããé¨å Action ... ã¢ããªå ã§è¡ãããå¦çããã ãããåä½ã§ã¯ãªã«ãããªã State(Store) ... ã¢ããªã®ç¶æ ãä¿æ/表ç¾ãããã® Reducer ... ç¾å¨ã®Stateã¨Actionãåãå
å¹çããiOSã¢ããªéçºãè¡ãããã«ãå¹çãããããã°ãè¡ãããã§ãããã ãã®ã¨ã³ããªã§ã¯ãprintæãæ¸ã以å¤ãããã°ã®æ¹æ³ãç¥ããªãã£ããã®é ã®èªåããåç´è ã¨å®ç¾©ãã¦ãèªåããã£ã¦ããããã°æ¹æ³ã«ã¤ãã¦æ¸ãã¦ã¿ã¾ãã Xcodeãããã°è¡ 1. printã使ããã«å¤æ°ã®ä¸èº«ã確èªãã age, name, coverImage ã¨ãã以ä¸ã®3ã¤ã®å¤æ°ã宣è¨ããã¦ãã¾ãã let age = 27 let name = "Ryosuke Hiramatsu" let coverImage = UIImage(named: "sample.jpg") ãããã®å¤æ°ã®ä¸èº«ããã§ãã¯ãããæãprintã§åºåããã®ã§ãè¯ãã§ãããããã§ã¯åºåããå¤ãå¤ããããªã£ãæï¼print(age)ãprint(age*2+1)ã«å¤æ´ã¨ãï¼ã«å度ãã«ããå¿ è¦ã«ãªã£ã¦æéããããã¾ãã printã§
ãã®ã¨ã³ããªã¼ã¯èªè ã¨ãã¦ã¹ãã¼ããã©ã³ã¢ããªéçºè ã¨Webããã³ãã¨ã³ãã¨ã³ã¸ãã¢ãæ³å®ãã¦æ¸ãã¦ãã¾ãã CROSS2016ã«åºãã®ã§ãæè¿ã®èªåã®èããæ´çãã¦ããã æè¿Reduxã®Swiftå®è£ ã§ããReSwiftã使ã£ã¦éçºãã¦ããã使ã£ãææ³ãªã©ãæå¾ã®é¨åã«æ¸ããããã©ããã®ã¨ã³ããªã¼ã®æ¬é¡ã¯ã¢ããªã®ç¶æ 管çã®è©±ã ã¢ããªã¯å¤§ããªã·ã³ã°ã«ãã³ iOSãAndroidå ±ã«ã¢ããªãå®è£ ãããã¨æãã¨å¤§æµã·ã³ã°ã«ãã³ãå¿ è¦ã«ãªããåViewControllerå ãã¾ããã£ã¦ãã¼ã¿ãå ±æãããã¨ããã¦ã¼ã¹ã±ã¼ã¹ãå¤ãããã ãä¾ãã° ã¦ã¼ã¶ã¼ã®ãã°ã¤ã³æ å ±ãéç´ããUserManager ã³ã³ãã³ãã¸ã®ãããæ å ±ãéããLikesManager ããã¯ãã¼ã¯æ å ±ãéããBookmarkManager ãªã©ãªã©ããã¡ããã¢ããªã®å 容ã«ãã£ã¦ãããã®é¡ã¶ãã¯éã£ã¦ããã¨æãããã©ã大æµU
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}