カウンターを作ってみた

2010. 02. 20
二週間以上基礎知識のお勉強してきまして、久しぶりの実践です。

iPhone SDKの教科書』に載っているカウンタを作ってみたのですが、カウンター作りは本を読んでいただくとして、フォロー分のみ書きます。

●iPhone SDK 3.1.3

iPhone本体のアップデートはしていましたが、SDKのアップデートを忘れていました。
(2月2日にリリースされています)

ちなみに本体をアップデートしてSDKのアップデートをしていないと、こういう画面が出てきます。

185

この状態ですと実機テストができないので、iOS Dev Centerに行って落としてきましょう。
(iPhone SDK 3.1.3は、Snow Leopard版だけではなくLeopard版もあります)

●Interface Builderの細かい仕様変更

アウトレットやアクションを接続する際、本文では『オレンジ色で囲まれた表示になったら』とありますが、現在(ver3.2.1)では『水色』になっています。

●updateDisplayについて

ラベルへの画面表示を担う『updateDisplay』というインスタンスメソッド。
やっている内容は分かるんですが、CounterViewController.hで宣言もされていなければ、呼び出しで [self updateDisplay]; となっていて、『selfって何?』状態になったので調べてみました。

ちなみに宣言しなくてもコンパイルでエラーも吐きませんし、実行も問題ありません。
逆に宣言だけして実装しないと、コンパイルは通りますが警告は出ます。

●selfについて

ルートクラス(Foundationフレームワークなどの大元)であるNSObjectで宣言されています。
glass-_-onionさん記事によると、『呼び出そうとしている自分のインスタンス内で、メソッドやインスタンス変数を使う』ことを表しているそうです。

いまいちピンときませんが、深追いすると『プロトコルって何?』という話になりそうなので止めました。

●カウンタで使う画像ファイル

著者である赤松正行さんのサイト『akalogue』内に本書のサポートページがあります。
サンプルコードやデザインファイルも置いてありますので、ありがたく使わせていただきます。

●Round Rect Buttonの設定

『ボタン状態のポップアップメニューでNormalを選ぶ』とありますが、このメニューは

186

インスペクタウィンドウのTypeとTitleの間にありますが、メニューの表記が本文と異なっています。

187

『Normal』は『Defaults State Configuration』になっています。

●iPhoneの搭載フォント

iPhoneで使用可能なフォントのリストもアップデートされまして、赤松さんのサイトでも一覧が更新されています

tokoromさんのサイトでは各フォントのイメージも掲載されています。

また、Kanotomoさんの『Cédille』というiPhone Appでは、実機で搭載フォントの確認ができます。

●アイコンの非光沢化

プロパティリストの編集ですが、『UIPrerenderedIcon』というRaw Keyは『Icon already includes gloss and bevel effects』です。

ValueはBooleanに選択せずとも自動でチェックボックスになるので、チェックします。

ただ(私の環境下では)、チェックボックスのON/OFFで『ビルドと実行』をしてもシミュレータも実機も変化しませんでした。

どうもキャッシュか何かに設定が残っているようで、アプリケーションを削除しての再インストールや、シミュレータの再起動でも治りません。

アイコンに変化が無い場合は『iPhoneシミュレータ』メニューから『コンテンツと設定をリセット』でリセットをかけると正常に反映されます。
(実機はリセットすると面倒なことになるので試していません)



参考文献

A Day In The Life/Objective-C 3分クッキング

akalogue/iPhone SDKの教科書

iPhone SDKの教科書―Cocoa Touchプログラミング、最初の一歩iPhone SDKの教科書―Cocoa Touchプログラミング、最初の一歩
(2009/03/18)
赤松 正行

商品詳細を見る






コンパニオン20
0 Comments
Leave a comment
管理者にだけ表示を許可する
Top
0 Trackbacks
Top
Calendar
03 | 2017/04 | 05
Sun Mon Tue Wed Thu Fri Sat
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -
Recent Articles
iTunes


Swift
Categories
Tips
Profile

水月杏香

Author:水月杏香
永遠の初心者プログラマ。

Wish List
WACOM


ARC
Technical Q&A
情報プロパティリストキー
Start Developing iOS Apps Today
BOSE

コンパニオン20
Reference
NSApplicationDelegateプロトコル
NSArrayクラス
NSAutoreleasePoolクラス
NSBundleクラス
NSBundle UIKit追加分
NSCalendarクラス
NSCoderクラス
NSCodingプロトコル
NSCopyingプロトコル
NSDataクラス
NSDateクラス
NSDateFormatterクラス
NSDictionaryクラス
NSEntityDescriptionクラス
NSEnumeratorクラス
NSErrorクラス
NSExceptionクラス
NSFetchRequestクラス
NSFileHandleクラス
NSFileManagerクラス
NSIndexPathクラス
NSIndexPath UIKit追加分
NSKeyedArchiverクラス
NSKeyedUnarchiverクラス
NSKeyValueCodingプロトコル
NSLocaleクラス
NSManagedObjectクラス
NSManagedObjectContextクラス
NSManagedObjectModelクラス
NSMutableArrayクラス
NSMutableCopyingプロトコル
NSMutableDictionaryクラス
NSMutableSetクラス
NSNotificationクラス
NSNotificationCenterクラス
NSNullクラス
NSNumberクラス
NSObjectクラス
NSObject UIKit追加分
NSObjectプロトコル
NSPersistentStoreクラス
NSPersistentStoreCoordinatorクラス
NSPredicateクラス
NSPropertyListSerializationクラス
NSRunLoopクラス
NSSetクラス
NSStringクラス
NSString UIKit追加分
NSTimerクラス
NSTimeZoneクラス
NSURLクラス
NSURLProtectionSpaceクラス
NSURLRequestクラス
NSUserDefaultsクラス
NSValueクラス

UIActionSheetクラス
UIActionSheetDelegateプロトコル
UIActivityIndicatorViewクラス
UIAlertViewクラス
UIAlertViewDelegateプロトコル
UIApplicationクラス
UIApplicationDelegateプロトコル
UIBarButtonItemクラス
UIBarItemクラス
UIButtonクラス
UIColorクラス
UIControlクラス
UIDatePickerクラス
UIDeviceクラス
UIEventクラス
UIFontクラス
UIGestureRecognizerクラス
UIImageクラス
UIImageViewクラス
UIKit Function
UILabelクラス
UINavigationControllerクラス
UINavigationItemクラス
UIPickerViewクラス
UIPickerViewDataSourceプロトコル
UIPickerViewDelegateプロトコル
UIPinchGestureRecognizerクラス
UIResponderクラス
UIScreenクラス
UIScrollViewクラス
UISearchBarクラス
UISearchBarDelegateプロトコル
UISegmentedControlクラス
UISliderクラス
UISwipeGestureRecognizerクラス
UISwitchクラス
UITableViewクラス
UITableViewCellクラス
UITableViewControllerクラス
UITableViewDataSourceプロトコル
UITableViewDelegateプロトコル
UITapGestureRecognizerクラス
UITextFieldクラス
UITextFieldDelegateプロトコル
UITextInputTraitsプロトコル
UITextViewクラス
UITextViewDelegateプロトコル
UIToolbarクラス
UITouchクラス
UIViewクラス
UIViewControllerクラス
UIWebViewクラス
UIWebViewDelegateプロトコル
UIWindowクラス

AVAudioPlayerクラス
AVAudioPlayerDelegateプロトコル

CADisplayLinkクラス
CAEAGLLayerクラス
CALayerクラス

CGAffineTransform
CGBitmapContext
CGColor
CGColorSpace
CGContext
CGGeometry
CGImage
CGPath

EAGLContextクラス
EAGLDrawableプロトコル

Foundation Constants
Foundation Data Types
Foundation Functions

MPMediaItemクラス
MPMediaItemArtworkクラス
MPMediaPlaylistクラス
MPMediaPropertyPredicateクラス
MPMediaQueryクラス
MPMusicPlayerControllerクラス

Randomization Services

System Sound Services
Amazon


OpenGL ES
SQLite
Monthly Archives
Recent Comments
Recent TrackBacks
RSS Link
Visitors
QR Code
QR