日々の学び

投稿日:

NotificationCenterとObjective-CのNSDictionaryについて−iOSエンジニア3週目

こんにちは。

今週は主に不具合修正をやっていました。今週から徐々に業務に携わる時間が増えてきました。簡単な不具合の修正ですが、僕にとっては基本ができていないので、なかなか難しいです...。

 

今週学んだことは、swiftのNotificationCenterの使い方とObjective-CのNSDictionaryについてです。

 

SwiftのNotificationCenter

NotificationCenterの基本的な使い方については以下のQiitaの記事などを参考にしていただきたいと思います。

【Swift】NotificationCenterの使い方 

ここでは、不具合修正時にNotificationCenterを利用した際に勘違いしていたことについて書いていきます。

 

やりたかった処理というのは、NotificationCenterを使ってスクリーンレコーディング中にある処理をするというものです。

初め、僕はNotificationCenterがに来た時に処理が実行されると思っていたのですが、実際はそうではありませんでした。

ここでは処理が実行されるのではなく、処理を実行する準備を行うだけなんです。

この例ではスクリーンレコーディング中は再生を止めるような処理を書いています。(もちろんscreenRecording関数を用意してそこに処理を書く必要がありますが。)

このように画面表示前に処理を書くことで、実際にscreenRecordingが行われた時に中の処理を実行するようになります。

 

Objective-CのNSDictionary

Dictionary型は、データ量が多くなっても法則性を保ったままデータを保存できるので、配列よりも多くのデータを扱うのに向いています。

 

ここまでの基本はネットで調べればすぐわかるのでいいのですが、問題はここからです。

いつものようにソースを追っていた所、このようなDictionary型でデータを作っているところがあったのですが、ブレイクポイントで止めてみても、うまくデータが作れていませんでした。

入ってくるデータをよくみたところ、途中でnilがくると、それ以降のデータが作られないということがわかりました

上の例でいうと、bananaでnilが入ると、それ以降のmelonとgrapeは作られず、作られるデータはappleのみになるということです。

スポンサードリンク




スポンサードリンク




-日々の学び

Copyright© トマブログ , 2021 All Rights Reserved Powered by STINGER.