Submit Search
How to improve Type-safety in your Objective-C code
Oct 22, 2015
2 likes
1,017 views
C
Chiharu Nameki
Shibuya.swift #1 LT
Read more
1 of 13
Download now
Download to read offline
Ad
Recommended
Nullabilityについて
Nullabilityについて
ishikawa akira
Objective-CのコードをSwiftで使う際に必要なNullabilityについて
Mix and Match / Swift and Objective-C
Mix and Match / Swift and Objective-C
Goichi Hirakawa
もくもくiOS勉強会@ネクスト 1周年記念LT会 http://mokumoku-ios-at-next.connpass.com/event/19921/ Swift 2とObjective-Cの組み合わせについて
New Objective-C Features for Swift 2.0
New Objective-C Features for Swift 2.0
Goichi Hirakawa
New Objective-C Features for Swift 2.0
Objective-C Generics
Objective-C Generics
Goichi Hirakawa
potatotips (iOS/Android開発Tips共有会) 第22回 Objective-C Generics 完全版
Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法
Tomoki Hasegawa
06/25開催のSwiftLT会の発表資料です。 発表時からはスクリーンショットなど削除してコア部分のみに絞っています。 下記スライドもあわせてご覧下さい。(このスライドの更新・増補版です) http://www.slideshare.net/hasegawatomoki/swift2014
Objective-C Generics LT version
Objective-C Generics LT version
Goichi Hirakawa
potatotips (iOS/Android開発Tips共有会) 第22回 Objective-C Generics LT版
Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門
Narami Kiyokura
MVP Copmmunity Camp 2014 広島会場の同名セッションの発表資料 当日のUst録画: 前半 : http://www.ustream.tv/recorded/45150865 後半 : http://www.ustream.tv/recorded/45152045
SwiftでObjective-Cコードに立ち向かう
SwiftでObjective-Cコードに立ち向かう
Toshihiro Suzuki
第1回 カジュアル Swift 勉強会 @ 青葉台で発表したあとにフィードバックを受けて手直ししたものです。
これからはじめる SwiftPlayground入門
これからはじめる SwiftPlayground入門
Hiramatsu Ryosuke
↓こちらのチュートリアルが非常に分かりやすいです ---------- ★Swiftで初めてiPhoneゲーム開発する人向チュートリアル(マルバツゲームを例にStep by Step解説) http://xavier.hateblo.jp/entry/2014/09/07/144059 ---------- このスライドは第1回 Swift LT会 で話した内容です http://connpass.com/event/6740/
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019
Hiroyuki Mori
.NET Core 3.0で追加されたClient Application Frameworkと.NET Frameworkからのマイグレーションについて
watchOS2 tips
watchOS2 tips
Motoki Narita
http://connpass.com/event/21750/
Obj-CをSwiftにリプレースするお話
Obj-CをSwiftにリプレースするお話
Hitoshi Saito
CyberZ スキルウェンズデー 6月14日発表資料
ReactNativeを語る勉強会
ReactNativeを語る勉強会
yohei sugigami
React Nativeが発表されました。 みんなでファーストインプレッションの交換やもくもくコーディングしましょう! カジュアルな感じでお話しましょう おれはReactNativeをこう思う! ReactNativeのいいところ、わるいところ ObjCのブリッジでどこまで使えるのか プロダクションに投入できそうか もうこんなのをReactNativeで作ったよ etc..
Rubymotionはオススメか?
Rubymotionはオススメか?
Junya Ishihara
pgcafe nite June(プログラマーズカフェ ナイト 2012/06/26)http://www.zusaar.com/event/302152 のときのLTで使用したスライドです。
Realm,rx swift,repro を使ってみて
Realm,rx swift,repro を使ってみて
Daisuke Nagata
メルカリ様登壇内容
Swiftでの関数型プログラミングについて考えていること
Swiftでの関数型プログラミングについて考えていること
Shingo Sato
もくもくiOS勉強会@ネクスト 1周年記念LT会
Win32 APIをてなずけよう
Win32 APIをてなずけよう
Kouji Matsui
プロ生@名古屋 2015.12.12 http://www.kekyo.net/2015/12/12/5418
Swiftによる関数型プログラミング超入門
Swiftによる関数型プログラミング超入門
Hisakuni Fujimoto
関数型プログラミング(Functional Programming=FP)初心者が説明するSwiftによるFP入門の入門です。SICPの第一章を若干意識して作りました。 スライドだけでは何を言いたいのかわかりにくいところもあるので、発表者ノート付きソーステキストも合せてごらんください: https://github.com/fhisa/CocoaStudy/blob/master/20151114/Swiftによる関数型プログラミング超入門.md
LT発表資料
LT発表資料
murajun1978
プログラミング生放送勉強会 第16回@名古屋 LT発表資料
TypeScript による今風の web アプリ開発
TypeScript による今風の web アプリ開発
靖 陣内
Modern development of web application with TypeScript
軽量ASP.NETフレームワークNancy
軽量ASP.NETフレームワークNancy
Narami Kiyokura
2014.03.01に行われた「Room metro #23 大阪」のLTにて発表した資料 http://metrostyledev.net/index.php/event/20131026/
3日時間をもらったのでTypeScriptを触ってみた
3日時間をもらったのでTypeScriptを触ってみた
Yasushi Kato
Microsoft社の新言語TypeScriptについて社内の自主研究発表会で発表した内容です。 対象バージョンは V0.9(2013年10月時点の最新)。 比較対象としてCoffeeScript, Haxe, Dartなどにも触れています。
Xcodeを便利に使って爆速開発する #yxcm
Xcodeを便利に使って爆速開発する #yxcm
Hiramatsu Ryosuke
「ヤフー vs クラスメソッド iOS 炎の7番勝負」で発表したスライド。 開発効率をあげるためのXcodeのtipsを紹介しました。 補足エントリはこちら: http://himaratsu.hatenablog.com/entry/xcode Ustはこちら: http://www.ustream.tv/recorded/44215492
de:code報告
de:code報告
Kouji Matsui
de:code報告 名古屋ソフトウェアセンター 2014/6/7 Microsoft Azure 勉強会 http://www.kekyo.net/2014/06/08/%e3%80%8cdecode%e5%a0%b1%e5%91%8a%e3%80%8d-microsoft-azure-%e5%8b%89%e5%bc%b7%e4%bc%9a/
Swiftで説明する「モナド」:Swiftにおける関数型プログラミングの使い方
Swiftで説明する「モナド」:Swiftにおける関数型プログラミングの使い方
Roy Kim
FPやHaskellのモナドをSwiftを使って説明してみたけど、過去のものなので今はあまり参考にならないかも。それと内容的にも少し修正が必要。
Editorlt
Editorlt
Masaki Suzuki
20201/9/22(水)開催の「エディタ好きは語りたい LT会 - vol.2」の登壇資料です。 https://rakus.connpass.com/event/222477/
Swift入門
Swift入門
聡 中川
Swiftビギナーズ勉強会 第1回 @Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-Edo
Megumi Otani(Czenhe)
2014年11月1日(土) Swiftビギナーズ勉強会+もくもく会が開催されました! アプリ開発は全くの未経験ですが、 これからコツコツSwiftを学んで オリジナルアプリを作ることを目指して頑張りたいと思います。 1回目はアプリ開発に必要な環境や流れ、Swiftの簡単な説明とX-codeの初期画面の説明となります。
Objective-C/Swift コードの共用
Objective-C/Swift コードの共用
Yoichiro Sakurai
2014/10/03 のPixivでの勉強会の発表資料
iOS開発でのおすすめライブラリと管理
iOS開発でのおすすめライブラリと管理
Tomoya Hayakawa
名古屋LT大会での発表資料
Ad
More Related Content
What's hot
(20)
これからはじめる SwiftPlayground入門
これからはじめる SwiftPlayground入門
Hiramatsu Ryosuke
↓こちらのチュートリアルが非常に分かりやすいです ---------- ★Swiftで初めてiPhoneゲーム開発する人向チュートリアル(マルバツゲームを例にStep by Step解説) http://xavier.hateblo.jp/entry/2014/09/07/144059 ---------- このスライドは第1回 Swift LT会 で話した内容です http://connpass.com/event/6740/
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019
Hiroyuki Mori
.NET Core 3.0で追加されたClient Application Frameworkと.NET Frameworkからのマイグレーションについて
watchOS2 tips
watchOS2 tips
Motoki Narita
http://connpass.com/event/21750/
Obj-CをSwiftにリプレースするお話
Obj-CをSwiftにリプレースするお話
Hitoshi Saito
CyberZ スキルウェンズデー 6月14日発表資料
ReactNativeを語る勉強会
ReactNativeを語る勉強会
yohei sugigami
React Nativeが発表されました。 みんなでファーストインプレッションの交換やもくもくコーディングしましょう! カジュアルな感じでお話しましょう おれはReactNativeをこう思う! ReactNativeのいいところ、わるいところ ObjCのブリッジでどこまで使えるのか プロダクションに投入できそうか もうこんなのをReactNativeで作ったよ etc..
Rubymotionはオススメか?
Rubymotionはオススメか?
Junya Ishihara
pgcafe nite June(プログラマーズカフェ ナイト 2012/06/26)http://www.zusaar.com/event/302152 のときのLTで使用したスライドです。
Realm,rx swift,repro を使ってみて
Realm,rx swift,repro を使ってみて
Daisuke Nagata
メルカリ様登壇内容
Swiftでの関数型プログラミングについて考えていること
Swiftでの関数型プログラミングについて考えていること
Shingo Sato
もくもくiOS勉強会@ネクスト 1周年記念LT会
Win32 APIをてなずけよう
Win32 APIをてなずけよう
Kouji Matsui
プロ生@名古屋 2015.12.12 http://www.kekyo.net/2015/12/12/5418
Swiftによる関数型プログラミング超入門
Swiftによる関数型プログラミング超入門
Hisakuni Fujimoto
関数型プログラミング(Functional Programming=FP)初心者が説明するSwiftによるFP入門の入門です。SICPの第一章を若干意識して作りました。 スライドだけでは何を言いたいのかわかりにくいところもあるので、発表者ノート付きソーステキストも合せてごらんください: https://github.com/fhisa/CocoaStudy/blob/master/20151114/Swiftによる関数型プログラミング超入門.md
LT発表資料
LT発表資料
murajun1978
プログラミング生放送勉強会 第16回@名古屋 LT発表資料
TypeScript による今風の web アプリ開発
TypeScript による今風の web アプリ開発
靖 陣内
Modern development of web application with TypeScript
軽量ASP.NETフレームワークNancy
軽量ASP.NETフレームワークNancy
Narami Kiyokura
2014.03.01に行われた「Room metro #23 大阪」のLTにて発表した資料 http://metrostyledev.net/index.php/event/20131026/
3日時間をもらったのでTypeScriptを触ってみた
3日時間をもらったのでTypeScriptを触ってみた
Yasushi Kato
Microsoft社の新言語TypeScriptについて社内の自主研究発表会で発表した内容です。 対象バージョンは V0.9(2013年10月時点の最新)。 比較対象としてCoffeeScript, Haxe, Dartなどにも触れています。
Xcodeを便利に使って爆速開発する #yxcm
Xcodeを便利に使って爆速開発する #yxcm
Hiramatsu Ryosuke
「ヤフー vs クラスメソッド iOS 炎の7番勝負」で発表したスライド。 開発効率をあげるためのXcodeのtipsを紹介しました。 補足エントリはこちら: http://himaratsu.hatenablog.com/entry/xcode Ustはこちら: http://www.ustream.tv/recorded/44215492
de:code報告
de:code報告
Kouji Matsui
de:code報告 名古屋ソフトウェアセンター 2014/6/7 Microsoft Azure 勉強会 http://www.kekyo.net/2014/06/08/%e3%80%8cdecode%e5%a0%b1%e5%91%8a%e3%80%8d-microsoft-azure-%e5%8b%89%e5%bc%b7%e4%bc%9a/
Swiftで説明する「モナド」:Swiftにおける関数型プログラミングの使い方
Swiftで説明する「モナド」:Swiftにおける関数型プログラミングの使い方
Roy Kim
FPやHaskellのモナドをSwiftを使って説明してみたけど、過去のものなので今はあまり参考にならないかも。それと内容的にも少し修正が必要。
Editorlt
Editorlt
Masaki Suzuki
20201/9/22(水)開催の「エディタ好きは語りたい LT会 - vol.2」の登壇資料です。 https://rakus.connpass.com/event/222477/
Swift入門
Swift入門
聡 中川
Swiftビギナーズ勉強会 第1回 @Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-Edo
Megumi Otani(Czenhe)
2014年11月1日(土) Swiftビギナーズ勉強会+もくもく会が開催されました! アプリ開発は全くの未経験ですが、 これからコツコツSwiftを学んで オリジナルアプリを作ることを目指して頑張りたいと思います。 1回目はアプリ開発に必要な環境や流れ、Swiftの簡単な説明とX-codeの初期画面の説明となります。
これからはじめる SwiftPlayground入門
これからはじめる SwiftPlayground入門
Hiramatsu Ryosuke
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019
Hiroyuki Mori
watchOS2 tips
watchOS2 tips
Motoki Narita
Obj-CをSwiftにリプレースするお話
Obj-CをSwiftにリプレースするお話
Hitoshi Saito
ReactNativeを語る勉強会
ReactNativeを語る勉強会
yohei sugigami
Rubymotionはオススメか?
Rubymotionはオススメか?
Junya Ishihara
Realm,rx swift,repro を使ってみて
Realm,rx swift,repro を使ってみて
Daisuke Nagata
Swiftでの関数型プログラミングについて考えていること
Swiftでの関数型プログラミングについて考えていること
Shingo Sato
Win32 APIをてなずけよう
Win32 APIをてなずけよう
Kouji Matsui
Swiftによる関数型プログラミング超入門
Swiftによる関数型プログラミング超入門
Hisakuni Fujimoto
LT発表資料
LT発表資料
murajun1978
TypeScript による今風の web アプリ開発
TypeScript による今風の web アプリ開発
靖 陣内
軽量ASP.NETフレームワークNancy
軽量ASP.NETフレームワークNancy
Narami Kiyokura
3日時間をもらったのでTypeScriptを触ってみた
3日時間をもらったのでTypeScriptを触ってみた
Yasushi Kato
Xcodeを便利に使って爆速開発する #yxcm
Xcodeを便利に使って爆速開発する #yxcm
Hiramatsu Ryosuke
de:code報告
de:code報告
Kouji Matsui
Swiftで説明する「モナド」:Swiftにおける関数型プログラミングの使い方
Swiftで説明する「モナド」:Swiftにおける関数型プログラミングの使い方
Roy Kim
Editorlt
Editorlt
Masaki Suzuki
Swift入門
Swift入門
聡 中川
Swiftビギナーズ勉強会 第1回 @Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-Edo
Megumi Otani(Czenhe)
Similar to How to improve Type-safety in your Objective-C code
(20)
Objective-C/Swift コードの共用
Objective-C/Swift コードの共用
Yoichiro Sakurai
2014/10/03 のPixivでの勉強会の発表資料
iOS開発でのおすすめライブラリと管理
iOS開発でのおすすめライブラリと管理
Tomoya Hayakawa
名古屋LT大会での発表資料
HOME'Sアプリ Swift化
HOME'Sアプリ Swift化
LIFULL Co., Ltd.
dots.勉強会資料
XcodeのTargetについてのTIPS
XcodeのTargetについてのTIPS
Yoichiro Sakurai
TIPS for xcode target
Macアプリのインストーラ作成ツールSwift版
Macアプリのインストーラ作成ツールSwift版
Akira Hayashi
2017/05/15に開催されたBUKURO.swift x AKIBA.swift 合同勉強会の発表資料です。
第1回 コデアルiOSアプリ勉強会
第1回 コデアルiOSアプリ勉強会
codeal
Swift事情2014夏 ~ Swift入門 beta6対応
Swift事情2014夏 ~ Swift入門 beta6対応
Tomoki Hasegawa
過去の勉強会で発表した「SwiftによるiOS開発再入門」「Objective-CプログラマのためのSwift導入法」を再構成して現時点で最新(beta6)仕様にアップデートしたものです。
Inside of swift
Inside of swift
LINE Corporation
LINE DEVELOPER DAY 2017 C-1
RFC Viewer開発を通して学ぶ!! iOS開発のパターン化
RFC Viewer開発を通して学ぶ!! iOS開発のパターン化
幸雄 村上
RFC Viewer開発を通して学ぶ!! iOS開発のパターン化 http://atnd.org/events/43950 http://www.zusaar.com/event/1077005
アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)
アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)
Takashi Sogabe
デブサミ2014 2月14日 14-E-3 「アプリケーションエンジニアのためのクラウドインフラ再入門」 (2/3) 講演資 吉田さん、曽我部、輿水さんの順で発表した資料の2つめ(OpenStack編)になります 輿水さんの資料: http://www.slideshare.net/samemoon/20140214-dev-summit20140214
Microsoft DevOps Hackathon (Sep 2015) Team 4 Presentation
Microsoft DevOps Hackathon (Sep 2015) Team 4 Presentation
Yuichiro Saito
2015-09-05~06 @ Microsoft Japan
既存Objective-CプロジェクトをSwiftに移行した時ハマったこと
既存Objective-CプロジェクトをSwiftに移行した時ハマったこと
apuruni
既存Objective-CプロジェクトをSwiftに移行した時の経験を簡単に紹介する
Webの仕組みとプログラミング言語
Webの仕組みとプログラミング言語
Yossy Taka
Webデザイナに必要なWeb知識 プログラミング言語の種類、FTP、.htaccessなどを説明
既存プロジェクトにSwiftLintを導入した話
既存プロジェクトにSwiftLintを導入した話
akatsuki174
2016/02/09 Kyobashi.swift#1
Office365 api dev_20140624
Office365 api dev_20140624
Seiji Noro
React NativeでTwitterクライアントを作ってみよう
React NativeでTwitterクライアントを作ってみよう
dcubeio
2016年12月8日に開催した勉強会で使った資料です。 TwitterAPIを使ってTwitterクライアントをReact Nativeで実装することを通して、 コンポーネントの特徴理解やパフォーマンス、ストレージなどについて解説を行います。
Xamarin 概要 2014年08月版
Xamarin 概要 2014年08月版
Yoshito Tabuchi
Xamarin の概要紹介資料です。Xamarin 3 も発表され暫くたちますのでどんどん使いやすくなる Xamarin の今の情報を纏めました。
モバイル開発者から見た サーバーレスアーキテクチャ
モバイル開発者から見た サーバーレスアーキテクチャ
Takaaki Tanaka
yidev 21での発表資料です
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ
聡 中川
第1回コデアルiOSアプリ勉強会-Programming24- スライド資料 http://engineer-intern.jp/archives/15923
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
Mori Shingo
Objective-C/Swift コードの共用
Objective-C/Swift コードの共用
Yoichiro Sakurai
iOS開発でのおすすめライブラリと管理
iOS開発でのおすすめライブラリと管理
Tomoya Hayakawa
HOME'Sアプリ Swift化
HOME'Sアプリ Swift化
LIFULL Co., Ltd.
XcodeのTargetについてのTIPS
XcodeのTargetについてのTIPS
Yoichiro Sakurai
Macアプリのインストーラ作成ツールSwift版
Macアプリのインストーラ作成ツールSwift版
Akira Hayashi
第1回 コデアルiOSアプリ勉強会
第1回 コデアルiOSアプリ勉強会
codeal
Swift事情2014夏 ~ Swift入門 beta6対応
Swift事情2014夏 ~ Swift入門 beta6対応
Tomoki Hasegawa
Inside of swift
Inside of swift
LINE Corporation
RFC Viewer開発を通して学ぶ!! iOS開発のパターン化
RFC Viewer開発を通して学ぶ!! iOS開発のパターン化
幸雄 村上
アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)
アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)
Takashi Sogabe
Microsoft DevOps Hackathon (Sep 2015) Team 4 Presentation
Microsoft DevOps Hackathon (Sep 2015) Team 4 Presentation
Yuichiro Saito
既存Objective-CプロジェクトをSwiftに移行した時ハマったこと
既存Objective-CプロジェクトをSwiftに移行した時ハマったこと
apuruni
Webの仕組みとプログラミング言語
Webの仕組みとプログラミング言語
Yossy Taka
既存プロジェクトにSwiftLintを導入した話
既存プロジェクトにSwiftLintを導入した話
akatsuki174
Office365 api dev_20140624
Office365 api dev_20140624
Seiji Noro
React NativeでTwitterクライアントを作ってみよう
React NativeでTwitterクライアントを作ってみよう
dcubeio
Xamarin 概要 2014年08月版
Xamarin 概要 2014年08月版
Yoshito Tabuchi
モバイル開発者から見た サーバーレスアーキテクチャ
モバイル開発者から見た サーバーレスアーキテクチャ
Takaaki Tanaka
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ
聡 中川
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
Mori Shingo
Ad
How to improve Type-safety in your Objective-C code
1.
How to improve
Type-safety in your Objective-C code ∼ Swiftから安心して使えるObjective-Cの書き方 ∼ 2015.10.21 Shibuya.swift #1 LT
2.
自己紹介 • 行木 千春(なめき
ちはる) • iOS, OS X, Audio Processing • Twitter, GitHub: @Ridwy • CyberAgent, Inc. • Amebaアプリ作ってます
3.
新規アプリを作るならObjective-CよりSwift Objective-Cの利用シーン • 既存Objective-CのプロジェクトをSwiftに書き換える • Objective-Cにしかない機能を利用する Method
Swizzling method_exchangeImplementations() • C++のコードを(Swiftから直接使えないので)ラッピングする • 諸事情でライブラリの実装を隠 したい • Swift未サポートの環境に向けた開発
4.
SwiftとObjective-Cの大きな違い • Type-safe, 厳格な型チェック •
Optional Type-safe Swift foo as! ASubclass ❌ Objective-C (ASubclass *)foo; 可 • 型の扱いはプログラマに委ねられ るところが大きい • nilになる場合を考慮しながら書く
5.
SwiftからObjective-Cを使うと 結合部分に注意が必要 Swift Objective-C Type-safe Type-unsafe !? 想定しない型が来る可能性
6.
よくあるバグ ! がついたプロパティの値がnil Unwrapping失敗! Swift Objective-C Objective-CのヘッダをSwiftに変換すると デフォルトで変数は implicitly
unwrapped optional 型
7.
使いにくいインターフェース これを使おうとすると… Objective-C Swiftでは型を明確に しなければならない 変換が入っていまいち Swift
8.
Appleからの解決方法! Objective-Cにアノーテーションをつける _Nullable & _Nonnull •
ポインタの後ろに付ける • nilになるものには_Nullable • そうでないものは _Nonnull • ポインタのポインタには都度付ける
9.
プロパティとメソッドについては以下の書き方もできる Nullability修飾子 Swift nullable NSDate? nonnull
NSDictionary null_resettable NSArray! ※ ヘッダファイルに1箇所指定すると、同じファイル内のすべての 場所に指定が必要になる ※ NS_ASSUME_NONNULL_BEGIN と NS_ASSUME_NONNULL_END で囲むと省略可能 (nonnullになる)
10.
Collectionの要素の型も記述できる Objective-C Swift NSArray<NSString *>
[String] NSDictionary<NSString *, NSData *> [String : NSData] 😃
11.
• Swift側でアクセスしようとした時にクラッシュ! doesNotRecognizeSelector: • Objective-C側を直すしかない 頑張りましょう アクセスしなくても スコープを抜ける時にクラッシュしていた 参考:Swift
1時代 Swift 2.0で改善された模様 例えばObjective-Cが本来と違う型を返してきたら... 実装はObjective-C側に委ねられる⚠
12.
• Swiftから利用する時の安全性・便利性が上がった • Objective-Cのヘッダとしても分かりやすくなった •
nilになることを想定しているかどうかが一目でわかる • コレクションが保持する型も一目でわかる これまではドキュメントに書くしかなかった…。 • Objective-Cを知らない人からもコメントをもらえた! アノーテーションをヘッダにしっかり記述したら… これからのObjective-Cには極力書いていくと良さそう 保証は自前なので返す型には気をつけよう
13.
ご静聴ありがとうございました
Download