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


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

Objective-C [ObjC part:6];



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

Objective-C [ObjC part:5];
hibari.2ch.net/test/read.cgi/tech/1279730299/

Objective-C [ObjC part:4];
pc12.2ch.net/test/read.cgi/tech/1239721860/

Objective-C [ObjC part:3];
ttp://pc12.2ch.net/test/read.cgi/tech/1186543111/

Objective-C
ttp://pc11.2ch.net/test/read.cgi/tech/1106983092/

Objective-C
ttp://pc5.2ch.net/tech/kako/990/990574267.html

446 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 18:56:46.83 ]
>>445
ここに書くんだから「Appleは」なわけがなでしょ
こんな所にそんなこと書いても何の意味もないじゃん

まさか >443 はそこまで馬鹿じゃないでしょ?

447 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 00:07:55.83 ]
>>445
普通にVSなんていらねえわな

448 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 02:23:20.52 ]
2005くらいのVSはけっこう好きだな。
最近のはVSもXcodeも同じくらいイライラする。

449 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 10:21:24.68 ]
>>446
日本語で

450 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 10:34:05.33 ]
>>449
要点だけにすると

>443 スレ違いだボケ

451 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 11:02:59.02 ]
ocの開発環境の話題なのにスレ違いでもないと思うけど

452 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 11:39:30.02 ]
ここは言語のみでしょ。

453 名前:デフォルトの名無しさん [2011/12/28(水) 12:00:48.56 ]
Cocoa等のフレームワークの話ならまだしも開発環境の話はすれ違いでしょう
フレームを望んでるなら釣れやすい新板の、Xcodeスレがあるし

454 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 15:50:43.04 ]
Cocoaどこの細道じゃ



455 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 19:03:23.65 ]
知らん

456 名前:デフォルトの名無しさん [2011/12/30(金) 22:03:06.26 ]
perlみたいに、NSString *strのなかに直接文字列を放り込む方法ってない?
ダブルクオートを逐一変換するのは面倒なので。

$str =<<EOF;
[生文字列]
EOF

NSString *str = "[ダブルクオートを変換した文字列]";

457 名前:デフォルトの名無しさん mailto:sage [2011/12/30(金) 22:08:33.33 ]
>>456
ない。

458 名前:デフォルトの名無しさん mailto:sage [2011/12/30(金) 22:52:24.85 ]
その内 C++11 に導入された raw string リテラルも使えるようになるんじゃ

459 名前:456 mailto:sage [2011/12/31(土) 00:51:50.38 ]
>>457
ありがと

460 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 02:04:00.13 ]

MuchaSukebeObject Class reference

MSPanty Class

MSObject / MSGoods / MSPanty

- Example -

MSPanty *panty = [[MSPanty alloc]initWithPantyStyle:bikiniStyle];
panty.color = [MSColor romancePinkColor ];
panty.material = [MSMaterial materialWithsatin:0.6 silk:nil cotton:nil nylon:0.2 polyester 0.2 mesh:NO];
panty.size = smallSize;
panty.smell = [MSSmell lightCheeseSmell];
panty.stainOfCrotch = vaginalDischargeWithBrown;
[self.view addSubview:panty];


461 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 02:43:29.78 ]
viewかよ!!

462 名前: 【大吉】 【569円】 mailto:sage [2012/01/01(日) 06:27:36.32 ]
!

463 名前:デフォルトの名無しさん mailto:sage [2012/01/01(日) 11:10:11.78 ]
>>461
あああ悔しー
CもObjective-Cも読めないー
面白さを理解したいー
こんな風にツッコミたいー

464 名前:デフォルトの名無しさん mailto:sage [2012/01/01(日) 15:12:25.87 ]
>>460
こういう例とかセンスで本とかチュートリアル出してくれたら
習得が早いんじゃないかと真剣に思った。





465 名前:デフォルトの名無しさん mailto:sage [2012/01/01(日) 16:33:34.64 ]
キモイ

466 名前:デフォルトの名無しさん [2012/01/01(日) 22:46:34.28 ]
一般論として、(1)よりもゾーンを使う(2)のほうが動作は速い?
速度が速くなるのは、インスタンスのメンバ変数を頻繁に呼び出す場合?

(1)receivedData = [[NSMutableData alloc] init];
 commentArray = [[NSMutableArray alloc] init];
(2)receivedData = [[NSMutableData allocWithZone:[self zone]] init];
 commentArray = [[NSMutableArray allocWithZone:[self zone]] init];

467 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 00:14:14.29 ]
>>466
ゾーンなんて使ったことないし、普通は使う必要ないと思ってる。

468 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 01:25:19.55 ]
NSCreateZone()使ってゾーンを確保してページングが起こっても関連があるもの全部がオンメモリになるようにインスタンスを的確に確保すれば速くなるかもね

469 名前:466 mailto:sage [2012/01/02(月) 05:16:50.75 ]
>>467-468
なるほど。なんとなく感じが分かった。ありがと。

470 名前:デフォルトの名無しさん [2012/01/03(火) 04:41:25.22 ]
NSRegularExpressionOptionsに
NSRegularExpressionCaseInsensitive, NSRegularExpressionDotMatchesLineSeparators
の両方を設定するは、どうやったらできる?

 NSRegularExpressionOptions options = NSRegularExpressionCaseInsensitive;
 NSRegularExpression* regex = [NSRegularExpression regularExpressionWithPattern:regexString options:options error:&error];


471 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 06:09:54.00 ]
論理和

472 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 11:50:46.23 ]
まあ、いまなら普通に足してもいいけど

473 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 12:25:43.40 ]
>>470
NSRegularExpressionOptions options = NSRegularExpressionCaseInsensitive | NSRegularExpressionDotMatchesLineSeparators;

>>471
論理和って普通 || を指すのでは? wikipedia によれば | は「ビット単位OR」らしい。

>>472
それは嫌。

474 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 15:30:42.98 ]
>>473
ORは論理和。ビット幅など関係ない。普通は|を意味するが||も含むと思う。
ただ条件式での優先度が違うでしょ。

>typedef NSUInteger NSMatchingOptions;
まあ足してもいいな。




475 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 15:51:11.65 ]
>>474
|| にはビット幅は関係ないけど、| には関係あるよ。

で、この手の演算には + や - ではなく、ちゃんと | や & を使うべき。
A | B で A と B の同じビットが立ってたら + だと違う結果になるから。

476 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 16:05:11.67 ]
>>475
>>473
>論理和って普通 || を指すのでは?
に関しての見解も聞かせてくれよ。

477 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 16:35:28.82 ]
>>474
>>typedef NSUInteger NSMatchingOptions;
>まあ足してもいいな。
今なら普通に足してもいいってのはちゃんとオプションの今の値を見て書いたんだよ。
型は関係ない
そのうち普通に足すとダメになるかもだし

478 名前:470 mailto:sage [2012/01/03(火) 16:59:34.26 ]
>471-477
ありがとう。



479 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 03:26:05.31 ]
UIlabelのpositionの取得方法ってありますか?

480 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 07:27:16.65 ]
>>479
positionってframeとかboundsの事か?
プロパティで(もちろんメッセージ送っても)取れるけどスレが微妙に違うな。


481 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 09:00:23.18 ]
>>479
Cocoaスレでも、同じこと聞いてたひとかえ?

こっち行ってみな。
[SDK]iPhoneアプリ開発初心者質問箱20[touch][iPad]
anago.2ch.net/test/read.cgi/mac/1321865528/

482 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 12:50:28.01 ]
>>480,481
レスありがとうございます。
移動してみます。



483 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 05:38:28.22 ]
この言語仕様が汚いから変えて欲しいな
シンプルにたのむぜ


484 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 06:13:35.78 ]
字面は汚いと思う



485 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 14:01:56.09 ]
了解で〜す

486 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 22:57:19.00 ]
>>483
むしろ、純粋にCをOOP化してる言語な気がするけどなぁ

487 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 23:25:49.20 ]
C++と比較すればなんて綺麗な言語仕様でしょう

488 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 23:26:57.01 ]
うむ

489 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 23:31:36.94 ]
第1034019283次OOP宗教戦争勃発か…

490 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 23:48:55.47 ]
 いい加減、SmalltalkにCをインラインに書く仕様がした方といいと思うけどな。
XCode4.0以降、実装は実質そうなっているぽいが?


491 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 23:52:24.24 ]
たとえば、今のObjCのどんなとこがいやなの?

492 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 01:06:08.31 ]
(ほとんどの言語がそうだけど)複数の返値を認めてほしいなあとか、思った。

493 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 01:13:19.27 ]
面倒がらずに構造体
エラーとか、別の意味のものを複数ならポインタで十分では

494 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 01:18:18.31 ]
メソッドに複数の戻り値を指定できると便利かもしれんけど、
もし仮にそういう仕様を実現する場合、戻り値の受け記述は
=だけでは表現できなくなっちゃうね

そう言う意味では、構造体を戻り値にした方が確かにしっくり来る



495 名前:493 mailto:sage [2012/01/06(金) 01:25:07.91 ]
luaなんかはこんな感じで=だけで複数戻り値できるけどね

x, y = func();

function func()
return 1, 2;
end

496 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 01:27:11.79 ]
>>495
なんということだ、その手があったか
便利すぎる。。
ところでluaって言語初めて聞いた。。

497 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 01:30:17.14 ]
PHPみたいに、list($a,$b,$c)=func(); じゃ駄目?
aString, bString, cString = [self getTripleStringWithIntA:aInt, bInt:bInt cInt:cInt];
とか出来ると凄く記述が楽になるんだけど。

498 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 01:34:31.03 ]
複数戻り値をもつ言語って結構あるんだな
逆に、カンマ区切りで複数戻り値表記ができる場合の
弊害って何かあんのかね…。

499 名前:493 mailto:sage [2012/01/06(金) 01:40:03.49 ]
>>497
そういう場合は大抵abcに関係があるだろうから、
構造体や辞書で表してもスッキリする気がする。

意味がバラバラなら、今度は順番を気にする必要が出てくる。
これは戻り値だけじゃなくて引数にも言えることだけど、
Objective-cはラベルが付いてるから。

だから、できることがそんなにメリットになるのかな。
できたらそれはそれで、使うだろうけど。

500 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 01:43:57.01 ]
>>499
確かにObjective-Cのメソッドメッセージの表現は、
各引数の意味とメソッド名をかねられる、まれにみる秀逸表現なのに、
複数戻り値にすることによって、結局、
「あれ?2番目の戻り値ってなんだっけ?」
的なことになっちゃうな

501 名前:デフォルトの名無しさん [2012/01/06(金) 02:00:48.52 ]
[self age];

502 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 02:14:04.07 ]
言語仕様はともかく字面は高度に汚いと思う。

503 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 02:15:06.27 ]
>>502
どの辺が?

504 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 02:15:30.59 ]
Scheme で多値は割と便利だけど、Obj-Cで語るのはC言語に多値が導入されてからにしてくれ。



505 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 02:16:04.40 ]
>>504
たすかに
Obj-CはCのスーパーセットだからね

506 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 02:19:55.25 ]
Cでできる記述は、全てObjective-Cコード上でも使える
これが強みじゃない?
Cがわかってる人には、逆に入りやすい言語だと思うのよObj-C

507 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 02:22:57.00 ]
唐突に何今更なことを

508 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 02:24:42.53 ]
メソッドメッセージコールと関数コールが共存してるソース見るとObj-Cらしさを感じる

オブジェクトに対する操作とそれ以外の操作の表現が明確に違うのは、慣れるとわかりやすい

509 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 02:26:01.37 ]
>>503
特に嫌いなのはインデントだな
ずーっと右端の方で固まって、左側がすっかすかになるのがヤダ。


510 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 02:28:01.58 ]
>>509
それ、Obj-Cに限った話か?

511 名前:506 mailto:sage [2012/01/06(金) 02:32:05.66 ]
>>507
す、すまぬ。。

512 名前:デフォルトの名無しさん [2012/01/06(金) 02:57:08.15 ]
obj-cの独特な表現を最初見た時は何じゃこれって思ったけど、
慣れてくると、むしろ癖になる不思議

513 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 07:46:28.70 ]
Obj-CよりC#のがよっぽどいい

514 名前:512 mailto:sage [2012/01/06(金) 08:10:21.73 ]
つまり、Java記法がよいと



515 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 08:43:39.15 ]
間をとってRuby最強!

516 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 10:59:45.74 ]
>>513
DelphiやVisual Basic のような簡単さと

C++の良いところ取りだからね。

これはいいと思うよ。

517 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 11:33:41.62 ]
俺もC#はけっこう好きだな。
お手軽感と強力さが両方ある。

518 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 13:19:46.54 ]
C#は言語そのものよりライブラリが強力すぎる
あれならバカでもプログラミングできる

519 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 13:23:23.02 ]
Cocoaの事か・・・

520 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 13:56:28.55 ]
.NETの話を持ち出すとCocoaのほうが優れてる!と暴れる奴がいるので禁止

521 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 22:28:08.67 ]
アニメーション機能はCocoaの勝ちだな。

522 名前:512 mailto:sage [2012/01/06(金) 22:38:21.13 ]
Core Animationも魅力的だけど、Core Audioも使いこなしてみたい

523 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 23:36:39.85 ]
CoreAudioは悪夢だわ

524 名前:512 mailto:sage [2012/01/06(金) 23:47:14.34 ]
>>523
どゆこと??



525 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 01:42:21.02 ]
>>512
Objective-Cの記法は、独特だけどいいよね

クラスメソッドは先頭に+、インスタンスメソッドは先頭に-をつける
というところも、staticだの何だのつけるよりわかりやすい

// Class method
+ (void)classMethod:(id)arg {
// operation code here ...
}

// Instance method
- (id)method:(NSObject*)arg1 with:(int)args2 {
// operation code here ...
return obj;
}

引数ありメソッドの記法には、慣れるまでは、わかりにくく思えるが、
慣れると、引数の意味がメソッドメッセージ名に含まれてるので、
驚くほどわかりやすい

526 名前:デフォルトの名無しさん [2012/01/07(土) 01:48:49.44 ]
>>525
メソッド呼び出しとかだと

Obj obj = [Obj alloc];
[obj initWithString:@"Hello"];

とかね。
正直、最初見たときは、ものすごい違和感を感じた

Smalltalkやってる人にとってはそうでもないのかもしれないけど。

527 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 02:28:06.02 ]
>>526
init系methodの返り値捨てたらダメだろ
Objのroot classがNS系でない独自仕様ならばその限りではないけど

528 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 02:37:37.39 ]
>>527
NS系なら、こんな感じで入れ子にするよね

※int型変数aの値を出力するとき

NSString *str = [[String alloc] initWithFormat: @"a = %d, a"];
NSLog(str);

それか、+stringWithFormat:使って

NSLog([NSString stringWithFormat: @"a = %d, a"]);

か?w

529 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 02:41:53.46 ]
>>527
あれ?
NSObjectのサブクラスのinit系methodは、

[obj initWithString: @"hoge"];

で、objが参照するオブジェクトを初期化してくれないんだっけ?

530 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 03:29:16.27 ]
してくれる。527は勘違いしてる

531 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 03:52:52.55 ]
obj = [obj initWithString: @"hoge"];

532 名前:531 mailto:sage [2012/01/07(土) 03:56:36.90 ]
>>531と書いてみたけど、やっぱダメだな。

533 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 07:18:54.88 ]
initが失敗してnilを返したときにどうしようも無くなるな。

534 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 09:32:48.32 ]
謹製のクラスクラスタがallocで返すのはファクトリオブジェクトなので使えません。

id obj = [NSString alloc]; // ファクトリオブジェクト
NSLog(@"%@(%p)", NSStringFromClass([obj class]), obj);
obj = [obj initWithString:@"Hello"]; // 文字列を持てる通常のインスタンス
NSLog(@"%@(%p)", NSStringFromClass([obj class]), obj);




535 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 10:03:34.80 ]
で?

536 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 10:09:04.77 ]
説明が足りないな

allocで返されたファクトリオブジェクトは -initXXX 内で
- (id)initXXX
{
id obj = [[Siblingclass alloc] initXXX.];
self = [super init];[self release]; // ファクトリオブジェクトがシングルトンなら不要
return obj;
}
のように自分の親類クラスを生成初期化して返します。
つまり、+allocが返すインスタンスと、-initXXXの返すインスタンスは別物です。

537 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 10:31:24.35 ]
で?

538 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 10:54:56.19 ]
え? ここまで書いても分からないの?

539 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 13:10:18.50 ]
こんなのわかってない奴いんのかよって話
ドヤ顔で書くなよ

540 名前:デフォルトの名無しさん [2012/01/07(土) 13:12:26.99 ]
>>536
そうなの?init(初期化)と言ってるくせにまた内部で+allocしてんの?
んな馬鹿な。。
だったら何のために+allocメソッドがあるの?
initXXXが-initXXXである必要は?
ほんとにそうなら、+allocなんか要らなくて、それこそ、+initXXXで
あってもいい気がするんだが

541 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 13:45:22.05 ]
>539-540
何をどう返せばいいか分からないw

542 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 14:37:35.68 ]
allocationとinitializationの違いがわからない人がいるらしい

543 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 15:34:21.04 ]
馬鹿を馬鹿と見抜けない人には(Objective-Cを使うのは)難しい

544 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 16:19:15.37 ]
UILabelにカスタムプロパティを追加する方法はUILabelのサブクラスを作るしかないのでしょうか?





545 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 16:24:52.92 ]
何を返せばいいかわかんないから個別に答えるか

>>539
>524からの流れを読もうね?
>529,530のような人がいるから書いてるんだよ

>>540
その疑問は確かにそうなのだが、
外部の使う人から見た時どう見えるかとか、
コーディングのバランスの問題とか、
クラスクラスタのルートクラスにファクトリ書くのはどうなの?とか、
The Objective-C Programming Languageでallocとinitはセットで使うように規定されてるとか、
等々の大人の事情だと思ってください


546 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 16:25:12.38 ]
>>544
>>481






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

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

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