<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><description>Software Engineer | iOS | macOS | Swift | SwiftUI | Previously SwiftUI at Apple | Author of books for Swift developers: https://books.nilcoalescing.com</description><link>https://bsky.app/profile/natpanferova.bsky.social</link><title>@natpanferova.bsky.social - Natalia Panferova</title><item><link>https://bsky.app/profile/natpanferova.bsky.social/post/3mkozsc2dvs2e</link><description>The April issue of the Nil Coalescing newsletter has been sent out and is now available online 📬&#xA;&#xA;I shared links to talks from try! Swift Tokyo, the reception of &#39;The SwiftUI Way&#39; book, and new content this month:&#xA;https://nilcoalescing.com/newsletter/2026-04-29&#xA;&#xA;#iOSDev #SwiftLang #SwiftUI&#xA;https://nilcoalescing.com/newsletter/2026-04-29/</description><pubDate>30 Apr 2026 06:54 +0000</pubDate><guid isPermaLink="false">at://did:plc:ne3b5f4o4vpkgxsv7fgbcaqg/app.bsky.feed.post/3mkozsc2dvs2e</guid></item><item><link>https://bsky.app/profile/natpanferova.bsky.social/post/3mkmrlksttk2g</link><description>Just noticed that my talk from try! Swift Tokyo got featured in Tech Talks Weekly 🙌&#xA;https://www.techtalksweekly.io/p/issue-101-i-hate-ai-software-dev</description><pubDate>29 Apr 2026 09:22 +0000</pubDate><guid isPermaLink="false">at://did:plc:ne3b5f4o4vpkgxsv7fgbcaqg/app.bsky.feed.post/3mkmrlksttk2g</guid></item><item><link>https://bsky.app/profile/natpanferova.bsky.social/post/3mkjzwvrch22y</link><description>The onChange() modifier in SwiftUI has gone through some API changes since it was introduced. I wrote an overview of the modern variants, including how to access old and new values, and trigger the action on initial appearance: https://nilcoalescing.com/blog/OverviewOfonChangeInSwiftUI&#xA;#iOSDev #SwiftUI&#xA;https://nilcoalescing.com/blog/OverviewOfonChangeInSwiftUI/</description><pubDate>28 Apr 2026 07:14 +0000</pubDate><guid isPermaLink="false">at://did:plc:ne3b5f4o4vpkgxsv7fgbcaqg/app.bsky.feed.post/3mkjzwvrch22y</guid></item><item><link>https://bsky.app/profile/natpanferova.bsky.social/post/3mkextupwu22q</link><description>List in #SwiftUI is only lazy when it can determine how many views a ForEach element resolves to without evaluating the closure.&#xA;&#xA;Using an `if` statement inside ForEach, or wrapping rows in AnyView makes SwiftUI evaluate the ForEach closure for every element before any rows are displayed.</description><pubDate>26 Apr 2026 06:53 +0000</pubDate><guid isPermaLink="false">at://did:plc:ne3b5f4o4vpkgxsv7fgbcaqg/app.bsky.feed.post/3mkextupwu22q</guid></item><item><link>https://bsky.app/profile/natpanferova.bsky.social/post/3mjygtdfsts2k</link><description>It&#39;s my birthday 🎊 To celebrate and to continue the tradition I&#39;m doing a special book sale just for today! You can get any of my Swift and SwiftUI books and bundles with a 20% discount using the coupon code BD2026 applied at checkout: books.nilcoalescing.com&#xA;#iOSDev #SwiftUI #SwiftLang&#xA;https://books.nilcoalescing.com/</description><pubDate>21 Apr 2026 07:16 +0000</pubDate><guid isPermaLink="false">at://did:plc:ne3b5f4o4vpkgxsv7fgbcaqg/app.bsky.feed.post/3mjygtdfsts2k</guid></item><item><link>https://bsky.app/profile/natpanferova.bsky.social/post/3mjwb4od3fk25</link><description>Got home from Japan and try! Swift Tokyo, the trip was amazing! It was so good to meet the local iOS community and explore Tokyo a bit. Thank you so much for having me @tryswift.jp ☺️&#xA;#tryswift</description><pubDate>20 Apr 2026 10:29 +0000</pubDate><guid isPermaLink="false">at://did:plc:ne3b5f4o4vpkgxsv7fgbcaqg/app.bsky.feed.post/3mjwb4od3fk25</guid></item><item><link>https://bsky.app/profile/natpanferova.bsky.social/post/3mjp3smszdc26</link><description>The recording of my talk from try! Swift Tokyo is already available on YouTube! I shared my perspective on what drives change in SwiftUI, how new APIs come to life, and why we should try to keep up with the changes: https://www.youtube.com/watch?v=SQ-bn9iC5gw&#xA;#tryswift #iosdev #swiftui</description><pubDate>17 Apr 2026 14:05 +0000</pubDate><guid isPermaLink="false">at://did:plc:ne3b5f4o4vpkgxsv7fgbcaqg/app.bsky.feed.post/3mjp3smszdc26</guid></item><item><link>https://bsky.app/profile/natpanferova.bsky.social/post/3mjl7ljxooc2c</link><description>Got the nicest feedback about my SwiftUI books, it made me really happy 🥰&#xA;&#xA;&#34;... the explanations of view identity and data flow made sense in a way that just hadn’t gotten through to me no matter how many other tutorials or bits of Apple documentation I read.&#34;</description><pubDate>16 Apr 2026 01:02 +0000</pubDate><guid isPermaLink="false">at://did:plc:ne3b5f4o4vpkgxsv7fgbcaqg/app.bsky.feed.post/3mjl7ljxooc2c</guid></item><item><link>https://bsky.app/profile/natpanferova.bsky.social/post/3mjhjxok4bc2d</link><description>Today was the last day of the try! Swift Tokyo conference and also the day of my talk. I think it went well 😌 Thank you so much to everyone involved @tryswift.jp for such an amazing experience! #tryswift</description><pubDate>14 Apr 2026 13:57 +0000</pubDate><guid isPermaLink="false">at://did:plc:ne3b5f4o4vpkgxsv7fgbcaqg/app.bsky.feed.post/3mjhjxok4bc2d</guid></item></channel></rss>