SlideShare a Scribd company logo
1 of 16
Download to read offline
値変換
                           NSValueTransformer


                    Cocoa勉強会�#18�/�2006.06.03�(土)�




Powered�by�Rabbit�0.6.3�and�COZMIXNG
値変換とは?
 その名のとおり、値を変換
 バインディングのビュー/コントローラとモ
 デル間
モデル/コントローラのコードを減らすことが
できる




                    1/15
歴史
〜10.2�Jaguar
 NSFormatter
10.3�Panther
 Cococa�Bindings�導⼊
 NSValueTransformer�導⼊
10.4�Tiger
 あまり変化してない?


                         2/15
値変換の使いかた
Interface�Builder�で名前を指定




                           3/15
値変換の概要・しくみ
ADC�の「Cocoa�バインディングの仕組み」�参照
http://developer.apple.com/jp/documentation/cocoa/
Conceptual/CocoaBindings/Concepts/
HowDoBindingsWork.html




                                                     4/15
値変換のAPI
三浦⼀樹さんによる「Introduction�to�Value�
Transformers」の和訳�参照
http://homepage.mac.com/mkino2/panther/
ValueTransformers/ValueTransformers.html




                                           5/15
値変換を自作する
 



(省略)
 
さきほどのドキュメントを参照のこと




                    6/15
値変換の種類
 両⽅向
  単位や型の相互変換
 ⽚⽅向(モデル->ビュ­)
  表⽰の調整(値->アイコンなど)
  ビュ­のロジック



                     7/15
標準の値変換
以下の4つ(10.4現在)
 NSNegateBooleanTransformer
  NSIsNilTransformer
  NSIsNotNilTransformer
  NSUnarchiveFromDataTransformer




                                   8/15
論理値(YES/NO)
 NSNegateBooleanTransformer
 NSIsNilTransformer
 NSIsNotNilTransformer
enabledやhiddenにバインディングするとき、
便利




                              9/15
なんでもNSDataに
 NSUnarchiveFromDataTransformer
NSCodingプロトコルに適合していれば、なん
でもNSDataとして保存できる
カラーウェルを使うときに便利。




                                  10/15
他の値変換�-�Examples
/Developer/Examplesにいろいろ
  AppKit/Spotlighter
  AppKit/TemperatureConverter
  Foundation/XMLBrowser
  Sync�Services/MediaExample
  Xgrid/GridSample


                                11/15
Temperature�Converter




                   12/15
Spotlighter




              13/15
他の値変換�-�⽊村作
昔つくったもの。(EditCast)




                     14/15
おしまい
       表⽰を⽣の値でなく、加⼯したいときに便利
       頼りすぎると、コード中でも変換しないとい
       けないので注意(そういうときは、デザイン
       を⾒直したほうがよいかも)




Powered�by�Rabbit�0.6.3�and�COZMIXNG
                                       15/15

More Related Content

Viewers also liked

らくらくアップデートSparkle
らくらくアップデートSparkleらくらくアップデートSparkle
らくらくアップデートSparkleWataru Kimura
 
Hotkeyslib3 Cocoaでホットキー
Hotkeyslib3 CocoaでホットキーHotkeyslib3 Cocoaでホットキー
Hotkeyslib3 CocoaでホットキーWataru Kimura
 
InputMethodKitで入力プログラムをつくろう
InputMethodKitで入力プログラムをつくろうInputMethodKitで入力プログラムをつくろう
InputMethodKitで入力プログラムをつくろうWataru Kimura
 
InputMethodKit超入門
InputMethodKit超入門InputMethodKit超入門
InputMethodKit超入門Wataru Kimura
 
OS X DYLD_* environments
OS X DYLD_* environmentsOS X DYLD_* environments
OS X DYLD_* environmentsWataru Kimura
 

Viewers also liked (6)

らくらくアップデートSparkle
らくらくアップデートSparkleらくらくアップデートSparkle
らくらくアップデートSparkle
 
Hotkeyslib3 Cocoaでホットキー
Hotkeyslib3 CocoaでホットキーHotkeyslib3 Cocoaでホットキー
Hotkeyslib3 Cocoaでホットキー
 
InputMethodKitで入力プログラムをつくろう
InputMethodKitで入力プログラムをつくろうInputMethodKitで入力プログラムをつくろう
InputMethodKitで入力プログラムをつくろう
 
InputMethodKit超入門
InputMethodKit超入門InputMethodKit超入門
InputMethodKit超入門
 
Clang Modules
Clang ModulesClang Modules
Clang Modules
 
OS X DYLD_* environments
OS X DYLD_* environmentsOS X DYLD_* environments
OS X DYLD_* environments
 

Similar to 値変換

ServiceMesh と仲間たち 〜Istio & Conduit & Linkerd〜 @Cloud Native Meetup Tokyo #1
ServiceMesh と仲間たち 〜Istio & Conduit & Linkerd〜 @Cloud Native Meetup Tokyo #1ServiceMesh と仲間たち 〜Istio & Conduit & Linkerd〜 @Cloud Native Meetup Tokyo #1
ServiceMesh と仲間たち 〜Istio & Conduit & Linkerd〜 @Cloud Native Meetup Tokyo #1Masaya Aoyama
 
Head toward Java 15 and Java 16
Head toward Java 15 and Java 16Head toward Java 15 and Java 16
Head toward Java 15 and Java 16Yuji Kubota
 
Qlik composeを利用したDWH構築の流れ
Qlik composeを利用したDWH構築の流れQlik composeを利用したDWH構築の流れ
Qlik composeを利用したDWH構築の流れQlikPresalesJapan
 
async/await不要論
async/await不要論async/await不要論
async/await不要論bleis tift
 
Mk state in-programming-01
Mk state in-programming-01Mk state in-programming-01
Mk state in-programming-01Miya Kohno
 
Network Programmability and the statefulness/transactionality
Network Programmability and the statefulness/transactionalityNetwork Programmability and the statefulness/transactionality
Network Programmability and the statefulness/transactionalityMiya Kohno
 
Bee Style:vol.006
Bee Style:vol.006Bee Style:vol.006
Bee Style:vol.006spicepark
 
Vb migration partnerデモ資料_api
Vb migration partnerデモ資料_apiVb migration partnerデモ資料_api
Vb migration partnerデモ資料_apiinforteech
 
Angular 4がやってくる!? 新機能ダイジェスト
Angular 4がやってくる!? 新機能ダイジェストAngular 4がやってくる!? 新機能ダイジェスト
Angular 4がやってくる!? 新機能ダイジェストMasahiko Asai
 
Application Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD PatternApplication Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD PatternAtsushi Kambara
 
Rails基礎講座 part.2
Rails基礎講座 part.2Rails基礎講座 part.2
Rails基礎講座 part.2Jun Yokoyama
 
Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -
Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -
Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -歩 柴田
 
FIWARE Real-Time Media Stream processing using Kurento
FIWARE Real-Time Media Stream processing using KurentoFIWARE Real-Time Media Stream processing using Kurento
FIWARE Real-Time Media Stream processing using Kurentofisuda
 
160705-03 RTミドルウエア講習会・名城大
160705-03 RTミドルウエア講習会・名城大160705-03 RTミドルウエア講習会・名城大
160705-03 RTミドルウエア講習会・名城大openrtm
 
20130329 rtm3
20130329 rtm320130329 rtm3
20130329 rtm3openrtm
 
bitbank LT Night #1 fargate blue green deployment
bitbank LT Night #1 fargate blue green deploymentbitbank LT Night #1 fargate blue green deployment
bitbank LT Night #1 fargate blue green deploymentbitbank, Inc. Tokyo, Japan
 
名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例
名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例
名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例Shigeru UCHIYAMA
 
MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良Shinya Sugiyama
 

Similar to 値変換 (20)

ServiceMesh と仲間たち 〜Istio & Conduit & Linkerd〜 @Cloud Native Meetup Tokyo #1
ServiceMesh と仲間たち 〜Istio & Conduit & Linkerd〜 @Cloud Native Meetup Tokyo #1ServiceMesh と仲間たち 〜Istio & Conduit & Linkerd〜 @Cloud Native Meetup Tokyo #1
ServiceMesh と仲間たち 〜Istio & Conduit & Linkerd〜 @Cloud Native Meetup Tokyo #1
 
Head toward Java 15 and Java 16
Head toward Java 15 and Java 16Head toward Java 15 and Java 16
Head toward Java 15 and Java 16
 
Qlik composeを利用したDWH構築の流れ
Qlik composeを利用したDWH構築の流れQlik composeを利用したDWH構築の流れ
Qlik composeを利用したDWH構築の流れ
 
async/await不要論
async/await不要論async/await不要論
async/await不要論
 
Mk state in-programming-01
Mk state in-programming-01Mk state in-programming-01
Mk state in-programming-01
 
Network Programmability and the statefulness/transactionality
Network Programmability and the statefulness/transactionalityNetwork Programmability and the statefulness/transactionality
Network Programmability and the statefulness/transactionality
 
Bee Style:vol.006
Bee Style:vol.006Bee Style:vol.006
Bee Style:vol.006
 
PostgreSQL 9.5 新機能紹介
PostgreSQL 9.5 新機能紹介PostgreSQL 9.5 新機能紹介
PostgreSQL 9.5 新機能紹介
 
Vb migration partnerデモ資料_api
Vb migration partnerデモ資料_apiVb migration partnerデモ資料_api
Vb migration partnerデモ資料_api
 
Angular 4がやってくる!? 新機能ダイジェスト
Angular 4がやってくる!? 新機能ダイジェストAngular 4がやってくる!? 新機能ダイジェスト
Angular 4がやってくる!? 新機能ダイジェスト
 
Application Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD PatternApplication Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD Pattern
 
Rails基礎講座 part.2
Rails基礎講座 part.2Rails基礎講座 part.2
Rails基礎講座 part.2
 
Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -
Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -
Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -
 
FIWARE Real-Time Media Stream processing using Kurento
FIWARE Real-Time Media Stream processing using KurentoFIWARE Real-Time Media Stream processing using Kurento
FIWARE Real-Time Media Stream processing using Kurento
 
160705-03 RTミドルウエア講習会・名城大
160705-03 RTミドルウエア講習会・名城大160705-03 RTミドルウエア講習会・名城大
160705-03 RTミドルウエア講習会・名城大
 
20130329 rtm3
20130329 rtm320130329 rtm3
20130329 rtm3
 
bitbank LT Night #1 fargate blue green deployment
bitbank LT Night #1 fargate blue green deploymentbitbank LT Night #1 fargate blue green deployment
bitbank LT Night #1 fargate blue green deployment
 
名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例
名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例
名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例
 
EMF勉強会
EMF勉強会EMF勉強会
EMF勉強会
 
MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良
 

値変換