値変換

16

description

2006-06-03 Cocoa勉強会 #18

Transcript of 値変換

Page 1: 値変換

値変換NSValueTransformer

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

Powered�by�Rabbit�0.6.3�and�COZMIXNG

Page 2: 値変換

値変換とは?その名のとおり、値を変換

バインディングのビュー/コントローラとモデル間

モデル/コントローラのコードを減らすことができる

1/15

Page 3: 値変換

歴史〜10.2�Jaguar

 NSFormatter

10.3�Panther

 Cococa�Bindings�導⼊

 NSValueTransformer�導⼊

10.4�Tiger

 あまり変化してない?

2/15

Page 4: 値変換

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

3/15

Page 5: 値変換

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

4/15

Page 6: 値変換

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

5/15

Page 7: 値変換

値変換を自作する 

(省略) 

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

6/15

Page 8: 値変換

値変換の種類両⽅向

単位や型の相互変換

⽚⽅向(モデル->ビュ­)

表⽰の調整(値->アイコンなど)

ビュ­のロジック

7/15

Page 9: 値変換

標準の値変換以下の4つ(10.4現在)

NSNegateBooleanTransformer

NSIsNilTransformer

NSIsNotNilTransformer

NSUnarchiveFromDataTransformer

8/15

Page 10: 値変換

論理値(YES/NO)NSNegateBooleanTransformer

NSIsNilTransformer

NSIsNotNilTransformer

enabledやhiddenにバインディングするとき、便利

9/15

Page 11: 値変換

なんでもNSDataにNSUnarchiveFromDataTransformer

NSCodingプロトコルに適合していれば、なんでもNSDataとして保存できる

カラーウェルを使うときに便利。

10/15

Page 12: 値変換

他の値変換�-�Examples/Developer/Examplesにいろいろ

AppKit/Spotlighter

AppKit/TemperatureConverter

Foundation/XMLBrowser

Sync�Services/MediaExample

Xgrid/GridSample

11/15

Page 13: 値変換

Temperature�Converter

12/15

Page 14: 値変換

Spotlighter

13/15

Page 15: 値変換

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

14/15

Page 16: 値変換

おしまい表⽰を⽣の値でなく、加⼯したいときに便利

頼りすぎると、コード中でも変換しないといけないので注意(そういうときは、デザインを⾒直したほうがよいかも)

Powered�by�Rabbit�0.6.3�and�COZMIXNG

15/15