メソッドについて

iPhone / iPad アプリ を作っていてメソッドについて思ったことです。

以下のようにメソッドは宣言します。

- (戻り値型) メソッド名 : 仮引数リスト ... ;

戻り値と引数の関係

戻り値も引数もない場合
- (void)hoge{
}
戻り値があって引数がないメソッド
- (NSInteger)hoge{
    return huga;
}
引数が1つあって戻り値がないメソッド
- (void)hoge:(NSString *)huga{
}

メソッド呼び出し
[case3 hoge:@"test"];

引数が1つと戻り値があるメソッド
- (NSString *)hoge:(NSString *)huga{
    return piyo;
}

メソッド呼び出し
NSString *hogehoge = [case4 hoge:@"test"];

引数が2つと戻り値があるメソッド

今までは形式通りだったけど引数が二つだと、メソッド名を書かずに引数二つ並べた「hoge:huga:」となる

- (NSString *)hoge:(NSString *)moji huga:(NSinteger)number{
}

//メソッドの呼び出し
NSString *result = [case5 hoge:@"test" huga:5];

引数が3つ以上でも同じように引数を並べればいいんだけどどっかに資料とかないかな。。

型の前の+と-についてのメモ

- (BOOL) hoge : (string*) huga{
   …
  return YES;
}
+ (BOOL) hoge : (string*) huga{
  …
   return YES;
}

「-」:インスタンスメソッド
「+」:クラスメソッド

ドイツW杯の直前合宿

今日の試合は久々に観てワクワクしたけど、4年前のドイツW杯の直前にドイツとの試合を思いだした。

↓の試合
http://sportsnavi.yahoo.co.jp/soccer/japan/live/jpn_20060530_01.htm

この時もオッ!って思ったんだよね。。

今日の試合

イングランド 2 - 1 日本

http://mainichi.jp/enta/sports/graph/soccer/japan/20100530/

開始早々に遠藤がCKを低く入れて闘莉王が強烈に叩き込んで先制したのをTwitterで知って観ました。結果は残念でしたけど、各選手が競り合いで粘り強さを見せてくれたのはすんごい良かったですね。後半足が止まりだしたのもありましたがこのサッカーが90分できればね。。。


前回と状況は違うと思うので今回はこのままガツガツやって予選突破してほしいですね。:-)

1Uさん。。。

先週もらった1U(PowerApp web)ですが、ようやく時間をとれたので電源入れてみましたがBIOSが立ち上がらなかった。。てかディスプレイが待機状態のままで全く何も表示されない。。

ランプが。。


なんだろなって思って前面を見たら赤いランプが点滅してる。。。三角の中に!マークだから何かしら調子が悪いのだろうとおもうのですが。

  • こいつはとりあえず電源入れると点滅してる。
    • 点滅しないこともある。
  • BIOSが起動しないのか。。

警告ランプみたいなものがついたりつかなかったりしてるってことは接触不慮かなんかかな。。
静岡から千葉まで運送してもらったときとかかな。
とりあえず、もう少し様子を見よう。使えなかった時は残念だけど中身を入れ替えるなどして使うしかないのかな。

フットサル

最近 姉ヶ崎サッカー場でフットサルを定期的にやることにしたっていっても、なんだかんだで、月2ぐらいのペースになりそうですが。。ハチロクフットサル部合わせれば結構運動にはなりますね。

姉ヶ崎でのフットサル

ここでやるとき外人さんが多いんですけどね、意識の違いをよく感じます。サッカーで見ててもわかりますが、ドリブルし出すと自分で行きます。これは、日本人が行かないだけかもしれませんが。そうではなくて守備の時です。彼らはボール持った人からボールを奪いに行く人に向かってアタックって言ってきます。(攻めてドリブルしてる時も言われますが。)
体張ってけってことかな。。(だからって簡単に足を出すと抜かれるので出すのはダメですけどね。)こういとこでも前にいく意識が全く違うんだなって。

実は、フットサルじゃなくてミニサッカーっぽくなってるのですが、ドリブルしてると当たりにきたりします。最初はそれに驚いたのですがなれました。

今日の反省

逃げてたらダメですよね、ってこと。

そんなことを twitter でつぶやいてたら返信がきたのですが、フィジカルが強い方が多くても当たってかなければ強くなりませんよね。フリーでボール貰えるってのはかなり理想ですけど、そんなことほぼありえないです。だからどんな状況でもボール貰ってキープできるように何度転んでももっと戦わうために立ち上がらないとね:-)

まったく関係ないけど、昔こんなこと言ってる人いたなぁって思い出したww

別に社会に出ようが学生だろうが変わらねぇと思うけど、あの、・・・結局ね戦い、だと思うよ人生。
戦わなきゃぁそりゃ、寄ってたかって叩かれて、お終いさぁ。
だから、不安なのはしょうがないけど、自分の足で立つしかねぇんじゃね?
by 細美武士

http://x50.peps.jp/4545333/nbbs/?cn=9&rc=&rows=10

って。。趣味でやってるフットサルでも戦って、仕事では毎日前の日以上に戦い続けていいものを作ってかないとね:-)

apacheの設定

会社のPCに立ててるVMにpoohtarouユーザを作って、/home/poohtarou/public_htmlにCGIなどおいておこうって思ったんだけど

(13)Permission denied: /home/poohtarou/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable

って怒られて最初何が何だかわからなかったんだ。。。でも、インフラ社員の先輩がすぐに教えてくれて解決したんだ。

もともとCentだから/var/www/htmlでそこに置くのもなぁってことで違う場所に設定変えてたんだけどね。そういう変更今までやってなかったからまったくもってびっくりしました。

/home/poohtarouに実行権限をあげれば良かっただけなんですよね。ちなみにそれまでread権限しか持たせてなかった。744かな。でも実際は711でokってことだったらしい。chmod で変更ですね。
先輩とってもうれしかったのですが、readはいらないと言って、chmod -r /home/poohtarou ってやったので自分がホームディレクトリに入れなくなり多少ビビリましたが、だいぶために成りました。ありがとうございます。


夜な夜な家から会社のサーバつっついて遊ぶの止めます><。

今日ふと思いだした。

今までこんな感じでサーバ立てたことなかったって。。
インフラに興味もったのは はてな で働き出してからだし、それまで Ubuntu を使ってただけでWebサーバとか立ててなかったなぁって。
だから、もらったサーバなどで自宅サーバ構築などしてみよう:-)

画面の固定

iPad アプリは上下左右どこを上にしても対応できるようにすると規約に書いてあったので表示(固定)を解除する必要がある。
ちなみに、固定も出来るので、他の iPhnoe アプリにも応用できる。

// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    //return (interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown);
    //return (interfaceOrientation == UIInterfaceOrientationPortrait);
    return YES;
}

このメソッドで決めている。上下左右どこを上にしても対応出来るようにするには BooleanなのでYESを返して上げる。

UIInterfaceOrientationPortraitはそのまま上で固定される。
UIInterfaceOrientationPortraitUpsideDownは180°反転する。(逆さま)
UIInterfaceOrientationLandscapeLeftは90°右回転する。
UIInterfaceOrientationLandscapeRightは90°左回転する。

ブラウザ

時々ブラウザとか固定したくなるんですよね。これでつくろうかしら。。

連想配列

先ほど、amachang がたまたまUstしていたのでなんとなく昔に帰ってわからないつもりで聞いてました。
HTMLからだんだん Javascript の話に移っていって、連想配列の話のとき、

var a = ["a":"b", "c":1];
a["a"]; //または、a.a

こんな感じのコードをhtmlに埋め込みつつ連想配列について説明したあと。。。

<body>
  <h1>It's Work!</h1>
  <p>hello</p>
  <script>
   doucument.body.innerHTML
  </script>
</body>

この中のdocument.body.innerHTMLは

document = body{
    'innerHTML':'…(html<body>の中)'
}

こういうことで、って書きながら説明してるのを聞いたときすんごいすんなりと理解できた気がしました。
(わかんないつもりで聞いていて)とってもわかりやすかったです。ありがとうございました:-)
専門用語が多かったのですが、その解説があれば中学生も理解できるのではないのかな、って思いました。


それと、amachangjavascriptブックマークレット を書いてるのを見て楽しそうだなって思ってたら自分もやろうって思えたな。やるぞっ(o^冖^o)