- 1 名前:デフォルトの名無しさん mailto:sage [2014/11/01(土) 13:35:17.70 ID:12FSUUrY.net]
- Objective-C(オブジェクティブ シー)はプログラミング言語の一種。C言語をベースにSmalltalk型のオブジェクト指向機能を持たせた上位互換言語。
(Wikipedia:ja.wikipedia.org/wiki/Objective-C より) 前スレ Objective-C [ObjC part:8]; peace.2ch.net/test/read.cgi/tech/1356341803/ Objective-C [ObjC part:7]; toro.2ch.net/test/read.cgi/tech/1330330906/ Objective-C [ObjC part:6]; toro.2ch.net/test/read.cgi/tech/1313891268/ 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
- 896 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 09:01:59.92 ID:9C7BOStD.net]
- Swiftでの開発時に比べたらほぼないようなものっていうニュアンスで捉えたが
- 897 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 10:22:28.62 ID:YdXqj+6X.net]
- CもObjCもここ数年は仕様変更がないから、コンパイルはそのまま通る。
変なコード書いてなければ動作確認も問題なくパスする。 メンテナンスフリーって言われれば確かにそうかもな。 あとはフレームワークで非推奨にになったメソッド書き換える程度だけど、 これはSwiftと共通の作業だし、そもそもやらなくても動く。 とにかくSwift移行していない俺は毎年高みの見物してる。
- 898 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 13:46:22.66 ID:1qiEqY9+.net]
- deprecatedになってから猶予が結構あるから早めに変えとけばコアコードの変更なんてほとんどないな
あるとしたらレイアウトとかの修正くらい 依存してた関数が消えたり仕様が変わってどうしようもなくなった場合はそもそもなにもしようがない
- 899 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 19:22:37.66 ID:31qHkzGo.net]
- 結局Swiftに移行するメリットがObjective-Cを継続しようするメリットを超えてこない
- 900 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 00:38:42.96 ID:FQgRLXZE.net]
- そもそもObjective-C使いこなしてたような人がSwiftに移行するメリットなんてないしな。
Swift界隈はちょくちょくウォッチしてるんたけど、移行しないで正解だったって日に日に実感する。
- 901 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 02:21:57.64 ID:SqIOY632.net]
- >>878
ObjCもiOSも扱ってないやつの論だなw 近年も言語仕様追加されてるし、メジャーバージョンアップの評価はしないと動かないこと多数だし ObjC, iOSを扱ってなきゃそりゃ高みの見物で終わるだろうよ 結局はメンテフリーじゃないのに極論を振りかざすObjC信者がSwiftスレに来ただけか あの手のアホの子はiOS
- 902 名前:, ObjCを扱ってるのか不安になるよねぇ []
- [ここ壊れてます]
- 903 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 02:30:28.41 ID:SqIOY632.net]
- Swiftは移行するもんじゃなくて、ちょっとかじってApple信者を騙して儲けるモノだったろ
当時はまだジョブズ存命でSwift使う信者もいたから良い商売になった, Swift使ってますで案件大量だった Apple信者が死滅した昨今、Swift使ってますでは案件取れなくなったから、皆ObjCに戻って来てるよな
- 904 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 02:32:56.94 ID:yPwVPo43.net]
- てかSwiftで作られたApple純正アプリってあるの?
そんなに優れてるならAppleが率先して移行するでしょ そういう事
- 905 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 02:40:56.76 ID:EVMVqVHi.net]
- なんかキチすぎてまとに相手する気にもならないが、
Swift 登場時期 2014年6月2日 ジョブズ 1955年2月24日 - 2011年10月5日 らしいよ >>884 まあ、WWDCでのサンプル提示はSwiftオンリーになったような。全部というか一部しか見てないが。サンプルコードもSwiftもぽちぽちあるな どうなんだろな。さすがにAppleもSwiftの変更にははあるかな??まあ、Swiftで作られたApple純正アプリがあっても不思議ではない。探してみようw
- 906 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 07:09:22.48 ID:0pTRGub9.net]
- Swift書くの楽だわ
さっさと移行してよかった
- 907 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 08:05:24.29 ID:uRHGHo1a.net]
- >>886
そうですか では引き続きモダンな言語Swiftをお使い下さい そしてSwiftスレにお帰り下さいませ
- 908 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 07:15:02.28 ID:hNuicHmO.net]
- Apple純正アプリってクローズドソースで探せないだろ
どうやって探すつもりなんだ
- 909 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 08:05:02.62 ID:U1G3k+aG.net]
- >>888
アンカーつけなよ
- 910 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 08:33:50.58 ID:xjQetnPj.net]
- バイナリからもそれなりにわかる。まあ、それなりにだが
とりあえず、SierraではConsole.appがSwiftで書かれている部分はあるみたい。Objective-Cとの混合っぽいし、SwiftとObjective-Cの割合まではまだ推測してないが
- 911 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 09:34:49.05 ID:xjQetnPj.net]
- Console.appはSwiftで作られたと言ってもいいかも。AppDelegateやControllerなんぞメインな部分がSwiftでのクラス(ってことで合ってると思う)
まあ、Utilities内ではConsole.appぐらい/だけなんだがw
- 912 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 09:51:32.67 ID:/IPTP4VW.net]
- そういえばコンソールは使いづらくなったよな
左下のプロセスでの抽出出来なくなって アイコン表示もなくなって やり方が変わったならすまんが 毎回作り替えてんのか使い易くなったり悪くなったり安定しないイメージ
- 913 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:15:13.14 ID:xjQetnPj.net]
- Pagesなんて、Objective-C++のようだなあ。Objective-C++好きにとってはなんか嬉しいw
- 914 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:47:32.34 ID:R3DqYdgN.net]
- Dock.appもSwift製ってどっかでみた
- 915 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:17:21.49 ID:xjQetnPj.net]
- あー、そういうアプリもあるか
Dock.appはガチすぎて(イミフ)明確な手がかりが掴めないなあ。Swift使ってるようだけど。てか、C(Core)をかなーり使ってるっぽい。わからんなw よりも、NotificationCenter.app がSwift製っぽい。確実にかなーりSwiftで書いてるかな とは、別にPangesといいNotificationCenterといいAppleもやらかしてる(ナゾ)んだなと思ったw まあ、厨二くさいのでもうこのへんでw
- 916 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 12:41:15.86 ID:hNuicHmO.net]
- Swiftを使っているかどうかはlibSwift.soにリンクしているかどうかですぐに分かるけど
Swiftだけを使っているかどうかはObjC, Swiftのバイナリコードは類似するんだから分からんだろ それなりにわかるじゃ意味なくて厳密に分からないと無意味な話だろうに
- 917 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 12:44:39.82 ID:qGSPhC6b.net]
- そもそもわかることで何かいいことがあるのかっていうね
- 918 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 13:49:46.99 ID:hNuicHmO.net]
- 分からないことを示すことで、>>885の「探してみようw」のキチっぷりが証明される
分かることに意味はないけど、分からないことには意味があったんよ 逆に、分かることを証明できれば、おいらがキチと証明できるから頑張っても良いんじゃね
- 919 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 19:21:32.85 ID:xjQetnPj.net]
- なんか引き出そうと透けて見える気がするのが嫌w
お前は強く言われたら反発して言うタイプ?なんで、素直に教えてと言えないかなあw気分悪いのでもう具体的には教えてやんないけどw > libSwift.soにリンクしているかどうかですぐに分かるけど 言う通り。でもリンク項目にしてるだけで使ってなくてもあったりするけど、確か(まあ、そんなアホなことしてないだろう) >Swiftだけを使っているかどうかはObjC, Swiftのバイナリコードは類似するんだから分からんだろ 言う通り。だから>>890でそのように言ってるやん。の後にこれはSwiftで作られたと言ってもいいかも(ちゃんとそれでも「かも」)と根拠言ってるやん。根拠探してみ単純なことだから(Pagesはこの単純なことで見えたある意味アホらしいことから) >>895も、Swift製っ「ぽい」だからね。根拠も書いてるでしょ >>897 俺は別にないよ。>>884の「Apple純正アプリってあるの?」っていうのに、どうだろうという興味と、>>890っていうのに全くわからないこともないんじゃねっていう実証だな(具体的に言わんから実証にならんとか言うなよww) 知ってるお人にはなにをもったいつけてんだと思うだろうな。俺もそう思うww
- 920 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 19:26:51.07 ID:xjQetnPj.net]
- あー、>>888の人か。なんだw
たんに噛み付いた(?)のに、否定されてのでか...?気にすんな。なおさら教えないけどww
- 921 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 20:14:20.03 ID:0JlsHB3I.net]
- 急に発狂しだしてどうした。実世界で嫌な事でもあったのか?
- 922 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 20:26:37.49 ID:xjQetnPj.net]
- なんですぐに発狂とか...わからん。まさか、長文書くとか、レス多いとか?だったり?まさかなww
別に嫌なことはない、今暇ってだけだな
- 923 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 23:06:01.97 ID:IvPlqNt/.net]
- どっちで書いても良いけどさ
純正アプリのグダグダは直ったのかい?
- 924 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 10:34:40.67 ID:o9ncCo8n.net]
- 急に長文で笑いつつ読み飛ばした後
日本語がおかしい>>900があって発狂してるんだなって思った。 >>903 ObjCに関係ないけど純正アプリのSafari for macOSは良く出来てると思ってる ChromeやFirefoxよりバッテリー消費少なくてノートで非常に助かる Chromeのバッテリー持ちの悪さはなんなんだろうね, 2倍とまでは行かないけど体感できるレベルで差が出る
- 925 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 16:39:06.49 ID:Wwkr3eYe.net]
- 急に長文もなんも、俺には>>895,896が急にというか何もわかってねーなそのくせにだから、スカしながらの説明をにしたら長くなるっていう。もったいつけてるというのはそゆこと
>>900は>>895,896だけ見てたけど、>>888の発端のヤツかよ完全否定から入って何も読まずにまだ否定だけかよっていうことだよ 長文とか日本語がおかしいとかいいつつ、読むんだなwそんなの読まなきゃいいのに、読めないんだったら(別に読めなくてもいいよ。そこは責めてない。読めないくせに勝手に決めつけんな、めんどくさい) な?わかってないのに説明すると長くなるだろ?お前もお仕事上わかると思うけどw
- 926 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 16:46:18.34 ID:Wwkr3eYe.net]
- × >>895,896
⚪︎ >>896,898
- 927 名前:デフォルトの名無しさん mailto:sage [2017/10/03(火) 20:32:33.93 ID:0liCQr5x.net]
- とりあえず落ち着こ
- 928 名前:デフォルトの名無しさん mailto:sage [2017/10/03(火) 20:48:09.76 ID:d/DK+qf4.net]
- とりあえずおちんこ
- 929 名前:デフォルトの名無しさん mailto:sage [2017/10/03(火) 21:25:04.04 ID:nKRU0XTa.net]
- はあぁ…
- 930 名前:。 []
- [ここ壊れてます]
- 931 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 08:08:33.18 ID:ekjB4cHk.net]
- よし、落ち着いて発狂から解放されて正気に戻ったら>>905を正しい日本語で書き直そう
- 932 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 08:19:44.81 ID:V7FXDajl.net]
- プログラミングの話しようよ
- 933 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 11:04:44.04 ID:e2PGw4tF.net]
- ここも次ワッチョイ推奨
- 934 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 11:18:57.67 ID:Gppgeajp.net]
- Xcode 9の話しようぜ!
- 935 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 17:55:40.67 ID:M+fUbMNH.net]
- Command+Clickが地味に使いづらい、ウザい
俺はあんなハイライトいらん。そんな一目で「終わり」を見る機会より定義の場所にジャーンプの機会の方が圧倒的なので 邪魔なポップアップ出さずにジャンプの指定にできるようになってるのはホッとしたがハイライトも出さないようにしたいなあ、できるのかな?
- 936 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 23:12:36.51 ID:Gppgeajp.net]
- できる。どっかのブログでやりかた見たけど忘れた。
- 937 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 09:44:12.63 ID:NTKdykpp.net]
- ホップ(カーソル移動)、ステップ(ハイライト表示)、ジャーンプ(定義の場所に移動)
Xcode9はよくできてるな!
- 938 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 13:23:23.73 ID:j9fazbko.net]
- 327デフォルトの名無しさん (ササクッテロリ Sp75-2iPL)2017/10/05(木) 08:23:57.77ID:4UOAx4bZp
新しいこと覚えるくらいならビジネスロジックを勉強するよ 言語だのリアクティブだの状態管理だの フルスクリーンアプリじゃユーザーに全くメリットないし 業界に踊らされているだけ Objective-CユーザはObjCの新文法を使わない? genericsとかnilableとか少し古いとblocksやinstancetypeとかAppleに踊らされつつ 同じアホなら踊らにゃ損々と便利に使ってるけど
- 939 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 14:56:32.48 ID:DCONgPWB.net]
- 人それぞれ。そう言うヤツもいるとなぜ思わないのか?開発向かないか業界病で頭が単純化しすぎ病なのか?w
こっちに持ってこないで、言う本人に言いなさい
- 940 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 14:13:25.71 ID:qhLWaNhq.net]
- Xcode 9でリファクタリング強化されたって聞いたんだけど、
これってObjective-Cでも使えるの? 使えるなら俺一生ObjCに付いていく。
- 941 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 22:02:02.32 ID:FHIJEXWg.net]
- Objective-Cで使えないってことはないだろうさすがに
- 942 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 22:56:31.41 ID:R7tcOQE1.net]
- >>918
だって、あっちだとスレチじゃんw 基本的にはObjCユーザもAppleに踊されてるって理解で良いのかな?
- 943 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 00:41:25.81 ID:U7UMp42z.net]
- 馬鹿すぎで哀れ
- 944 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 11:12:08.07 ID:s04ZU/0N.net]
- なんだろう、個人的にはSwiftやるならObjective-Cの方がいいと思う
Cの勉強にもなるし Swiftは潰しがきかん
- 945 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 12:02:44.93 ID:TgSupA0z.net]
- Swiftは相変わらずABI安定してないし、世代交代もまだまだ先という感じがする。
C言語やっておいて損はないというのは今も昔も変わってない気がする。 SDKの活用や今後のモバイル市場の縮小を考えると、Swift一本で戦うのは難しい。 教養とスキル構築のためにObjective-Cを選択するのはありだと思う。
- 946 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 19:06:32.91 ID:3FUN2GAU.net]
- Cが学べるってのは大きい。
昔はCに変なアレルギー持ってたけど、最近は割りといい言語だと思えてきた。
- 947 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 20:04:23.45 ID:M3+oH0ZC.net]
- Cは高級アセンブラだからね
能力がある人ほどマシンの性能をより高く発揮できるプログラムが書ける 細かな操作もできるから特に組み込み系などのプログラミングでは依然としてCが多いのものそれが理由
- 948 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 20:54:59.95 ID:3I5kECbD.net]
- objcで書いてたはずなのに最適化しまくって結局中身Cの関数とコールバックばかりになるよな
- 949 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 21:02:24.61 ID:xjGA/sOA.net]
- 人間のためにオブジェクト指向でかけるようにしてあげたCなのでマシン語が結局そうなっても速けりゃ本望
- 950 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 21:04:56.88 ID:3I5kECbD.net]
- >>926
今どきの組み込みはほとんどC++だぞ
- 951 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 21:06:41.85 ID:M3+oH0ZC.net]
- 組み込み系もObjective-Cにしようぜ
- 952 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 21:14:46.21 ID:3I5kECbD.net]
- >>930
clangのARMコンパイラもあるし可能だろ てかiOSはARMだし組み込みとも言える picとかavrとかになるとメモリもクロックも少ないしobjcが使えるメリットが無いな mbedIDEでobjcが使えるようになったらちょっとだけ嬉しいレベル
- 953 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 21:19:00.42 ID:M3+oH0ZC.net]
- >>931
>clangのARMコンパイラもあるし可能だろ >てかiOSはARMだし組み込みとも言える 確かにw pic, avrのレガシーコアの方(not ARM)のMCUはCでいいよね ObjCもいらんしC++もなくてもいい どこぞのArduin○さんもC++じゃなくて正直Cでいいかなって思ってる
- 954 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 21:30:30.49 ID:3I5kECbD.net]
- >>932
物によるけどな atmega328位のスペックならC++使う方が楽かもなぁ容量あるし i2cとかグラフィック描画関係はクラス分けたいし 逆にattinyはC++じゃ入り切らない事があるしそこまで大きい事しない picもUSBホスト機能とか付いてる奴とかの制御はC++使いたい
- 955 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 21:38:10.78 ID:M3+oH0ZC.net]
- ほむ
- 956 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 21:38:49.39 ID:M3+oH0ZC.net]
- C++のところがObjCでもいいけどね個人的には
- 957 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 22:10:57.58 ID:3I5kECbD.net]
- ここら辺のクロック(16MHz位)とかだとシングルスレッドだし一つの命令でのクロック消費がかなり後引くから
objcのメッソッド呼び出しをどう扱うかだな オリジナル通りオーバーヘッドがある状態なら処理速度的に使い物にならないだろうし そこを最適化しちゃうならobjcである必要も無い気もするんだよね
- 958 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 23:52:24.90 ID:M3+oH0ZC.net]
- 言語が高級である意味は人間にとってなわけで、最終的に最適化されるならCでいいってのも本当は変な話だと思うけどね
それ言っちまうと究極は全部アセンブラでいい なんなら機械語でもいい
- 959 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 00:17:17.26 ID:b/Ml+r1m.net]
- 比較対象がobjcならって話だよ
objcは中身Cだけどobjc特有の書き方をすると冗長すぎる動作をするってこと 極端に言えば所詮Cのマクロ集だから ただその冗長的な動作がobjcの良さだったりするから マイコンとかには向かないし意味の無い機能になってしまう 記法とかそういうのは無視してる、どの言語も慣れれば大して変わらないし
- 960 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 07:05:45.44 ID:EYbRFkN0.net]
- >>938
>>927について
- 961 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 12:57:22.44 ID:b/Ml+r1m.net]
- 動作速度を上げるために工夫する事はいけない事なのかな?
- 962 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 13:31:01.75 ID:uZnuZ+2W.net]
- 次スレ不要
- 963 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 22:09:53.24 ID:RMeyvXX8.net]
- >>940
>>927の最適化ってコンパイラが行う最適化のこと言ってるんじゃないの?
- 964 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 22:12:09.94 ID:b/Ml+r1m.net]
- >>942
違うわw なんでコンパイラがCの関数とコールバックに変換するんだよ さすがに分かるだろ
- 965 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 22:14:57.97 ID:RMeyvXX8.net]
- >>943
なんだ アセンブラリストみたら結局C関数羅列した時と同等コードになってるのかとおもた
- 966 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 12:50:19.84 ID:1
]
- [ここ壊れてます]
- 967 名前:ukxQn24.net mailto: ObjCのBlocksは最適化効くからかなり速いよ。
コールバック関数よりも最適化が効きやすい。 というかそこまで速度が必要ならそれこそObjC++の出番。 [] - [ここ壊れてます]
- 968 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 20:39:05.62 ID:3P7mMOBe.net]
- Objective-C++って意味がわからない
コレイジョウObjectiveにする必要ねぇだろC++は…
- 969 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 00:38:00.36 ID:34+XXBBA.net]
- C++は関数をクラスとして使い回すのがオブジェクト指向だろ?というC拡張
Objective-Cは関数をクラスとして命令を送ることで自律的に動作させるのがオブジェクト指向だろ?というC拡張 拡張の方向が違うので混在可能で、C++はいまのオブジェクト指向の原則からすると 相互関係が密になりすぎて使いづらい代わりにハード寄りで速度が出せるので Objective-Cの中でC++を使うためのしくみがObjective-C++ Objective-(C)に対してのObjective-(C++) 中身でCじゃなくてC++扱いたい人向け。
- 970 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 00:45:54.33 ID:3UymfagZ.net]
- objcとC++との違いは動的言語かどうかの差だろ
コンパイル時に動作が決まるC++に比べて動作時に動作が決まるobjcが速度で劣るのは仕方ない 書き方次第でどうにでもなるから問題にはならないけど Objective-C++は objcの中でC++の書き方が出来るってだけ 新しい言語ではない
- 971 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 10:27:11.08 ID:kjm4hBXm.net]
- 嫌いな言語5位入賞おめでとうございます
- 972 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 14:18:43.28 ID:pqVRGQDn.net]
- どこ調べだか知らぬが
まぁ、名誉なことであるな。
- 973 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 16:40:08.13 ID:ymVoOBdW.net]
- 使われてるってことだもんな
そもそも使われてないと好きも嫌いもない
- 974 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 19:34:40.33 ID:sl8NUeaa.net]
- iPhoneのお陰様や
- 975 名前:デフォルトの名無しさん [2017/11/03(金) 20:24:45.50 ID:HuwGCmuD.net]
- 次スレ待ち
- 976 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 23:58:10.94 ID:kjm4hBXm.net]
- Objective-C [ObjC part:9];
mevius.2ch.net/test/read.cgi/tech/1458491343/
- 977 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 01:38:34.48 ID:TcHqtFvm.net]
- 頭がおかしいにもほどがある
- 978 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 02:41:42.85 ID:aeYzbOC4.net]
- >>949
>>954
- 979 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 09:01:31.81 ID:MWh/LW9F.net]
- >>955>>956
ん?反論が無いなら俺の勝ちだぞ?
- 980 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 09:17:22.75 ID:AsGnkVE4.net]
- 反論wwさすがキチだな。キチには勝てないよw
- 981 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 10:44:57.27 ID:+jc3Zkkz.net]
- >>957
反論? Objective-Cアンチスレでも立ててそこでやれば?
- 982 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 15:28:55.43 ID:vRv6T9rF.net]
- 既存のObjective-CプロジェクトをObjective-C++にする場合
なんか問題になることってある? 型キャストしろって警告は沢山出てくるけど、それ以外は特に問題ない気がする。 ObjC++化で動作が変わるかどうか一番心配。
- 983 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 16:37:44.96 ID:xaHbiVeP.net]
- 予約語が増えるとか、autoの意味が変わるとか、文字定数の型が変わるとか
関数宣言の引数なし()が可変長引数から(void)と同じに変わるとか
- 984 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 11:33:21.15 ID:2AT1utsC.net]
- C言語からC++への移行手順を参考にすれば問題ない気がする。
Objective-C固有の愛称は特に無い。newキーワードとの関係でNSObject.newが使えないくらいか。[NSObject new]なら問題ない。
- 985 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 16:17:54.74 ID:d3/PBg+F.net]
- NSObject.newはちょっと...w
- 986 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 16:35:13.68 ID:o8TjkfoV.net]
- NSObject.new って ObjC2.0 の新記法?
- 987 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 18:44:32.83 ID:d3/PBg+F.net]
- 新記法ってか...まあ、そうといえばそう
instance.property はコンパイル時に単に [instance property] に置き換えられるってだけで、使用に制限はない(コンパイルエラー/ウォー
- 988 名前:jングは出ない)。引数なしならなんでもドットで書ける。確か値を返さないのでも( [instance run]; を instance.run; とも)
ドット記法(getter/setter)は単に置き換えられる(setterはset付けられるけど)というのを理解していれば制限は無いので自由っちゃあ自由だが、それは違うだろうという、個人的にw [] - [ここ壊れてます]
- 989 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 18:51:06.70 ID:d3/PBg+F.net]
- ああ、クラスプロパティができるようになったから、instance.propertyだけでなくclass.propertyもありな、newはクラスメソッドしかないしclassで書くべきだったな
- 990 名前:デフォルトの名無しさん [2017/11/17(金) 03:39:04.53 ID:KuiGlQ+X.net]
- 関数の頭の+と-ってインスタンス済みか違うかってことと継承できるかどうかのちがい?
どっちがメモリ食いでおそいの?
- 991 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 07:12:37.67 ID:Q8rdVBz+.net]
- クラスメソッドとインスタンスメソッド
- 992 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 07:49:16.58 ID:vXeaPuMS.net]
- +(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関数の方が優位
- 993 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 12:40:32.69 ID:Sc6rYFXH.net]
- staticおじさん
- 994 名前:デフォルトの名無しさん [2017/11/17(金) 12:49:30.17 ID:BwXttssD.net]
- 継承しないなら+が正解なんですね
ありがとうございます。
- 995 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 12:56:32.08 ID:qbOFfyPG.net]
- 継承しない?
そもそもクラスメソッドも継承されるけど
- 996 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 13:10:53.82 ID:qbOFfyPG.net]
- 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]; }
- 997 名前:デフォルトの名無しさん [2017/11/17(金) 14:46:32.69 ID:KuiGlQ+X.net]
- +でも継承できるんですか
勘違いしてました すると+と比べて-のメリットは何でしょうか?
- 998 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 15:37:54.52 ID:oYmLZZ1y.net]
- メリットってか機能が違う
- 999 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 17:12:02.46 ID:0jV1JJrR.net]
- OOPSの理解が先だな。OOPS理解すればそんな質問してたのがアホだったと思うだろう
- 1000 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 17:31:12.22 ID:5PrRKVul.net]
- いやJavaとかから来たらわからんだろうよ
通常のオブジェクトがそれが属するクラスにメソッドを定義することで、それをコールできるのと同様に Objective-CではSmalltalkやRubyなどと同様に クラスもまた、自身が属するメタクラス(さらに上位のクラス)にメソッドを定義することでそれをコールできる メタクラスはクラスとちがって無名なので、便宜上そのクラスへのメソッド定義(インスタンス向け)を - で、 対応するメタクラスへのメソッド定義(そのクラス自身向け)を + で表す決まりになっている つまるところ、+ と - はそのメソッドが定義される場所(ひいてはそれをコールできるオブジェクト)が違う
- 1001 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 17:50:54.14 ID:P19mM9yq.net]
- UMLの-と+でインスタンスメソッドとクラスメソッドを区別するやつ
Objective-Cが由来なのかな
- 1002 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 17:52:10.61 ID:P19mM9yq.net]
- すまん間違えた
UMLの-と+はパブリックとプライベートだった
- 1003 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 18:38:09.45 ID:0jV1JJrR.net]
- >>977
なんか小難しいこと書いて言ってるけど、そんな知識をひけらかす必要あるのか?元の ID:KuiGlQ+X には そのレスの絞めとして、クラスメソッドとインスタンスメソッドは明確に性格が違うと言っているんでしょ?なぜかはOOPS理解していれば聞く必要もないことで、それは、Javaでも同じだろう 理解してないようだから、早々に>>970なんて言うヤツが出たんだろ
- 1004 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 18:47:40.32 ID:5PrRKVul.net]
- >>980
ひけらかすほどの知識とも思わんが それとも、こんな基本的なことも知らないで使ってるのか? そもそもOOPSってなんなんだよ…
- 1005 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 18:53:04.67 ID:0jV1JJrR.net]
- >>981
OOP Style だよ。まあ、OOPでいいけど 言ってるのはクラスメソッドとインスタンスメソッドは違うってだけじゃん?何をそんな小難しく読みづらいっていうw いきなりJavaだからとかから始まって...あるとしたら、Objective-C固有のかと思ったらそうでもないし
- 1006 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 19:05:43.30 ID:5PrRKVul.net]
- >>982
Java、C++等の staticメソッドと、Objective-Cや Smalltalk、Ruby のクラスメソッドは別物だよ? それすら分かってないのか…
- 1007 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 19:13:50.64 ID:0jV1JJrR.net]
- >>983
機構/実現方法としてだろ?だから、そんなこと元々のヤツは聞いてないだろって言ってるのに。だからそゆ細かいとこをひけらかすって言ってるのに(「俺には当然」らしいけけど、なんでだったらわざわざ書くのか?) 実際インスタンスメソッドがメインでクラスメソッドなんて書く機会/必要性は割合的になくね?OOPS的にはw でも、やっぱり必要な場合があるから、なんかあんたが違うと拘ってるけど、クラスメソッドがそれぞれの言語でもあるんだろ? そゆ意味で元々の俺のレスだよ。なんでそれを否定して細かい違いを言ってるのかいまださっぱりわからん=知識のひけらかしにしかみえんのだけど
- 1008 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 19:32:51.40 ID:oYmLZZ1y.net]
- すーぐ熱くなる
マなんてこんな奴らばかりなんだからお互い無駄に体力使うなよ コミュニケーション以外の所に能力値振ってるから説明がヘタクソになるんだよ 解説本とかみんなそうだろ ともあれID: KuiGlQ+Xはメリットデメリットの話する前にそれが存在する理由と どのような使い分けがあるのかを考える方が良い
- 1009 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 19:34:13.50 ID:0jV1JJrR.net]
- うるせっww
- 1010 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 19:38:54.65 ID:5PrRKVul.net]
- >>984
じゃあ、私はクラスメソッドなんか使いません。staticメソッドと区別も分かりません。でいいじゃん まず、クラスメソッドの価値を見いだせないそのOOPSwとやらをなんとかしろよ
- 1011 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 19:42:04.64 ID:0jV1JJrR.net]
- >>987
誰になに言ってるのか不明すぎ 「クラスメソッドの価値を見いだせない」とかいきなり。誰も不要なんて言ってないけど?必要な場合があるって言ってるじゃん?ああ、「なんだか知らんが必要な場合があるんだろうな」と俺が言っているととっているのか??んー、だったら、すげえなww なんだかどうしても俺を下に見下したいだけにしか見えないんだけど?数スレ前からずっと
- 1012 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 19:51:55.22 ID:i5UkdOT+.net]
- これはID:5PrRKVulがきしょい
- 1013 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 19:54:52.75 ID:5PrRKVul.net]
- >>988
だってOOPSwとか分からんこと言ってる時点で明らかに下じゃんw 逆にどうしてその程度で上から目線を貫けるのか謎だわ
- 1014 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 19:58:05.03 ID:5PrRKVul.net]
- たぶん自慢げに語るそのOOPSwとやらの説明すらまともにできないのでは?との想像に難くないレベルの低さ
- 1015 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 20:02:14.50 ID:0jV1JJrR.net]
- >>990
OOPと書かなきゃダメなのか?まあ、一時的にOOPSもあったんだよ。知らないだろうけど たかがそれだけのことで全否定できるって、さすが細かいとこにこだわるお人だなあ&くだらなさすぎ&本来の話題が逸れすぎだと思うぞ。なんかあんたが心配(自ら自らを貶めているようでw) 長引くようだったら次スレたててw
- 1016 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 20:11:22.65 ID:oYmLZZ1y.net]
- 相手を理解しようとしないで自分のペースでしか話せないと苦労するだろう
ようはOOPSって Object Oriented Programming Styleでしょ? つまりオブジェクト指向プログラミングについて学べと言ってるんじゃ無いの? ID:KuiGlQ+Xは、メリットデメリットって言ってるとこからして オブジェクトを生成するってことを理解してないレベルの話だよねこれ まずインスタンスにアクセスした事無いからインヘリタンスとか関係ない所でメリットについて疑問が湧いちゃったんだろうし
- 1017 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 20:15:45.26 ID:0jV1JJrR.net]
- >>993
うん。全くそうなんだけどねえ (まあ、あんたは>>985で理解してくれてる/その前でもすでに理解してると思ってたけど)
- 1018 名前:デフォルトの名無しさん [2017/11/17(金) 20:29:25.96 ID:KuiGlQ+X.net]
- うーん、さっぱりわからないです。すみません。
とりあえずViewcintrollerでは-、汎用クラスは+で使い分けてたんですが、+のがメモリ食わないなら、なるべく+使っとけばいいんでしょうか
- 1019 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 20:35:49.15 ID:Q8rdVBz+.net]
- このかなり根本的なとこから理解してない感w
- 1020 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 20:37:15.26 ID:oYmLZZ1y.net]
- Viewcintrollerでメモリ使ってるんだから
Viewcintroller内で使うメソッドをメモリのためだけにクラスメソッドにする意味は無いし無意味 といってもまずインスタンスについて理解してないと、この話は進まないだろう あなたの言う+を使ったメソッドで運用出来てるならそれで良いしそのうち躓くだろうから そこで気づければ良いね としか言えない感じの大きな壁があるように感じる
- 1021 名前:デフォルトの名無しさん [2017/11/17(金) 20:46:44.49 ID:KuiGlQ+X.net]
- クラスは設計図、インスタンスはクラスに基づいて作られた実体と聞きました。
設計図メソッドと実体メソッド? どっちもおなじことできてるんでなんだろ?と思いました
- 1022 名前:デフォルトの名無しさん [2017/11/17(金) 21:16:54.72 ID:Eetf/DNi.net]
- クラスをメモリーにロードするとインスタンスになるという説明だと
どんな問題が起こるだろうか。
- 1023 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 21:17:37.30 ID:oYmLZZ1y.net]
- 次スレ
Objective-C [ObjC part:9]; mevius.2ch.net/test/read.cgi/tech/1510920033/ リンク多いな リンク切れは修正or代替サイトに変更しといた 即死回避何個だ?
- 1024 名前:デフォルトの名無しさん [2017/11/17(金) 21:46:24.64 ID:KuiGlQ+X.net]
- ググッてみました。
クラスの中のメソッド間で値の受け渡しが出来るのは、クラスメソッドのメリットですね。 でもインスタンメソッドでも@interfaceで変数定義したら受け渡しができちゃう。 うーん、インスタンスメソッドでいけるとこまでいけば道が開けるんですね やってみます
- 1025 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 21:48:09.39 ID:oYmLZZ1y.net]
- >>998
どっちがどっちだか分け分かんなくなってるだろww 埋め
- 1026 名前:1001 [Over 1000 Thread.net]
- このスレッドは1000を超えました。
新しいスレッドを立ててください。 life time: 1112日 8時間 12分 52秒
- 1027 名前:過去ログ ★ [[過去ログ]]
- ■ このスレッドは過去ログ倉庫に格納されています
|

|