unsigned

unsigned データ型

unsigned char unsignedChar ;
unsigned shortint unsignedShortInt ;
unsigned int unsignedInt ;

その整数型変数の値は+、-という符号をもたなくなる。
char の場合は-128〜127→、0〜255
short int の場合は-32768〜32767→0〜65535
int の場合は-2147483648〜2147483647→0〜 4294967295

になるのか。なるほど!

静岡が頑張ってるようです:-)

JR 東静岡駅 北側に建設中の、アニメ「機動戦士ガンダム」の「実物大」立像(高さ18メートル)の建設現場が2日、報道公開された。両脚の骨組みや、アニメ上で操縦席がある胸部など約6割が完成。今月中にも全体像が明らかになる見込み。公開は7月24日から来年1月10日まで。

http://mainichi.jp/select/wadai/news/20100603mog00m200014000c.html

あと2ヶ月ほどで完成するのでお台場に観にいけなかった人は見に行くのが良いんじゃないかな。

そもそも何で静岡なん?

って思うかもしれないので、予想ですが、静岡な訳を考えてみた。
ガンダム のプラモデルを作成してる バンダイ の工場(プラモデルを作ってるところ)が静岡にあるんですよ。
バンダイ ホビーセンター|BANDAI HOBBY CENTER
ここではちょこちょこと工場見学とかもやってます。行ってみると面白いらしいです。
http://www.bandai.co.jp/hobbycenter/news/090824/index.html
ガンプラ工場で見た“脅威のメカニズム” (1/2) - ITmedia NEWS

この見学には僕の大学の僕の担当教授が夏の合宿で行きたいと言ってたので全力で拒否しました。(だけど、富士急のガンダムアトラクションに行ってた気がする。。)

タミヤ模型

だけど、静岡 で有名なのって タミヤ模型 な気がする。ってか結構そう思ってる人も多いハズ!
一般に本社を開放し、オフィス見学やアウトレット販売が行われるタミヤ・オープンハウスに行ってみた - GIGAZINE
ホビーショーに合わせて本社をオープンしたらしい。過去の ミニ四駆 から大和までたっぷりみれたらしい。

ってことで

静岡はプラモデルの生産がさかんで、バンダイの工場があるから 東静岡に着たとか。東静岡駅からバンダイの工場はかなり近いです。ぜひ一度足を運ぶといいとおもいます。

でも

個人的にはエヴァンゲリオンが建って欲しかったんですよね。
芦ノ湖は神奈川県にあるわけですが、芦ノ湖の水利権は神奈川県でなく静岡県にある*1らしいので。
もっと言うと最近出たエヴァの映画を観て面白いと思ったからです。

こっからが本題なのですが!

  • 7月24日 第7回 Haskell 読書会 @東静岡 (ガンダムを見る)
  • 8月28日 第8回 Haskell 読書会 @浜松
  • 9月18日 第5回 静岡 ITPro 勉強会
http://d.hatena.ne.jp/ftnk/

ってガンダムを観れる勉強会があるようです:-)
たぶん、チャンスは7/24と予定の第五回の静岡ITProかな。ガンダムを観ながら勉強会が出来るなんて静岡ならではですね:-) 
ってことで、ガンダム1,2,3辺りからしっかり復習をしてHaskell勉強会に参加するのもいいかもしれませんねっ!!

修正

静岡ITPro勉強会の日程が決まったので修正いたしました。9月18日だそうです:-)
ガンダムツアーだかなんかもあるそうです

MPMusicPlayerController

MPMusicPlayerControllerのiPodの音楽を再生する関連のメソッド

メソッド名 動作
play 再生
pause 一時停止
stop 停止
beginSeekingBackward 巻き戻し
beginSeekingForward 早送り
skipToNextItem 次の曲へ
skipToPreviousItem 前の曲へ

もしiPodのようにplayとpauseを一緒のボタンで使えるようにしたかったら、buttonの操作メソッド内で

	if(playbackState == MPMusicPlaybackStateStopped || playbackState == MPMusicPlaybackStatePaused){
		[musicPlayer play];
	}else if(playbackState == MPMusicPlaybackStatePlaying){
		[musicPlayer pause];
	}

って感じで書いて上げれば良い。

そんな感じでボタンを押すとiPodの曲が再生されたり停止するボタン作成

-(IBAction)playButton:(id)sender{
	MPMusicPlaybackState playState = [musicPlayer playState];
	NSError *error ;
	[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:&error];
        //停止してたら再生、再生してたら停止
	if(playState == MPMusicPlaybackStateStopped || playState == MPMusicPlaybackStatePaused){
		[musicPlayer play];
	}else if(playState == MPMusicPlaybackStatePlaying){
		[musicPlayer pause];
	}

        //タイトルとアーティスト名表示 musicTitleとmusicArtistはラベル。
	MPMediaItem *mediaItem = [musicPlayer nowPlayingItem];
	musicTitle.text = [mediaItem valueForProperty:MPMediaItemPropertyTitle];
	musicArtist.text = [mediaItem valueForProperty:MPMediaItemPropertyArtist];
}

って感じになるのかな。playButtonの中にsharedInstanceを書く必要はなかったけど。。

errorの処理ってどうすればいいんだろ。。nilって書いてる人いたけどnilはよくないと思うのでどうなってるのか調べるべきか。

自動でページめくり

iPhone / iPad アプリを書くお仕事が主なお仕事になったので、MacBookOSXの乗ったPCを買おうと思いや2ヶ月がたちました。早く家での実行環境がほしいです、ってここに書いても手元に届くことはないのはわかってます。
あったら、今の必死さがなくなりそうなのでしばらくいいや、とも思ってます。


この2ヶ月間でサーバが1U含め3台ほど増えてますし。不思議な現象ですね。。

       NSArray *imgArray = [[NSArray alloc] initWithObjects:
                                                [UIImage imageNamed:@"hoge.png"],
                                                [UIImage imageNamed:@"huga.png"],
                                                [UIImage imageNamed:@"piyo.png"],
                                               nil]; //array にimageを追加
       UIImageView *animationView = [[UIImageView alloc] initWithFrame:CGRectMake(0,0,768,1024)];


       animationView.animationImages = imgArray;
       animationView.animationDuration = 10.0f; // アニメーション全体

       [self.view addSubview:animationView];
       [animationView setAnimationRepeatCount:1];
       [animationView startAnimating]; 
       [animationView release];  

       [imgArray release];

たくさんある画像などをフリックでつぎつぎ見てくのはよくやるけど自動で出来ないかな?って思って描いてみました。(会社の昼休みに)
これだったら全体を何秒で見たいとかって時に役に立つかなって思ったけど一定のスピードでいってしまうので使えそうにないな。。

最近

Objective-Cを覚え始めてようやくほんのすこぉぉーーーーーーし覚えましたって言えるぐらいまできましたが、スクリプトを書いたことあるけどめっきり使ってないperlを使っていろいろやらなきゃならなくなってきたので困った。。
これからperlの勉強までやるのでに頭のなかがごっちゃになりそうだけど気をつけないとね><。

精神と時の部屋が欲しいですね:-)

画面の対応

画面の固定 - poohtarouの日記

前の記事の続きですが、基本的にiPadは上下左右どこを上にしても画面がくるくるそれに合わせて回転するようにしなくてはいけないらしい。アプリによっては上下だけでも平気らしいけどまだ確認してないのでわからないのですが。

if(interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown){
    return YES;
}else{
    return NO;
}

上下だけ、つまり下のボタンを上にした時画面が180度回転するようにするためこうしておくのがよいのかな、ってことで上と下だけYESを返すようにした。

セッター

UIScrollView *scrollView;
…
//どちらもセッター
[scrollView setBackgroundColor:[UIColor blackColor]];
scrollView.canCancelContentTouches = NO;

まどろっこしい。。
ってか、これ始めてObjective-Cを書いた2ヶ月前ぐらいのコードを今日修正しながら書き直してたんだけど、書き方が混ざってたんだ。
例えば、scroll.canCancelContentTouches = NOなら

scrollView.canCancelContentTouches = NO;
[scrollView setCanCancelContentTouches:NO];

って書き方があってこれみんなどういう使い分けしてるんだろうなぁ。。って思ってます。