Read the transcript
Jeroen Leenarts: Hi, and welcome
to the 17th episode of my app
force one podcast. My name is
Jeroen Leenarts. And I've been
developing software for over
eight years iOS apps for over
nine years. And I'm running the
Dutch Koch hats for over seven.
If you're an iOS app developer,
you should listen to my podcast
because it will keep you updated
on interesting articles,
conference and events you might
not have heard about otherwise.
Now take a breath and I will
slow down. In this episode, I'm
going to talk about what's new
in Swift 5.4. Integrating swift
UI bindings and combined
activity expect failure expected
test failures, explained with
code examples, creating an iOS
bar charts in code using Swift
passing methods as swift UI few
actions, and Part Four in a
series of building lists and
navigation in Swift UI. On top
of that, Sam will be back in my
episode again, and we will share
some tips on preparing for your
tech interview. If you are
searching for an iOS job.
cokehead Snell will have another
nice meetup this month, a
progress update on the Core Data
workshop from Donnie Walsh me
and I reached my first set of
podcasting goals. My initial
goals were to reach about 200
downloads for each episode. In
the first seven days, get 300
subscribers on Twitter and make
sure that I release an episode
every week took me 10 days
longer than I aim for buts on
all three fronts, I was able to
achieve my goals. I have some
ideas on what my next set of
goals should be. But please let
me know what you think I should
aim for. I have bookings for
interview guests all the way
into May. I'm still always
looking for a great guest to
appear on my podcast. So if you
know someone or you think you're
a nice guest, or a great guest,
actually yourself, please reach
out to me on Twitter, at Air
Force One, the consistent
feedback I'm getting from people
who listened to my podcast,
especially if they've been a
guest on my podcast has been the
quality of the recordings and
the editing, which is kind of
surprising to me. Because before
October 2020, I have never done
any audio editing in my life.
And I think most of it is due to
the tool choice that I did. I'm
using Hindenburg Journalist Pro.
And I must say that I was very
fortunate that I picked this
specific tool to do all my audio
editing with, it's very easy to
get into. But the amount of
power features specific for
audio editing voice recordings
is pretty much amazing, really.
So if you ever look into picking
a tool for audio editing,
definitely give Hindenburg
Journalist pro a try. And the
funny thing is they don't even
have an affiliate program. So
what I just told you is pretty
much because I like this tool so
much. But I'm on a tangent now.
So let's get started.
There's no denying that what's
new in Swift 5.4 by Paul Hudson
is a great write up of what's
new in the latest Xcode better,
definitely have a read of this
article. So update yourself on
everything that is new in the
latest swift version. And don't
forget to update yourself to the
latest, Xcode better. One tip
though, the latest Xcode version
requires Mac OS Bexar, just fac
has a nice write up on using
Swift UI bindings and combined
swift UI bindings and combine
are two very distinct
technologies available in any
swift UI app. In this article,
Joseph discusses the difference
between bindings and combined
and how you can actually
interact between these two. It's
a great write up if you want to
learn a little bit more about
all the internal workings of a
swift UI components and how it
actually obtains its data. Anton
finally, has an article on
activity expect failure.
Activity expect failure was
introduced in Xcode 12.5 and
allows marking test fails as
expected. Yes, you interpreted
that correctly. It's actually a
way to mark a unit test in
Xcode, as you expecting it to
fail. Imagine that a unit test
failing, but it's okay. Anton
explains what could be an actual
use case for this, and how this
feature exactly works. Rokkor
has a article on creating an iOS
bar charts in code using Swift.
In his post, he will describe
how you can actually create a
simple bar chart in code and add
it to a default UI view
controller. The advantage of
reading this article is that you
will learn that it's not that
complicated actually to create a
simple graph in Swift. Too often
on projects you see that people
immediately grab for a third
party dependency like charts,
which is great, but do you
actually need all the weight of
this third party dependency
simple graphs you can just do in
code without the support of any
third party libraries.
Johnsonville has an article on
passing methods as swift UI few
actions. Passing methods in
Swift is nothing new really, but
it is a feature of Swift that is
often overlooked. And the fun
thing is that passing methods is
actually The very viable way to
create few actions
implementations. And the
advantage of this is that the
actual implementation is now
embedded in a function. And this
function is a well defined piece
of functionality that most
likely has a good chance of
being unit tested. settlement
has a nice part four in a series
building lists and navigation in
Swift UI. So room provides a
nice overview of what navigation
actually is in Swift UI, and
what options you have available
and how you can actually apply
all these different options.
It's a long form article, that's
basically a great tutorial on
navigation in Swift UI. I'm
sitting here with Sam again, and
we just finished up simulating a
technical interview. And Sam,
any specifics that you can take
away from what we just did,
Sam McGarry: there were specific
issues within my code that we
talked about, and I've specific
takeaways about those. But I
would say general takeaways, I,
I think I need to practice my
approach and explain things and
and I think I need to really
deep dive into my projects, and
be prepared to answer a question
about any line of code that's
within my code base. And I think
I was able to answer most of
your questions fairly
effectively, at least the basic
level for most of your questions
to get the general answer that
you're looking for, we actually
Jeroen Leenarts: are doing this
for a reason, because quite
soon, you will have your second
interview, you tried to prepare
to that to the best of your
abilities. So any big surprises
for you, in the exercise that we
just did?
Sam McGarry: I wouldn't say
there were any huge process,
something that had me completely
caught off guard, there were a
few things were off the get go I
hadn't exactly I thought about
them. So I had to use critical
thinking and kind of think on
the spot a little bit, which I
imagine is going to happen. My
actual interviews, well, there
weren't any huge surprises. And
in that sense, because for
example, in my code base, there
are a few things that I've used
from online resources, like
Stack Overflow for simple,
simpler things that weren't
actually written by myself. And
there's also some positive use.
But on the other end, that's
maybe 10% of my code. But the
other 90%, I have, I would say I
have a strong grasp, on in
general, and I can explain
what's going on. And there's a
maybe a few little instances
there where I have to kind of
think on my feet. For the most
part, I think I know what's
going on in the project.
Jeroen Leenarts: There's a lot
of people that are also trying
to get to a junior iOS developer
position, any recommendations
that you could give them about
this specific aspect of trying
to get there. And then the
aspect that I'm talking about is
the tech interview.
Sam McGarry: I would say one of
the biggest things I've learned
during this whole process, or
I've learned as important is
just the ability to verbally
express your understanding of a
topic. You may you may be able
to, you may understand it in
your own head. But being able to
explain what's going on, in your
own words is important. And it's
it's good practice for you. And
it's you're going to have to do
it during the interview. And
it's it's not something like
when I first started preparing
for these interviews, it's
something I told myself, I would
it be easy in my head and then I
start practicing. And I was
like, Okay, well, it's clear, I
need some practice on this. So I
would say that was probably one
of the biggest things I've I've
learned during this process.
Only thing
Jeroen Leenarts: that's left to
do is wish you best of luck on
your first tech interview. And
let's hope for the best and see
what happens. Thank you. On
February 17, the Coco Chanel
will have another one of its
online meetups. This time, they
will have Brian McLeod, the
developer of black box or
refreshing oppressive puzzle
game presenting at their meetup.
It's a puzzle game that uses all
kinds of sensor features of the
iOS platform. There's a lot of
different things you can
actually detect going on with a
device blackbox puzzles, makes
full use of all these features.
So I expect this to be a very
interesting talk on all kinds of
technical features of iOS
devices. Donnie and I are
gaining some traction with the
Core Data workshops that we are
organizing. We're selling our
first tickets, and we don't have
a lot of tickets available
actually. So make sure you get
yours in time at force one
dotnet slash core data. It's the
first time for Donnie and I've
done this a couple times before
so I took my old notes and
started sharing with Donnie how
you actually do something like
this. And with Danny's expertise
and my expertise combined. I
think this will be a great day
for the Attending the workshop?
The biggest question, of course,
is why should you join this
workshop? Well, if you want to
use Core Data, and you like the
stuff that Tony actually writes
with his books, this is the
perfect opportunity to get
information from the source, ask
questions that are specific to
your situation, so that you can
apply what you learned not next
week, but right after the
workshop itself. And of course,
it does help that you will learn
what a cool technology, the Core
Data framework actually is on
the Mac and iOS platforms. So
one final time, app force
one.net/core data, look there,
sign up join us. And the best
part is, we only need to finish
up creating the content, sell a
few more tickets. And that's
pretty much it really, of
course, creating the content is
a big job. And it's the most
important job of a workshop like
this. But rest assured, we will
get this done, and we will have
some time to spare. And then I'm
at the final part of this
episode. I don't have any time
to spare the Monday morning
tweet I am skipping this week,
but I will make sure to link
from the show notes so that you
can have a look at it yourself.
And I look forward to seeing you
talking to you next week. And
remember on Thursday, I think
there will be a very interesting
episode available with two
people from my own history
actually. Nandini Chow Han and
plymstock will be on an
interview with me about the work
that we did together on the ing
banking app. So make sure to
pick up that episode on your
podcast player and have a listen
and please let me know what you
think. And send me any feedback
that you might have. You can do
that through Twitter. And my
handle there is at Force One,
and that's numeral one at the
end. Talk to you next week. I
think I'm getting the hang of
this maybe