2011年04月14日

文字列の比較

今作っているアプリでボタンに表示したテキストで
モード管理をしようとしています。今どのテキスト
を表示しているか判別するために次のようなコード
を書きました。

if (button.currentTitle == @"Start"){
   処理
}


しかし実行してもうまく判別してくれません。デバッ
ガでみても左辺と右辺は同じになっているのですが。

objective-Cでは文字列はこのように比較できないみ
たいです。isEqualToStringを使います。

if (button.currentTitle isEqualToString @"Start"){
   処理
}


これでバッチリ (^o^)v
posted by sasakyu at 21:51| Comment(0) | TrackBack(0) | iOSアプリ開発 | このブログの読者になる | 更新情報をチェックする

2011年04月13日

アプリを広めたい

アプリを公開するとiTunes connectでどの国でどれだけ
ダウンロードされたかわかります。

WhatTimeIsItも世界各国でダウンロードいただいています。

現在の状況は上がったり下がったりで20前後のダウン
ロード数です。しかも日本は1件のみ。

これはアプリのできも当然関係あるのでしょうが、もう
少しこんなアプリがあるでと広めたいと思いました。ど
んな方法があるか調べると下記のサイトが参考になりま
した。

iPhoneアプリの販促活動に関してまとめてみた

この中からまずAppBankにレビューの依頼をメールしま
した。かなり人気のサイトのようです。いつレビューが
載るか。それどころか本当に載るかどうかもわかりませ
んがこれは気長に待つことにします。

それとtwitterの@iphonefan@iphone_dev_jpにつぶやき
ました。これはこのアカウントにつぶやくとそのTLに載
せてもらえるというものです。@iphonefanは4/11から更
新されてませんが、なんでかな?

これらのtwitterにつぶやく時にリンクのアドレスをそ
のまま貼付けると長くなるので短縮アドレスを使うと便
利です。そこでbit.lyに登録しました。これはリンクを
クリックした数をカウントしてくれるので効果の把握に
も使えます。


あと、iPhoneBBSにも書き込みました。これもtwitterを
利用したサービスです。

これだけの書き込みをして半日くらいでリンクのクリック
が44件ありました。どうか使ってくれますように。
タグ:IOS iPhone Xcode
posted by sasakyu at 22:43| Comment(0) | TrackBack(0) | iOSアプリ開発 | このブログの読者になる | 更新情報をチェックする

2011年04月12日

PickerViewの追加

アプリ「WhatTimeIsIt」でも使用していますが、PickerView
はiOSアプリの入力としては非常に便利ではあるのですが、
設定がややこしいので最初は戸惑います。私は下記のサイト
を参考にさせていただきました。


[iPhone]UIPickerViewのdatasourceとdelegateを実装する


1.まずはViewにPickerViewを貼付けます。

2.ViewControllerにPickerViewのDelegateとDataSourceを
追加します。

@interface KukuViewController : UIViewController {

3.controlを押しながらUIPickerViewDataSourceをクリック
 するとメニューが出ます。そこでJump to Definition
 選択します。(XCODE4ではダブルクリックが効きません
 でした。)

@protocol UIPickerViewDataSource
@required

// returns the number of 'columns' to display.
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView;

// returns the # of rows in each component..
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component;
@end


4.requiredとなっている2つをコピーし、ヘッダにペース
 トします。最初のものがPickerViewを何行にするかで、
 次のものが各行の選択肢がいくつずつあるかです。

5.同様にcontrolを押しながらUIPickerViewDelegateをク
 リックし、Jump to Definitionを選択します。

@protocol UIPickerViewDelegate
@optional

// returns width of column and height of row for each component.
- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component;
- (CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component;

// these methods return either a plain UIString, or a view (e.g UILabel) to display the row for the component.
// for the view versions, we cache any hidden and thus unused views and pass them back for reuse.
// If you return back a different object, the old one will be released. the view will be centered in the row rect
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component;
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view;

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component;


6.こちらはOptionalなので何を選んでもいいのですが、
 PickerViewの選択肢のリストを設定するために
 - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component;

 をヘッダにコピー&ペーストします。

7.DataSourceとDelegateをFile's Ownerに関連づけます。
 xibを選択し、Interface BuilderでPickerViewを選択し
 ます。Connections inspectorでそれぞれの右にある○
 からFile's Ownerまでドラッグします。

8.ソースの部分を記述します。まずは列の設定。今回は
 1列のみにします。

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
return 1;
}

9:選択肢の数を設定します。

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
if (component == 0) {
//3行あるとする。
return 3;
}
//エラー処理
return 0;
}


10.次に選択肢の中身ですが、私はうまい方法がわからな
 いので- (void)viewDidLoadにベタに設定しています。

- (void)viewDidLoad{
pickerStr[0] = @"First";
pickerStr[1] = @"Second";
pickerStr[2] = @"Third";


こうしておけば後でローカライズするのも簡単です。
 (もっとうまい方法があるかもしれませんが)

11.PickerViewに代入します。

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
if (component == 0) {
pickerStr[row];
}
}


これで実装できたはずです。

Pickerの内容を取り出すには、
int rowIndex = [pickerView selectedRowInComponent:0]

でインデックスを取得し、配列から取得します。
posted by sasakyu at 15:02| Comment(0) | TrackBack(0) | PickerView | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。