[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 08/18 21:51 / Filesize : 212 KB / Number-of Response : 871
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Objective-C [ObjC part:3];



1 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 12:18:31 ]
Objective-C(オブジェクティブ シー)はプログラミング言語の一種。C言語をベースにSmalltalk型のオブジェクト指向機能を持たせた上位互換言語。
 (Wikipedia:ja.wikipedia.org/wiki/Objective-C より)

前スレ
pc11.2ch.net/test/read.cgi/tech/1106983092/
前々スレ
pc5.2ch.net/tech/kako/990/990574267.html

552 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 10:47:24 ]
prm1という変数があってユーザーが入力した値を入れ、メッセージに表示する為の文字列を作りたいと思います。
例:"prm1は不正な入力です。"

sprintfではなくreglibで処理を行なうにはどのようにしたら良いでしょうか。
具体的なコードをここに書いてくださると助かります。

553 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 10:57:59 ]
>>552のこうげき
「かいしんのいちげき!」

>>551の無能さが露呈した。

554 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 11:06:05 ]
hoge.strings
"hoge"="%sは不正な入力です。";

hoge.m
...
id hoge = NSLocalizedStringFromTable(@"hoge", @"hoge", @"hoge");
hoge = [NSString stringWithFormat:hoge, prm1];
fprintf(strerr, "%s¥n", [hoge UTF8String]);
...

てか、文字列操作の細かい部分をchar *でするかどうかの話でしょ?
なんで話変わってんの?

555 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 11:06:47 ]
>>549
>これじゃプロジェクトが座礁してデスマーチにもなる罠。

いやいや多分>>548はプログラマですらないからwww
iPhoneブームで注目度があがるの結構だけど、知ったかぶる廚も多くなるから嫌だね。

556 名前:522 mailto:sage [2008/07/20(日) 11:07:29 ]
>>554 は俺ね。
また勘違いされる所だ(w

557 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 11:08:37 ]
上でlex&yaccの話が出てたと思うけど、文字列操作は字句解析と構文解析のふたつで出来てることが多い。
lexは字句解析のことで、文字列を1文字づつ読み込んでトークン、つまり単語に切り分ける仕事をする。
yaccは構文解析のことで、得られたトークンの意味を推測して構文木を作成する。
で、得られた構文木を元にして文字列の意味を翻訳する。

正規表現は、 テキストの文字列に対してパターンマッチを行う強力な道具です。
TEXTファイル中からある単語を置換/検索するのもパターンマッチです。
例えばyaccを使わないで簡易にキーワード(文法上重要なトークン)を探したいときのパターンマッチを正規表現でやるとか出来ます。
regex、OregKitは正規表現プログラムなのでそういったことが簡単に出来ます。


int sprintf(char *str, const char *format, ... );

sprintfは書式formatにしたがって、printf関数と同様の変換を行った出力を、文字列strに格納します。使えるようになると凄く便利。
char *str : 変換した出力を格納する文字列。
const char *format : 書式指定文字列。


※ 要するに、正規表現は文字列のパターンマッチをするのに対して、sprintf関数は文字列を変換します。だから役割はちがう。

558 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 11:12:15 ]
煽らないと会話してもらえない可愛そうな香具師なのかな?

559 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 11:14:45 ]
あ、あと出来上がった構文木はバックトラッキング(深さ優先探索)を使って各ノードをトラバース(順次訪れる)します。

560 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 11:15:58 ]
夏休みに入った途端に変な子が来たね



561 名前:547 mailto:sage [2008/07/20(日) 11:17:06 ]
>>557
ありがとうございます!
regex,OregKitはsprintfとは使い道が違うものなのですね。
困ったさんのおかげであやうく誤った知識を覚えてしまうところでした。

562 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 11:21:49 ]
例えば、Ruby on RailsみたいなWebアプリでやってるようなことをObjective-Cとかで実現したいとしよう。
プログラムには、字句解析と構文解析をする部分を作成してHTMLやXMLの中から必要な情報を抜き取る必要がある。
そういうときに、パターンマッチで必要な情報を見つける。そして、sprintf関数とかを使って適切な形に仕上げて表示させるという風に使用する。

563 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 11:28:39 ]
XML なら素直に既存の XML parser 使うだろ、普通。

564 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 11:31:52 ]
>>563
じゃ、解説して!
もう疲れてきた。適切な例を考えるのめんどい。

565 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 11:35:32 ]
すまんが>>514が悪あがきしているようにしか見えない。>>564

566 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 11:37:47 ]
>>514じゃないからw
むしろ>>553だろ

おれはちゃんと>>557を書いて説明した。>>514と言われるのは心外だ。

567 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 11:47:41 ]
>>566
すまん。疑心暗鬼になってて。

568 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 12:00:36 ]
lex&yacc⇔flex&bison

569 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 12:27:02 ]
Obj-C 以外の話題で盛りあがるのはやめようよ ...
夏休みだから仕方がないのかな。

570 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 13:18:46 ]
>>569
>夏休みだから仕方がないのかな。
>>495にあるように、この流れは君の嘘が元凶だったんだから反省してくれ



571 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 14:40:24 ]
個人的にはOregKit意外にもCocoaOniguruma軽くて良い感じ。

572 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 00:32:36 ]
>>495 にあげられてるのが全部同じ人だってのはどうしてわかったの?
もしかしてスーパーハッカー?

573 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 12:24:43 ]
単に嘘ついてるのを並べ得たんじゃね
語録としてまとめるのは変だが

574 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 23:08:37 ]
char* としての文字列の操作をしらなくても簡単な Cocoa プログラムは書けるというのは嘘ではないのでは ...
Apple としては C で書くときでも char* じゃなくて CFString つかってくれということだよね。

575 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 05:24:39 ]
>Apple としては C で書くときでも char* じゃなくて CFString つかってくれということだよね。

はぁ?ばかじゃねぇの?

576 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 08:44:13 ]
>はぁ?ばかじゃねぇの?
煽り煽られたいだけじゃなくて、ほんとにそう思ってるなら、
BSD の API じゃなくて Apple 製の C API で、
char* を受け取るものがどういうのがあるか反省してみてください

577 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 09:28:05 ]
stringWithCString?

578 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 09:47:18 ]
>>577
それを使うと"default encoding"が変わったときに
文字化けして死亡するので、使わないでね。というか deprecated in 10.4.
stringWithCString:encoding:

stringWithUTF8String:
を使ってください。お願いだから。
これだけのせいで動かない海外製のフリーウェアに何度も出会っているので ...

579 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 09:54:16 ]
典型的には、OS X の日本語環境では MacJapanese が "default encoding" で、
こいつは円記号とバックスラッシュを区別するので、
海外製の Cocoa でつくったシェルスクリプトのラッパで
不用意に -stringWIthCString: と -cString で行ったり来たりすると
シェルスクリプト内に ASCII code でのバックスラッシュ(0x5c)が
あるべきところにMacJapanese の バックスラッシュ (0x80) が入って
スクリプトが動かなくなったりします ...

580 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 19:55:33 ]
>>574, >>576
オマエの妄想をAppleが言ってるように言うな、この詐欺師が



581 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 21:01:18 ]
でたでた

582 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 21:24:17 ]
>>574
char* としての文字列の操作すら知らなかったら、ほんとに簡単なプログラムしか書けない、というのは嘘ではないよ。

583 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 23:09:04 ]
>char* としての文字列の操作すら知らなかったら、ほんとに簡単なプログラムしか書けない、というのは嘘ではないよ。
まあそれはそうですね。
NSString のメソッドって一杯あるけどなんか微妙に足りないことがしばしば。
Perl/Ruby/Python みたいに
正規表現が標準でつかえればそんな問題もなくなるんだけど。

584 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 23:29:01 ]
ねぇねぇ、なんでいきなりchar*を受け取る「API」の話になるの?このスレ。。
それともわざとか?
釣られた俺?


585 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 23:30:01 ]
>>583
>Perl/Ruby/Python みたいに
>正規表現が標準でつかえればそんな問題もなくなるんだけど。

この人、また来てるのね。正規表現廚。

586 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 23:46:52 ]
>>584
char*を入力したり出力したりするAPIが存在しなければ、char*を使う必要がない。と言いたいんじゃないの?



587 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 06:28:52 ]
「char*を受け取るAPI」と「正規表現」にこだわる思考回路が理解できない件www

588 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 09:00:50 ]
反抗期なんだろ。

589 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 09:12:03 ]
ていうか普通 NSString なんか使わないだろ

590 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 15:16:41 ]
>>574
>>576
>>578
>>579
>>583



591 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 17:08:20 ]
NSString
NSAutoString
NSCString
NSIString
NSMutableString
NSAttributedString
・・・

592 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 20:07:49 ]
Netscapeですか

593 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 07:19:51 ]
Netscape
NetSTEP
NeXTSTEP
NeXTscape
・・・

594 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 08:21:40 ]
ソープのゴム無し

595 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 09:41:26 ]
           バカ専用      普通  ハッカー ウィザード
             ┝ - - - - ┿━━━┿━━━┥
   ∩___∩   /)
   | ノ      ヽ  ( i )))
  /  ●   ● | / /
  |    ( _●_)  |ノ /   今はここら辺クマーー!!
 彡、   |∪|    ,/
/    ヽノ   /

596 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 20:44:47 ]
ゴメンずれてる

597 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 12:45:31 ]
           バカ専用      普通  ハッカー ウィザード
             ┝ - - - - ┿━━━┿━━━┥
                         ∩___∩   /)
                         | ノ      ヽ  ( i )))
                        /  ●   ● | / /
                        |    ( _●_)  |ノ /   今はここら辺クマーー!!
                       彡、   |∪|    ,/
                      /     ヽノ    /

598 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 17:39:05 ]
ごめんずれてる

599 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 21:48:06 ]
            普通      まったり  超まったり dat落ち寸前
             ┝ - - - - ┿━━━━┿━━━━━┥
                            ∩___∩   /)


600 名前:デフォルトの名無しさん mailto:sage [2008/07/29(火) 19:06:09 ]
"\psage"



601 名前:sage [2008/08/20(水) 10:31:33 ]
sage

602 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 05:21:02 ]
すみません。教えてください。
a = [foo bar_A:[s get] B:[s get]];
というステートメントがありまして、いろいろ実験してみますと、
どうもB:[s get]がA:[s get]より先に実行されてるっぽいです。
どうしてなのか知りたいのですが。

603 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 06:02:59 ]
引数の評価の順番って保証されてたっけ?
というか普通は保証されないから理由なんてないと思うよ

604 名前:602 mailto:sage [2008/08/21(木) 08:31:49 ]
>>603
わかりました。ありがとう!

605 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 17:35:38 ]
関数の引数をスタックに積んで渡す場合に逆順に積むと、
呼ばれた側で先頭から配列のようにアクセスできて楽だから。

606 名前:デフォルトの名無しさん [2008/08/22(金) 23:33:22 ]
>>605
それでいくと、IntelとPowerPCで動作が変わるのかな?

607 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 00:28:29 ]
エンディアンは関係ないから・・・

608 名前:デフォルトの名無しさん [2008/08/23(土) 03:40:36 ]
PowerPCは引数をスタックに積まない。多くの場合は。
その前に、gccは実行効率優先でコードを生成するだろうから、引数のセットアップ順序もケースバイケースになりそうな気がする。
push命令使ってるわけでもないし



609 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 05:04:57 ]
>>608
恥ずかし過ぎて、俺なら明日会社休んじゃう

610 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 05:30:37 ]
>>609
土曜は休みだろ?



611 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 05:38:19 ]
俺は仕事だけどな。

612 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 15:23:24 ]
ttp://developer.apple.com/documentation/DeveloperTools/Conceptual/LowLevelABI/Introduction.html

613 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 02:10:01 ]
この数レスに腹抱えて笑ってもた

614 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 02:28:21 ]
あなたつかれてるのよ…

615 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 03:11:51 ]
伝統的なアレだと、C式は後ろから積んで戻ってから呼び出し側がポップ。
Pascal式は前から積んで呼ばれた先でポップだった。

616 名前:デフォルトの名無しさん [2008/08/30(土) 13:55:06 ]
ttp://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-8.c?view=markup

よくわからん

617 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 15:59:01 ]
「nul」を「にるぽ」と呼ぶスレ

618 名前:デフォルトの名無しさん [2008/09/08(月) 19:07:19 ]
>>617
nil じゃね?

619 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 19:19:35 ]
うふふ。すごくにるにるしてるわヨ。

620 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 15:47:58 ]
ににる にる にる ににるに〜
ににる にる にる ににるに〜





621 名前:デフォルトの名無しさん [2008/09/09(火) 21:15:37 ]
なあ、もうちょっとまじめにやらないか?

622 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 22:32:50 ]
3時間後の発表でiPod全機種のOSがiPhoneに移行したらObjective-Cの仕事が激増するかな。
ローコストモデルでは通信できない可能性が高いからプログラマとしては魅力ないのかな?
もっともNDAがあるから職業プログラマは話せないと思うけど

623 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 22:52:44 ]
iPhoneでファイルの読み書きってどうすんの?
NSDataオブジェクト作ってwriteToFileすりゃいいってのはなんとなくわかるんだけど…。

624 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 02:39:39 ]
GNUStep の AppKit っていつから LGPL になったの?
以前は GPL だった気がするけど、勘違いかな...

625 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 20:58:09 ]
まあ、LGPLのほうが使いやすいからいいじゃん

626 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 15:07:40 ]
Unicodeで
\u3042\u3044\u3046
とエスケープされた文字を
あいう
と変換する方法をご教示ください。

627 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 22:21:26 ]
初心者です。
cocoaはmvcによって
アプリを開発していくことはよく分かりました。

ただIBで作成したNSViewに直接modelで作成したクラスを割り当てると
この場合controllerを解しているわけではないですよね?

そういう解釈で良いんですか?

628 名前:627 mailto:sage [2008/09/27(土) 22:23:12 ]
>modelで作成したクラス・・・

というよりxcodeで記述したクラスといったほうがいいのかな?


629 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 23:12:46 ]
どんなクラスか知らんけど
通常、1クラスしか使わない場合、
ないのはモデルということになる。

630 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 00:50:56 ]
Unicodeで
¥u3042¥u3044¥u3046
とエスケープされた文字を
あいう
と変換する方法をご教示ください。



631 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 00:53:18 ]
どっかで見たな

632 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 04:47:43 ]
>>631
ちょっと上でみたよね

633 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 05:09:33 ]
ごめん。俺あんまりわかんないけど

NSLog(@"¥u3042");  // u の前は半角の¥(円マーク)

これだとそのまんまコンソール出力されたけど

NSLog(@"¥u3042"); // u の前は半角の\(バックスラッシュ)

だと、普通に”あ”って出力されたよ。


Unicodeエスケープとかでググれば何か出るんじゃない?
英語で検索した情報多いかもね。

634 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 22:14:05 ]
ポリモーフィズムを実現するに
スーパークラスもサブクラスも
関係ない
id型ひとつあればよい

635 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 23:26:29 ]
普段はゆるーくメッセージング、性能が気になるところはCの関数呼び出し。
Obj-CがあればC++要らんっていうのも分かる。

636 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 08:31:31 ]
この前本屋いったら、UNIXナントカっていう雑誌の特集がObjCだった

637 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 09:06:13 ]
>>636
UNIX magazine の10月号かな

638 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 10:20:26 ]
わかんないけど、季刊誌だったような

639 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 10:31:37 ]
UNIX magazine 2008年10月号
MacからiPhoneまでを網羅するアップルの開発言語Objective-C入——前編
www.ascii.co.jp/books/magazines/unix.shtml

640 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 19:11:30 ]
Objective-Pascal
Object C



641 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 19:53:27 ]
買おうと思ったら1500円したので帰ってきた

642 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 19:55:08 ]
季刊だったのでやっぱ買いに行くことにした

643 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 20:59:23 ]
お店閉まってた><

644 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 15:28:24 ]
買ってきた。
冷静に考えると、2冊分の金で
専門誌買えばよかったかもしれない。

645 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 16:54:44 ]
>>644
読む価値ある?

646 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 16:58:32 ]
前編ってことは1月号でも特集やるのか?

647 名前:デフォルトの名無しさん [2008/10/06(月) 18:16:03 ]
萩原本でいいと思う。

648 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 19:32:01 ]
>>644
言おうと思ったけど黙っていたのに気づいてしまったか

649 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 19:47:03 ]
立ち読みしてきたんだが、「モダンシンタックス」って何?

650 名前:デフォルトの名無しさん [2008/10/06(月) 20:40:16 ]
そりゃおまえ現代文法だろ



651 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 23:25:39 ]
NSViewってコントローラー無くても四角形とか描写できるよね。

あれはなんで?
コード見ても描写を担う関数が仮引数とか受け取ってるみたいだけど・・・・・・・。
一体この仮引数はなんなの?

652 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 23:52:57 ]
>>651
何を引き受けているのかってことかな?

確かにNSViewって不思議。
他のオブジェクトだったらIBとXcodeはアウトレット、アクションとコントラーを介して
つながっているけど、NSViewってクラスでそのままリンクさせることができるもんね。








[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<212KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef