SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
Facilitating Idiomatic Swift
with Objective-C
Aaron Taylor
aaron@meta.sc
June 15, 2015
• Started in pure Swift
• Concision
• Type safety, esp. in data structures
• Functional aspects
• Unmanaged data types for unannotated APIs
• All of the ones we are working with
• Documentation issues
• Fix the compiler errors, then get runtime errors
• Lots of head scratching
Core Foundation in Swift
getting a file’s MIMEType using UTType
vs.
• UnsafePointer, UnsafeMutablePointer,
AutoreleasingUnsafeMutablePointer
• wrap Swift types, clutter your code
• CFunctionPointer
• unavailable in Swift*
Interacting with C APIs
Creating an FSEventStream
Benefits of Swift are lost
• No longer writing idiomatic Swift
• Type safety (mostly) gone
• Objective-C is more concise
• Basically writing C with more verbose syntax
Reclaim the
benefits of Swift
• Wrap Core Foundation and C interactions with
Objective-C classes providing specific functionality
• For us: FileSystemListener and FileSystemCrawler
• Provide a clean API for your project’s use
Objective-C and Swift
• Bridging by the compiler
• Syntactic Translation
• Data types
• Cocoapods
https://developer.apple.com/library/ios/documentation/Swift/Conceptual/
BuildingCocoaApps/index.html
Bridging
• Header file used to generate Swift bindings
• @objc creates Objective-C bindings for Swift code
• as does inheriting from an Objective-C class
Syntactic Translation
• Intuitive conversions for initializers and methods
• unannotated initializers automatically unwrapped
• At the Cocoa level, most things just work
Data Types
• Type safety of Swift lost in default cocoa datatypes*
• Conversions are easy
• Some automatic, others just a cast
Cocoapods
• Pods written in Swift are treated as dynamically
linked frameworks
• Requires use_frameworks! in your Podfile
• blog.cocoapods.org/CocoaPods-0.36/
• blog.cocoapods.org/Pod-Authors-Guide-to-CocoaPods-Frameworks/
Remaining Issues
• Some type safety lost in interop with swift code
• New Objective-C generics help!
• Compiler optimization turned off
• significant performance hit, orders of magnitude
difference in some cases
• Look into `@_semantics(“optimize.sil.never”)`
Xcode 7
• Support for CFunctionPointer from closures and
swift functions
• Native support for C function pointers: C functions that take function
pointer arguments can be called using closures or global functions, with
the restriction that the closure must not capture any of its local context.
(16339559)
• Generics in Objective-C
• Typed data structures translate to swift
References
• https://developer.apple.com/library/ios/documentation/Swift/Conceptual/
BuildingCocoaApps/WorkingWithCocoaDataTypes.html
• https://developer.apple.com/library/ios/documentation/Swift/Conceptual/
BuildingCocoaApps/InteractingWithCAPIs.html
• https://developer.apple.com/library/ios/documentation/Swift/Conceptual/
BuildingCocoaApps/MixandMatch.html
• https://developer.apple.com/swift/blog/?id=6
• http://dev.eltima.com/post/93497713759/interacting-with-c-pointers-in-swift-
part-2
• http://www.charlessoft.com/hacks/using_c_function_pointers_in_swift.html
access any file in seconds,
wherever it is.
careers@meta.sc

Weitere ähnliche Inhalte

Was ist angesagt?

Rest API with Swagger and NodeJS
Rest API with Swagger and NodeJSRest API with Swagger and NodeJS
Rest API with Swagger and NodeJSLuigi Saetta
 
Swift should I switch?
Swift should I switch?Swift should I switch?
Swift should I switch?wulfgeng
 
Streamlining API with Swagger.io
Streamlining API with Swagger.ioStreamlining API with Swagger.io
Streamlining API with Swagger.ioVictor Augusteo
 
Revamping Mailjet API documentation @ ParisAPI meetup
Revamping Mailjet API documentation @ ParisAPI meetupRevamping Mailjet API documentation @ ParisAPI meetup
Revamping Mailjet API documentation @ ParisAPI meetupMailjet
 
Integration Testing for Polyglot Ecosystems
Integration Testing for Polyglot EcosystemsIntegration Testing for Polyglot Ecosystems
Integration Testing for Polyglot EcosystemsDavid Worth
 
Infinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan Kušt
Infinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan KuštInfinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan Kušt
Infinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan KuštInfinum
 
Introducing Swagger
Introducing SwaggerIntroducing Swagger
Introducing SwaggerTony Tam
 
Lessons Learned from Revamping Our Doc Site
Lessons Learned from Revamping Our Doc SiteLessons Learned from Revamping Our Doc Site
Lessons Learned from Revamping Our Doc SitePronovix
 
Designing APIs with OpenAPI Spec
Designing APIs with OpenAPI SpecDesigning APIs with OpenAPI Spec
Designing APIs with OpenAPI SpecAdam Paxton
 
Android development at mercari 2015
Android development at mercari 2015Android development at mercari 2015
Android development at mercari 2015Tomoaki Imai
 
Implement Web API with Swagger
Implement Web API with SwaggerImplement Web API with Swagger
Implement Web API with SwaggerJiang Wu
 
Building APIs with Node.js and Swagger
Building APIs with Node.js and SwaggerBuilding APIs with Node.js and Swagger
Building APIs with Node.js and SwaggerJeremy Whitlock
 
Automating functional testing of Flex applications.
Automating functional testing of Flex applications.Automating functional testing of Flex applications.
Automating functional testing of Flex applications.Gokuldas Pillai
 
PHP framework difference
PHP framework differencePHP framework difference
PHP framework differenceiScripts
 
Blood, sweat, and creating an API handbook
Blood, sweat, and creating an API handbookBlood, sweat, and creating an API handbook
Blood, sweat, and creating an API handbookPronovix
 
Swagger APIs for Humans and Robots (Gluecon)
Swagger APIs for Humans and Robots (Gluecon)Swagger APIs for Humans and Robots (Gluecon)
Swagger APIs for Humans and Robots (Gluecon)Tony Tam
 
Scala & Swagger at Wordnik
Scala & Swagger at WordnikScala & Swagger at Wordnik
Scala & Swagger at WordnikTony Tam
 
Swagger - make your API accessible
Swagger - make your API accessibleSwagger - make your API accessible
Swagger - make your API accessibleVictor Trakhtenberg
 
Angular TS(typescript)
Angular TS(typescript)Angular TS(typescript)
Angular TS(typescript)Ivan Stepić
 

Was ist angesagt? (20)

Rest API with Swagger and NodeJS
Rest API with Swagger and NodeJSRest API with Swagger and NodeJS
Rest API with Swagger and NodeJS
 
Swift should I switch?
Swift should I switch?Swift should I switch?
Swift should I switch?
 
Streamlining API with Swagger.io
Streamlining API with Swagger.ioStreamlining API with Swagger.io
Streamlining API with Swagger.io
 
Dependency injection
Dependency injectionDependency injection
Dependency injection
 
Revamping Mailjet API documentation @ ParisAPI meetup
Revamping Mailjet API documentation @ ParisAPI meetupRevamping Mailjet API documentation @ ParisAPI meetup
Revamping Mailjet API documentation @ ParisAPI meetup
 
Integration Testing for Polyglot Ecosystems
Integration Testing for Polyglot EcosystemsIntegration Testing for Polyglot Ecosystems
Integration Testing for Polyglot Ecosystems
 
Infinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan Kušt
Infinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan KuštInfinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan Kušt
Infinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan Kušt
 
Introducing Swagger
Introducing SwaggerIntroducing Swagger
Introducing Swagger
 
Lessons Learned from Revamping Our Doc Site
Lessons Learned from Revamping Our Doc SiteLessons Learned from Revamping Our Doc Site
Lessons Learned from Revamping Our Doc Site
 
Designing APIs with OpenAPI Spec
Designing APIs with OpenAPI SpecDesigning APIs with OpenAPI Spec
Designing APIs with OpenAPI Spec
 
Android development at mercari 2015
Android development at mercari 2015Android development at mercari 2015
Android development at mercari 2015
 
Implement Web API with Swagger
Implement Web API with SwaggerImplement Web API with Swagger
Implement Web API with Swagger
 
Building APIs with Node.js and Swagger
Building APIs with Node.js and SwaggerBuilding APIs with Node.js and Swagger
Building APIs with Node.js and Swagger
 
Automating functional testing of Flex applications.
Automating functional testing of Flex applications.Automating functional testing of Flex applications.
Automating functional testing of Flex applications.
 
PHP framework difference
PHP framework differencePHP framework difference
PHP framework difference
 
Blood, sweat, and creating an API handbook
Blood, sweat, and creating an API handbookBlood, sweat, and creating an API handbook
Blood, sweat, and creating an API handbook
 
Swagger APIs for Humans and Robots (Gluecon)
Swagger APIs for Humans and Robots (Gluecon)Swagger APIs for Humans and Robots (Gluecon)
Swagger APIs for Humans and Robots (Gluecon)
 
Scala & Swagger at Wordnik
Scala & Swagger at WordnikScala & Swagger at Wordnik
Scala & Swagger at Wordnik
 
Swagger - make your API accessible
Swagger - make your API accessibleSwagger - make your API accessible
Swagger - make your API accessible
 
Angular TS(typescript)
Angular TS(typescript)Angular TS(typescript)
Angular TS(typescript)
 

Andere mochten auch

MOA_Fall14_TrendGuide
MOA_Fall14_TrendGuideMOA_Fall14_TrendGuide
MOA_Fall14_TrendGuideTerri Segue
 
[ Coscup 2013 ] 新創到中型技術團隊經營與發展 - 導入 open source 的經驗
[ Coscup 2013 ] 新創到中型技術團隊經營與發展 - 導入 open source 的經驗[ Coscup 2013 ] 新創到中型技術團隊經營與發展 - 導入 open source 的經驗
[ Coscup 2013 ] 新創到中型技術團隊經營與發展 - 導入 open source 的經驗ChiaHsien Lee
 
O efeito da Radioterapia sobre a qualidade de vida dos pacientes com câncer d...
O efeito da Radioterapia sobre a qualidade de vida dos pacientes com câncer d...O efeito da Radioterapia sobre a qualidade de vida dos pacientes com câncer d...
O efeito da Radioterapia sobre a qualidade de vida dos pacientes com câncer d...Uiliam Santos
 
Solar_Energy_Research_Paper_June_2013_Th
Solar_Energy_Research_Paper_June_2013_ThSolar_Energy_Research_Paper_June_2013_Th
Solar_Energy_Research_Paper_June_2013_ThAditya Srinivasan
 
Revista Exame- À prova de crise - Exame 02.03.2016
Revista Exame- À prova de crise - Exame 02.03.2016Revista Exame- À prova de crise - Exame 02.03.2016
Revista Exame- À prova de crise - Exame 02.03.2016Caroline Carpenedo
 
成長駭客 Growth Hacker
成長駭客 Growth Hacker成長駭客 Growth Hacker
成長駭客 Growth HackerTaien Wang
 
A high efficiency flyback micro inverter with a new adaptive snubber for phot...
A high efficiency flyback micro inverter with a new adaptive snubber for phot...A high efficiency flyback micro inverter with a new adaptive snubber for phot...
A high efficiency flyback micro inverter with a new adaptive snubber for phot...LeMeniz Infotech
 
Formation aux gestes urgence en classe de seconde
 Formation aux gestes urgence en classe de seconde Formation aux gestes urgence en classe de seconde
Formation aux gestes urgence en classe de secondeRIDARD
 
Environmental control system from BJLive!
Environmental control system from BJLive!Environmental control system from BJLive!
Environmental control system from BJLive!BJLive!
 
Nord pas de calais
Nord pas de calaisNord pas de calais
Nord pas de calaisCelina Marie
 
20161116-林誠夏-國立臺灣歷史博物館-開放授權與數位館藏管理的實作策略-odp
20161116-林誠夏-國立臺灣歷史博物館-開放授權與數位館藏管理的實作策略-odp20161116-林誠夏-國立臺灣歷史博物館-開放授權與數位館藏管理的實作策略-odp
20161116-林誠夏-國立臺灣歷史博物館-開放授權與數位館藏管理的實作策略-odpCCTaiwanCommunity
 
All_GCSE_Results
All_GCSE_ResultsAll_GCSE_Results
All_GCSE_ResultsRosa Gane
 
Why Chatbot? 為何開發聊天機器人?
Why Chatbot?  為何開發聊天機器人?Why Chatbot?  為何開發聊天機器人?
Why Chatbot? 為何開發聊天機器人?Burton Chau
 

Andere mochten auch (20)

Los artistas de nuestra próxima exposición
Los artistas de nuestra próxima exposiciónLos artistas de nuestra próxima exposición
Los artistas de nuestra próxima exposición
 
MOA_Fall14_TrendGuide
MOA_Fall14_TrendGuideMOA_Fall14_TrendGuide
MOA_Fall14_TrendGuide
 
Bheki CV 1
Bheki CV  1Bheki CV  1
Bheki CV 1
 
Slaughterpresentation
SlaughterpresentationSlaughterpresentation
Slaughterpresentation
 
Slide 1
Slide 1Slide 1
Slide 1
 
[ Coscup 2013 ] 新創到中型技術團隊經營與發展 - 導入 open source 的經驗
[ Coscup 2013 ] 新創到中型技術團隊經營與發展 - 導入 open source 的經驗[ Coscup 2013 ] 新創到中型技術團隊經營與發展 - 導入 open source 的經驗
[ Coscup 2013 ] 新創到中型技術團隊經營與發展 - 導入 open source 的經驗
 
KUDOS CALL #2
KUDOS CALL #2KUDOS CALL #2
KUDOS CALL #2
 
O efeito da Radioterapia sobre a qualidade de vida dos pacientes com câncer d...
O efeito da Radioterapia sobre a qualidade de vida dos pacientes com câncer d...O efeito da Radioterapia sobre a qualidade de vida dos pacientes com câncer d...
O efeito da Radioterapia sobre a qualidade de vida dos pacientes com câncer d...
 
Solar_Energy_Research_Paper_June_2013_Th
Solar_Energy_Research_Paper_June_2013_ThSolar_Energy_Research_Paper_June_2013_Th
Solar_Energy_Research_Paper_June_2013_Th
 
Revista Exame- À prova de crise - Exame 02.03.2016
Revista Exame- À prova de crise - Exame 02.03.2016Revista Exame- À prova de crise - Exame 02.03.2016
Revista Exame- À prova de crise - Exame 02.03.2016
 
成長駭客 Growth Hacker
成長駭客 Growth Hacker成長駭客 Growth Hacker
成長駭客 Growth Hacker
 
A high efficiency flyback micro inverter with a new adaptive snubber for phot...
A high efficiency flyback micro inverter with a new adaptive snubber for phot...A high efficiency flyback micro inverter with a new adaptive snubber for phot...
A high efficiency flyback micro inverter with a new adaptive snubber for phot...
 
Formation aux gestes urgence en classe de seconde
 Formation aux gestes urgence en classe de seconde Formation aux gestes urgence en classe de seconde
Formation aux gestes urgence en classe de seconde
 
Environmental control system from BJLive!
Environmental control system from BJLive!Environmental control system from BJLive!
Environmental control system from BJLive!
 
Nord pas de calais
Nord pas de calaisNord pas de calais
Nord pas de calais
 
20161116-林誠夏-國立臺灣歷史博物館-開放授權與數位館藏管理的實作策略-odp
20161116-林誠夏-國立臺灣歷史博物館-開放授權與數位館藏管理的實作策略-odp20161116-林誠夏-國立臺灣歷史博物館-開放授權與數位館藏管理的實作策略-odp
20161116-林誠夏-國立臺灣歷史博物館-開放授權與數位館藏管理的實作策略-odp
 
LEGISLAÇÃO RADIOLÓGICA
LEGISLAÇÃO RADIOLÓGICALEGISLAÇÃO RADIOLÓGICA
LEGISLAÇÃO RADIOLÓGICA
 
Agile / Scrum
Agile / ScrumAgile / Scrum
Agile / Scrum
 
All_GCSE_Results
All_GCSE_ResultsAll_GCSE_Results
All_GCSE_Results
 
Why Chatbot? 為何開發聊天機器人?
Why Chatbot?  為何開發聊天機器人?Why Chatbot?  為何開發聊天機器人?
Why Chatbot? 為何開發聊天機器人?
 

Ähnlich wie Facilitating Idiomatic Swift with Objective-C

The Python in the Apple
The Python in the AppleThe Python in the Apple
The Python in the ApplezeroSteiner
 
Be armed to the teeth to maintain a high quality iOS code
Be armed to the teeth to maintain a high quality iOS codeBe armed to the teeth to maintain a high quality iOS code
Be armed to the teeth to maintain a high quality iOS codeAnastasia Kazakova
 
CrikeyCon 2015 - iOS Runtime Hacking Crash Course
CrikeyCon 2015 - iOS Runtime Hacking Crash CourseCrikeyCon 2015 - iOS Runtime Hacking Crash Course
CrikeyCon 2015 - iOS Runtime Hacking Crash Courseeightbit
 
Swift programming language
Swift programming languageSwift programming language
Swift programming languageNijo Job
 
MongoDB World 2018: A Swift Introduction to Swift
MongoDB World 2018: A Swift Introduction to SwiftMongoDB World 2018: A Swift Introduction to Swift
MongoDB World 2018: A Swift Introduction to SwiftMongoDB
 
Swift LA Meetup at eHarmony- Swift and Enterprise and eHarmony with Heena Ras...
Swift LA Meetup at eHarmony- Swift and Enterprise and eHarmony with Heena Ras...Swift LA Meetup at eHarmony- Swift and Enterprise and eHarmony with Heena Ras...
Swift LA Meetup at eHarmony- Swift and Enterprise and eHarmony with Heena Ras...Claire Townend Gee
 
Hack in the Box GSEC 2016 - Reverse Engineering Swift Applications
Hack in the Box GSEC 2016 - Reverse Engineering Swift ApplicationsHack in the Box GSEC 2016 - Reverse Engineering Swift Applications
Hack in the Box GSEC 2016 - Reverse Engineering Swift Applicationseightbit
 
CDI Best Practices with Real-Life Examples - TUT3287
CDI Best Practices with Real-Life Examples - TUT3287CDI Best Practices with Real-Life Examples - TUT3287
CDI Best Practices with Real-Life Examples - TUT3287Ahmad Gohar
 
Swift language - A fast overview of some features
Swift language - A fast overview of some featuresSwift language - A fast overview of some features
Swift language - A fast overview of some featuresWeverton Timoteo
 
Wahckon[2] - iOS Runtime Hacking Crash Course
Wahckon[2] - iOS Runtime Hacking Crash CourseWahckon[2] - iOS Runtime Hacking Crash Course
Wahckon[2] - iOS Runtime Hacking Crash Courseeightbit
 
Introduction to Micronaut - JBCNConf 2019
Introduction to Micronaut - JBCNConf 2019Introduction to Micronaut - JBCNConf 2019
Introduction to Micronaut - JBCNConf 2019graemerocher
 
NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET Dmytro Mindra
 
SOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class LibrariesSOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class LibrariesVagif Abilov
 
Developing modular Java applications
Developing modular Java applicationsDeveloping modular Java applications
Developing modular Java applicationsJulien Dubois
 
Code for Startup MVP (Ruby on Rails) Session 1
Code for Startup MVP (Ruby on Rails) Session 1Code for Startup MVP (Ruby on Rails) Session 1
Code for Startup MVP (Ruby on Rails) Session 1Henry S
 
Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)Vincent Biret
 
Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)Vincent Biret
 
Spring - CDI Interop
Spring - CDI InteropSpring - CDI Interop
Spring - CDI InteropRay Ploski
 
Rootcon X - Reverse Engineering Swift Applications
Rootcon X - Reverse Engineering Swift ApplicationsRootcon X - Reverse Engineering Swift Applications
Rootcon X - Reverse Engineering Swift Applicationseightbit
 

Ähnlich wie Facilitating Idiomatic Swift with Objective-C (20)

The Python in the Apple
The Python in the AppleThe Python in the Apple
The Python in the Apple
 
Be armed to the teeth to maintain a high quality iOS code
Be armed to the teeth to maintain a high quality iOS codeBe armed to the teeth to maintain a high quality iOS code
Be armed to the teeth to maintain a high quality iOS code
 
CrikeyCon 2015 - iOS Runtime Hacking Crash Course
CrikeyCon 2015 - iOS Runtime Hacking Crash CourseCrikeyCon 2015 - iOS Runtime Hacking Crash Course
CrikeyCon 2015 - iOS Runtime Hacking Crash Course
 
Swift programming language
Swift programming languageSwift programming language
Swift programming language
 
MongoDB World 2018: A Swift Introduction to Swift
MongoDB World 2018: A Swift Introduction to SwiftMongoDB World 2018: A Swift Introduction to Swift
MongoDB World 2018: A Swift Introduction to Swift
 
Swift LA Meetup at eHarmony- Swift and Enterprise and eHarmony with Heena Ras...
Swift LA Meetup at eHarmony- Swift and Enterprise and eHarmony with Heena Ras...Swift LA Meetup at eHarmony- Swift and Enterprise and eHarmony with Heena Ras...
Swift LA Meetup at eHarmony- Swift and Enterprise and eHarmony with Heena Ras...
 
Hack in the Box GSEC 2016 - Reverse Engineering Swift Applications
Hack in the Box GSEC 2016 - Reverse Engineering Swift ApplicationsHack in the Box GSEC 2016 - Reverse Engineering Swift Applications
Hack in the Box GSEC 2016 - Reverse Engineering Swift Applications
 
CDI Best Practices with Real-Life Examples - TUT3287
CDI Best Practices with Real-Life Examples - TUT3287CDI Best Practices with Real-Life Examples - TUT3287
CDI Best Practices with Real-Life Examples - TUT3287
 
Swift language - A fast overview of some features
Swift language - A fast overview of some featuresSwift language - A fast overview of some features
Swift language - A fast overview of some features
 
Wahckon[2] - iOS Runtime Hacking Crash Course
Wahckon[2] - iOS Runtime Hacking Crash CourseWahckon[2] - iOS Runtime Hacking Crash Course
Wahckon[2] - iOS Runtime Hacking Crash Course
 
Introduction to Micronaut - JBCNConf 2019
Introduction to Micronaut - JBCNConf 2019Introduction to Micronaut - JBCNConf 2019
Introduction to Micronaut - JBCNConf 2019
 
NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET
 
SOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class LibrariesSOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class Libraries
 
Developing modular Java applications
Developing modular Java applicationsDeveloping modular Java applications
Developing modular Java applications
 
Code for Startup MVP (Ruby on Rails) Session 1
Code for Startup MVP (Ruby on Rails) Session 1Code for Startup MVP (Ruby on Rails) Session 1
Code for Startup MVP (Ruby on Rails) Session 1
 
Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)
 
Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Spring - CDI Interop
Spring - CDI InteropSpring - CDI Interop
Spring - CDI Interop
 
Rootcon X - Reverse Engineering Swift Applications
Rootcon X - Reverse Engineering Swift ApplicationsRootcon X - Reverse Engineering Swift Applications
Rootcon X - Reverse Engineering Swift Applications
 

Kürzlich hochgeladen

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 

Kürzlich hochgeladen (20)

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

Facilitating Idiomatic Swift with Objective-C