Objective-C(オブジェクティブ シー)はプログラミング言語の一種。C言語をベースにSmalltalk型のオブジェクト指向機能を持たせた上位互換言語。
(Wikipedia:http://ja.wikipedia.org/wiki/Objective-C より)
前スレ
Objective-C [ObjC part:8];
http://peace.2ch.net/test/read.cgi/tech/1356341803/
Objective-C [ObjC part:7];
http://toro.2ch.net/test/read.cgi/tech/1330330906/
Objective-C [ObjC part:6];
http://toro.2ch.net/test/read.cgi/tech/1313891268/
Objective-C [ObjC part:5];
http://hibari.2ch.net/test/read.cgi/tech/1279730299/
Objective-C [ObjC part:4];
http://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
探検
Objective-C [ObjC part:8.1]; [転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
2014/11/01(土) 13:35:17.70ID:12FSUUrY
954デフォルトの名無しさん
2017/11/05(日) 02:41:42.85ID:aeYzbOC4955デフォルトの名無しさん
2017/11/05(日) 09:01:31.81ID:MWh/LW9F >>953>>954
ん?反論が無いなら俺の勝ちだぞ?
ん?反論が無いなら俺の勝ちだぞ?
956デフォルトの名無しさん
2017/11/05(日) 09:17:22.75ID:AsGnkVE4 反論wwさすがキチだな。キチには勝てないよw
957デフォルトの名無しさん
2017/11/05(日) 10:44:57.27ID:+jc3Zkkz958デフォルトの名無しさん
2017/11/05(日) 15:28:55.43ID:vRv6T9rF 既存のObjective-CプロジェクトをObjective-C++にする場合
なんか問題になることってある?
型キャストしろって警告は沢山出てくるけど、それ以外は特に問題ない気がする。
ObjC++化で動作が変わるかどうか一番心配。
なんか問題になることってある?
型キャストしろって警告は沢山出てくるけど、それ以外は特に問題ない気がする。
ObjC++化で動作が変わるかどうか一番心配。
959デフォルトの名無しさん
2017/11/05(日) 16:37:44.96ID:xaHbiVeP 予約語が増えるとか、autoの意味が変わるとか、文字定数の型が変わるとか
関数宣言の引数なし()が可変長引数から(void)と同じに変わるとか
関数宣言の引数なし()が可変長引数から(void)と同じに変わるとか
960デフォルトの名無しさん
2017/11/06(月) 11:33:21.15ID:2AT1utsC C言語からC++への移行手順を参考にすれば問題ない気がする。
Objective-C固有の愛称は特に無い。newキーワードとの関係でNSObject.newが使えないくらいか。[NSObject new]なら問題ない。
Objective-C固有の愛称は特に無い。newキーワードとの関係でNSObject.newが使えないくらいか。[NSObject new]なら問題ない。
961デフォルトの名無しさん
2017/11/06(月) 16:17:54.74ID:d3/PBg+F NSObject.newはちょっと...w
962デフォルトの名無しさん
2017/11/06(月) 16:35:13.68ID:o8TjkfoV NSObject.new って ObjC2.0 の新記法?
963デフォルトの名無しさん
2017/11/06(月) 18:44:32.83ID:d3/PBg+F 新記法ってか...まあ、そうといえばそう
instance.property はコンパイル時に単に [instance property] に置き換えられるってだけで、使用に制限はない(コンパイルエラー/ウォーニングは出ない)。引数なしならなんでもドットで書ける。確か値を返さないのでも( [instance run]; を instance.run; とも)
ドット記法(getter/setter)は単に置き換えられる(setterはset付けられるけど)というのを理解していれば制限は無いので自由っちゃあ自由だが、それは違うだろうという、個人的にw
instance.property はコンパイル時に単に [instance property] に置き換えられるってだけで、使用に制限はない(コンパイルエラー/ウォーニングは出ない)。引数なしならなんでもドットで書ける。確か値を返さないのでも( [instance run]; を instance.run; とも)
ドット記法(getter/setter)は単に置き換えられる(setterはset付けられるけど)というのを理解していれば制限は無いので自由っちゃあ自由だが、それは違うだろうという、個人的にw
964デフォルトの名無しさん
2017/11/06(月) 18:51:06.70ID:d3/PBg+F ああ、クラスプロパティができるようになったから、instance.propertyだけでなくclass.propertyもありな、newはクラスメソッドしかないしclassで書くべきだったな
965デフォルトの名無しさん
2017/11/17(金) 03:39:04.53ID:KuiGlQ+X 関数の頭の+と-ってインスタンス済みか違うかってことと継承できるかどうかのちがい?
どっちがメモリ食いでおそいの?
どっちがメモリ食いでおそいの?
966デフォルトの名無しさん
2017/11/17(金) 07:12:37.67ID:Q8rdVBz+ クラスメソッドとインスタンスメソッド
967デフォルトの名無しさん
2017/11/17(金) 07:49:16.58ID:vXeaPuMS +(void)test{
NSLog(@"C %zu", malloc_size((__bridge const void *)(self)));
}
-(void)test{
NSLog(@"I %zu", malloc_size((__bridge const void *)(self)));
}
メモリサイズ見るとallocしてないからクラスメソッドではセルフのサイズは0になるよ。
速度に関してはメモリ確保しない分クラスメソッドの方が速いだろう
計算だけやらせるとかだけならクラスメソッドの方が良いだろうけど
それならC関数の方が優位
NSLog(@"C %zu", malloc_size((__bridge const void *)(self)));
}
-(void)test{
NSLog(@"I %zu", malloc_size((__bridge const void *)(self)));
}
メモリサイズ見るとallocしてないからクラスメソッドではセルフのサイズは0になるよ。
速度に関してはメモリ確保しない分クラスメソッドの方が速いだろう
計算だけやらせるとかだけならクラスメソッドの方が良いだろうけど
それならC関数の方が優位
968デフォルトの名無しさん
2017/11/17(金) 12:40:32.69ID:Sc6rYFXH staticおじさん
969デフォルトの名無しさん
2017/11/17(金) 12:49:30.17ID:BwXttssD 継承しないなら+が正解なんですね
ありがとうございます。
ありがとうございます。
970デフォルトの名無しさん
2017/11/17(金) 12:56:32.08ID:qbOFfyPG 継承しない?
そもそもクラスメソッドも継承されるけど
そもそもクラスメソッドも継承されるけど
971デフォルトの名無しさん
2017/11/17(金) 13:10:53.82ID:qbOFfyPG NSObject を継承した Test1ClassのクラスメソッドtestFuncは
Test1Class を継承した Test2Classでも呼べるよ
てかクラスメソッドを継承出来なかったらNSObjectのallocも使えなくなるでしょ
@interface Test1Class : NSObject
+(void)testFunc;
@end
@implementation Test1Class
+(void)testFunc{
NSLog(@"call test");
}
@end
@interface Test2Class : Test1Class
@end
@implementation Test2Class
@end
int main(int argc, const char * argv[])
{
[Test2Class testFunc];
}
Test1Class を継承した Test2Classでも呼べるよ
てかクラスメソッドを継承出来なかったらNSObjectのallocも使えなくなるでしょ
@interface Test1Class : NSObject
+(void)testFunc;
@end
@implementation Test1Class
+(void)testFunc{
NSLog(@"call test");
}
@end
@interface Test2Class : Test1Class
@end
@implementation Test2Class
@end
int main(int argc, const char * argv[])
{
[Test2Class testFunc];
}
972デフォルトの名無しさん
2017/11/17(金) 14:46:32.69ID:KuiGlQ+X +でも継承できるんですか
勘違いしてました
すると+と比べて-のメリットは何でしょうか?
勘違いしてました
すると+と比べて-のメリットは何でしょうか?
973デフォルトの名無しさん
2017/11/17(金) 15:37:54.52ID:oYmLZZ1y メリットってか機能が違う
974デフォルトの名無しさん
2017/11/17(金) 17:12:02.46ID:0jV1JJrR OOPSの理解が先だな。OOPS理解すればそんな質問してたのがアホだったと思うだろう
975デフォルトの名無しさん
2017/11/17(金) 17:31:12.22ID:5PrRKVul いやJavaとかから来たらわからんだろうよ
通常のオブジェクトがそれが属するクラスにメソッドを定義することで、それをコールできるのと同様に
Objective-CではSmalltalkやRubyなどと同様に
クラスもまた、自身が属するメタクラス(さらに上位のクラス)にメソッドを定義することでそれをコールできる
メタクラスはクラスとちがって無名なので、便宜上そのクラスへのメソッド定義(インスタンス向け)を - で、
対応するメタクラスへのメソッド定義(そのクラス自身向け)を + で表す決まりになっている
つまるところ、+ と - はそのメソッドが定義される場所(ひいてはそれをコールできるオブジェクト)が違う
通常のオブジェクトがそれが属するクラスにメソッドを定義することで、それをコールできるのと同様に
Objective-CではSmalltalkやRubyなどと同様に
クラスもまた、自身が属するメタクラス(さらに上位のクラス)にメソッドを定義することでそれをコールできる
メタクラスはクラスとちがって無名なので、便宜上そのクラスへのメソッド定義(インスタンス向け)を - で、
対応するメタクラスへのメソッド定義(そのクラス自身向け)を + で表す決まりになっている
つまるところ、+ と - はそのメソッドが定義される場所(ひいてはそれをコールできるオブジェクト)が違う
976デフォルトの名無しさん
2017/11/17(金) 17:50:54.14ID:P19mM9yq UMLの-と+でインスタンスメソッドとクラスメソッドを区別するやつ
Objective-Cが由来なのかな
Objective-Cが由来なのかな
977デフォルトの名無しさん
2017/11/17(金) 17:52:10.61ID:P19mM9yq すまん間違えた
UMLの-と+はパブリックとプライベートだった
UMLの-と+はパブリックとプライベートだった
978デフォルトの名無しさん
2017/11/17(金) 18:38:09.45ID:0jV1JJrR979デフォルトの名無しさん
2017/11/17(金) 18:47:40.32ID:5PrRKVul980デフォルトの名無しさん
2017/11/17(金) 18:53:04.67ID:0jV1JJrR >>979
OOP Style だよ。まあ、OOPでいいけど
言ってるのはクラスメソッドとインスタンスメソッドは違うってだけじゃん?何をそんな小難しく読みづらいっていうw
いきなりJavaだからとかから始まって...あるとしたら、Objective-C固有のかと思ったらそうでもないし
OOP Style だよ。まあ、OOPでいいけど
言ってるのはクラスメソッドとインスタンスメソッドは違うってだけじゃん?何をそんな小難しく読みづらいっていうw
いきなりJavaだからとかから始まって...あるとしたら、Objective-C固有のかと思ったらそうでもないし
981デフォルトの名無しさん
2017/11/17(金) 19:05:43.30ID:5PrRKVul982デフォルトの名無しさん
2017/11/17(金) 19:13:50.64ID:0jV1JJrR >>981
機構/実現方法としてだろ?だから、そんなこと元々のヤツは聞いてないだろって言ってるのに。だからそゆ細かいとこをひけらかすって言ってるのに(「俺には当然」らしいけけど、なんでだったらわざわざ書くのか?)
実際インスタンスメソッドがメインでクラスメソッドなんて書く機会/必要性は割合的になくね?OOPS的にはw
でも、やっぱり必要な場合があるから、なんかあんたが違うと拘ってるけど、クラスメソッドがそれぞれの言語でもあるんだろ?
そゆ意味で元々の俺のレスだよ。なんでそれを否定して細かい違いを言ってるのかいまださっぱりわからん=知識のひけらかしにしかみえんのだけど
機構/実現方法としてだろ?だから、そんなこと元々のヤツは聞いてないだろって言ってるのに。だからそゆ細かいとこをひけらかすって言ってるのに(「俺には当然」らしいけけど、なんでだったらわざわざ書くのか?)
実際インスタンスメソッドがメインでクラスメソッドなんて書く機会/必要性は割合的になくね?OOPS的にはw
でも、やっぱり必要な場合があるから、なんかあんたが違うと拘ってるけど、クラスメソッドがそれぞれの言語でもあるんだろ?
そゆ意味で元々の俺のレスだよ。なんでそれを否定して細かい違いを言ってるのかいまださっぱりわからん=知識のひけらかしにしかみえんのだけど
983デフォルトの名無しさん
2017/11/17(金) 19:32:51.40ID:oYmLZZ1y すーぐ熱くなる
マなんてこんな奴らばかりなんだからお互い無駄に体力使うなよ
コミュニケーション以外の所に能力値振ってるから説明がヘタクソになるんだよ
解説本とかみんなそうだろ
ともあれID: KuiGlQ+Xはメリットデメリットの話する前にそれが存在する理由と
どのような使い分けがあるのかを考える方が良い
マなんてこんな奴らばかりなんだからお互い無駄に体力使うなよ
コミュニケーション以外の所に能力値振ってるから説明がヘタクソになるんだよ
解説本とかみんなそうだろ
ともあれID: KuiGlQ+Xはメリットデメリットの話する前にそれが存在する理由と
どのような使い分けがあるのかを考える方が良い
984デフォルトの名無しさん
2017/11/17(金) 19:34:13.50ID:0jV1JJrR うるせっww
985デフォルトの名無しさん
2017/11/17(金) 19:38:54.65ID:5PrRKVul986デフォルトの名無しさん
2017/11/17(金) 19:42:04.64ID:0jV1JJrR >>985
誰になに言ってるのか不明すぎ
「クラスメソッドの価値を見いだせない」とかいきなり。誰も不要なんて言ってないけど?必要な場合があるって言ってるじゃん?ああ、「なんだか知らんが必要な場合があるんだろうな」と俺が言っているととっているのか??んー、だったら、すげえなww
なんだかどうしても俺を下に見下したいだけにしか見えないんだけど?数スレ前からずっと
誰になに言ってるのか不明すぎ
「クラスメソッドの価値を見いだせない」とかいきなり。誰も不要なんて言ってないけど?必要な場合があるって言ってるじゃん?ああ、「なんだか知らんが必要な場合があるんだろうな」と俺が言っているととっているのか??んー、だったら、すげえなww
なんだかどうしても俺を下に見下したいだけにしか見えないんだけど?数スレ前からずっと
987デフォルトの名無しさん
2017/11/17(金) 19:51:55.22ID:i5UkdOT+ これはID:5PrRKVulがきしょい
988デフォルトの名無しさん
2017/11/17(金) 19:54:52.75ID:5PrRKVul989デフォルトの名無しさん
2017/11/17(金) 19:58:05.03ID:5PrRKVul たぶん自慢げに語るそのOOPSwとやらの説明すらまともにできないのでは?との想像に難くないレベルの低さ
990デフォルトの名無しさん
2017/11/17(金) 20:02:14.50ID:0jV1JJrR >>988
OOPと書かなきゃダメなのか?まあ、一時的にOOPSもあったんだよ。知らないだろうけど
たかがそれだけのことで全否定できるって、さすが細かいとこにこだわるお人だなあ&くだらなさすぎ&本来の話題が逸れすぎだと思うぞ。なんかあんたが心配(自ら自らを貶めているようでw)
長引くようだったら次スレたててw
OOPと書かなきゃダメなのか?まあ、一時的にOOPSもあったんだよ。知らないだろうけど
たかがそれだけのことで全否定できるって、さすが細かいとこにこだわるお人だなあ&くだらなさすぎ&本来の話題が逸れすぎだと思うぞ。なんかあんたが心配(自ら自らを貶めているようでw)
長引くようだったら次スレたててw
991デフォルトの名無しさん
2017/11/17(金) 20:11:22.65ID:oYmLZZ1y 相手を理解しようとしないで自分のペースでしか話せないと苦労するだろう
ようはOOPSって
Object Oriented Programming Styleでしょ?
つまりオブジェクト指向プログラミングについて学べと言ってるんじゃ無いの?
ID:KuiGlQ+Xは、メリットデメリットって言ってるとこからして
オブジェクトを生成するってことを理解してないレベルの話だよねこれ
まずインスタンスにアクセスした事無いからインヘリタンスとか関係ない所でメリットについて疑問が湧いちゃったんだろうし
ようはOOPSって
Object Oriented Programming Styleでしょ?
つまりオブジェクト指向プログラミングについて学べと言ってるんじゃ無いの?
ID:KuiGlQ+Xは、メリットデメリットって言ってるとこからして
オブジェクトを生成するってことを理解してないレベルの話だよねこれ
まずインスタンスにアクセスした事無いからインヘリタンスとか関係ない所でメリットについて疑問が湧いちゃったんだろうし
992デフォルトの名無しさん
2017/11/17(金) 20:15:45.26ID:0jV1JJrR993デフォルトの名無しさん
2017/11/17(金) 20:29:25.96ID:KuiGlQ+X うーん、さっぱりわからないです。すみません。
とりあえずViewcintrollerでは-、汎用クラスは+で使い分けてたんですが、+のがメモリ食わないなら、なるべく+使っとけばいいんでしょうか
とりあえずViewcintrollerでは-、汎用クラスは+で使い分けてたんですが、+のがメモリ食わないなら、なるべく+使っとけばいいんでしょうか
994デフォルトの名無しさん
2017/11/17(金) 20:35:49.15ID:Q8rdVBz+ このかなり根本的なとこから理解してない感w
995デフォルトの名無しさん
2017/11/17(金) 20:37:15.26ID:oYmLZZ1y Viewcintrollerでメモリ使ってるんだから
Viewcintroller内で使うメソッドをメモリのためだけにクラスメソッドにする意味は無いし無意味
といってもまずインスタンスについて理解してないと、この話は進まないだろう
あなたの言う+を使ったメソッドで運用出来てるならそれで良いしそのうち躓くだろうから
そこで気づければ良いね
としか言えない感じの大きな壁があるように感じる
Viewcintroller内で使うメソッドをメモリのためだけにクラスメソッドにする意味は無いし無意味
といってもまずインスタンスについて理解してないと、この話は進まないだろう
あなたの言う+を使ったメソッドで運用出来てるならそれで良いしそのうち躓くだろうから
そこで気づければ良いね
としか言えない感じの大きな壁があるように感じる
996デフォルトの名無しさん
2017/11/17(金) 20:46:44.49ID:KuiGlQ+X クラスは設計図、インスタンスはクラスに基づいて作られた実体と聞きました。
設計図メソッドと実体メソッド?
どっちもおなじことできてるんでなんだろ?と思いました
設計図メソッドと実体メソッド?
どっちもおなじことできてるんでなんだろ?と思いました
997デフォルトの名無しさん
2017/11/17(金) 21:16:54.72ID:Eetf/DNi クラスをメモリーにロードするとインスタンスになるという説明だと
どんな問題が起こるだろうか。
どんな問題が起こるだろうか。
998デフォルトの名無しさん
2017/11/17(金) 21:17:37.30ID:oYmLZZ1y 次スレ
Objective-C [ObjC part:9];
http://mevius.2ch.net/test/read.cgi/tech/1510920033/
リンク多いな
リンク切れは修正or代替サイトに変更しといた
即死回避何個だ?
Objective-C [ObjC part:9];
http://mevius.2ch.net/test/read.cgi/tech/1510920033/
リンク多いな
リンク切れは修正or代替サイトに変更しといた
即死回避何個だ?
999デフォルトの名無しさん
2017/11/17(金) 21:46:24.64ID:KuiGlQ+X ググッてみました。
クラスの中のメソッド間で値の受け渡しが出来るのは、クラスメソッドのメリットですね。
でもインスタンメソッドでも@interfaceで変数定義したら受け渡しができちゃう。
うーん、インスタンスメソッドでいけるとこまでいけば道が開けるんですね
やってみます
クラスの中のメソッド間で値の受け渡しが出来るのは、クラスメソッドのメリットですね。
でもインスタンメソッドでも@interfaceで変数定義したら受け渡しができちゃう。
うーん、インスタンスメソッドでいけるとこまでいけば道が開けるんですね
やってみます
1000デフォルトの名無しさん
2017/11/17(金) 21:48:09.39ID:oYmLZZ1y10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1112日 8時間 12分 52秒
新しいスレッドを立ててください。
life time: 1112日 8時間 12分 52秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 今年の漢字 [ぐれ★]
- 「偽サッチャー」「自滅的」「時代遅れ」 高市首相の経済政策を海外メディアが酷評 ★4 [蚤の市★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ★3 [冬月記者★]
- あぼーん
- 今年の漢字は「熊」に決定! 相次ぐクマ被害 去年は「金」 [冬月記者★]
- 【老舗文具メーカー】「生成AIで制作していた」――サクラクレパス、“AI疑惑”ポスターの調査結果を報告 ★2 [ぐれ★]
- 一人殺したい奴がいる
- __トランプ、G7に代わる「Core 5」構想、米 中 露 印 日をまとめる巨大枠組み、世界秩序の再編につながる可能性 [827565401]
- 残クレタワマン、始まるwwwwwwwwwwwwwwwwwwwwwwwww [329329848]
- 【速報】今年の漢字、「熊」!wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- エアライダーもう誰もやってなくね?
- 【速報】今年のゲームオブザイヤー、Clair Obscur: Expedition 33 [779938112]
