- 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
- 804 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 20:57:44.83 ID:P/9b8Th9.net]
- > オブジェクトに対しては、
> ClassA *obj = … > (*obj).instaceVariable = …; > として、(たぶん)最初からあるけどなww 最初からはねーよwww ギリギリ->オペレータがあったくらいだわ まぁその当時はC/C++を継承した->は【ダメなやつ】で[ ]のみが正義だったわけだが
- 805 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 20:59:19.88 ID:m222t+F2.net]
- >>787
それは「たぶん」でなくて「確かに」だろう そっちの書き方が普通で>>785の書き方する方はちょっと捻くれ者かなww NSCopying実装するのに普通にそれをだったが、今時はsetter/getterやpropertyのがかな?まあ、setter/getterやpropertyを用意するまでもないインスタンス変数なんて普通にあるから、今でもだろうけど
- 806 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 21:01:34.46 ID:m222t+F2.net]
- >>788
なるほど。使おうとしたことあるのか?w なんか下みたらそんな気配は無さそうだが、まあ、俺は試したことは無いので、いう通りなんだろう。どうも
- 807 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 21:03:58.20 ID:qPu9JyaP.net]
- (*obj).foo も obj->foo も@publicじゃなきゃならんな
Cの構造体の構文に似せてあるが、シュガーだよ
- 808 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 21:15:38.13 ID:m222t+F2.net]
- >>791
うん。まあ、単なる目に見えるメソッド置き換えよりも、なんか気分的な親和性があったというか NSObjectの構造を見るとアクセスするのに単純にいかなさそうなんだけど、今はなんか簡単にやってやがるっぽくない?よく調べてないがコンパイルで吐くコードがなんか単純(以前のでの吐くコードがどんなんか知らんけど) struct objc_class が OBJC2_UNAVAILABLE だから、Objective-C 2.0 で何か思いきったことやってんのかなあ?
- 809 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 21:51:51.46 ID:m222t+F2.net]
- >>788
稼働可能状態な古いMac持ってる知り合いに聞いて試してもらったら、10.4では (*). はコンパイル&ランで問題ないって 10.0 から 10.3 の間かなあ?そんな別に無くてもいいもんwいつサポートするようになったか興味がちょっとあるなw(いつの話か教えてくれたら嬉しいな)
- 810 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 07:30:10.75 ID:qaUJfGjG.net]
- objective-c property のアクセス制限で相談です。
外部へはreadonlyプロパティとして公開し、内部向けにclass extentionにてreadwriteプロパティとして再定義したクラスがあります。 これを、swiftで使おうとしたところ、generated headerの中にこのプロパティ定義が作られない事に気付きました。(xcode 8.3.3) 多重定義を止めると、普通にプロパティ定義が作られます。 多重定義プロパティでのgenerated header不具合っぽいのですが、良い対処方法を教えてください。 思いつくのは ・Immutable classのサブクラスとしてmutable classを作り、そこでプロパティを再定義 ・readwriteのpropertyを別名でclass extentionで定義しインスタンス変数を共有、内部からはwrなプロパティを使う くらいです。
- 811 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 12:13:53.23 ID:dKEWL6WP.net]
- こういうこと?
Hello.h -- @interface Hello : NSObject @property (readonly) int i; @end Hello+ReadWrite.h -- #import "Hello.h" @interface Hello() @property (readwrite) int i; @end ObjCでもSwiftでもHello+ReadWrite.hをimportしてればrwプロパティとしてアクセスできてる(Xcode8.3.3/High Sierra) Hello.hをimportしてrwプロパティを持つgenerated headerにならないのは不具合ではなく仕様通りではないかと
- 812 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 12:32:23.62 ID:qaUJfGjG.net]
- いえ、公開したいのは、readonlyなプロパティなので、上記例で言えばHello.hの方です。
その場合、プロパティ自体が存在しない空のgenerated headerになってしまいました。 Foobar.h @interface Foobar: NSObject @property (readonly) uint32_t count @end Foobar+internal.h @interface Foobar () @property (readwrite) uint32_t count @end Foobar.m #import "Foobar.h" @implementation Foobar @end
- 813 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 13:46:56.49 ID:dKEWL6WP.net]
- 同一プロジェクト内で双方向のpublic getter, private setterはこんな感じでいけた
ttps://pastebin.com/2ckH2LeE ライブラリプロジェクトでプロジェクトを跨る時はObjC側はBuild Phrases -> HeadersでHello.hをpublic設定して Swift側は@objc public class HelloSwiftで宣言するんだったかな, @objc publicは最新で不要になってる気もする 多分、ライブラリプロジェクトについて話してるんではないだろうから、ここは意識する必要ないだろうけど プリミティブ型じゃない時に何か特殊な障害があったかな・・・
- 814 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 14:18:44.04 ID:2Yw2XYfL.net]
- 372仕様書無しさん2017/08/11(金) 10:31:43.41
フリーランスで検索すると引っかかる零細ITがやっているフリーランスのサイトはだめだ。 高額に見せているけど実際は50万前後 JIET加入した方がいいよ。案件は毎日千件以上末端価格は60万円 平凡な稼働時間の80万円の案件もある。 ユー子も求人をだしてる。名刺も渡せる。ユー子に名刺が渡せるんだぞ。夢のようだ それらの案件まさぐってHPで転売していたのが零細ITがやるフリーランスサイト 473非決定性名無しさん2017/08/03(木) 15:21:30.71 JIETに加入すれば誰でも3次60万からスタートだ。フリーランスのサイトをやってる 自称エージェントもそこから案件情報を取得しきてる。サイトで60万で釣って40万から55万の 間でやらしている。 446非決定性名無しさん2017/08/02(水) 22:12:48.95 JIETに毎月5千円払えば3次から入場できるだろ? 高額をうたうフリーランスのサイトはだいたい5次から45万円 JIETで閲覧応募できる末端価格からさらに搾取するのが高額をみせつけるフリーランスサイトでした 高額案件をみせつけるフリーランスサイトも案件の取得はJIETでした 自称エージェントはJIETから流れてくる案件を転売してるだけだった。 JIETに加入すれば誰でも案件に応募することができた。収入が40万50万台にならなくて済む
- 815 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 15:21:17.11 ID:3WtgEz9W.net]
- その方法でまんま何も問題ないけど?
Swift側で、入力補完でプロパティ出てくるし、参照に問題なく代入で cannot assign to property: 'count' is a get-only property ってエラー出るし generated headerってなんじゃらほいだが。SwiftでFoobar.countの定義参照(Command+Click)してもFoobar.hのそれまんまがだし Swift -> Objective-C が Generated Header(SwiftソースからObjective-Cのヘッダーをじぇねれーと)じゃないのかな??Objective-C -> Swift はBridge Header (なにかしているんだろうが、単なる参照用)
- 816 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 15:26:34.38 ID:3WtgEz9W.net]
- >>799は>>796宛て
>>797 すでにレスってたのね、失礼。ほぼ、同じどす
- 817 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 15:37:26.13 ID:qaUJfGjG.net]
- >>797,799
コメントありがとうございます。指摘通り、Generated interfaceの誤りですね。 今手元でこんな感じです。 ttp://i.imgur.com/D8CWZTP.jpg 上がCocoaアプリ、下がFrameworkに置いたものです。 いずれも、Generated I/Fの中に上書きしたプロパティが出てきません。 Xcode再インストールが先でしょうか?
- 818 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 15:52:20.34 ID:3WtgEz9W.net]
- >>801
絵が見えないー。何をやってるのか見えなーい んー… Swiftで作ったクラスをObjective-CでがGenerateだと思うんだがな。HeaderとInterfaceの違いではなく…まあ、どうでもいいけど、Objective-Cで作ったクラスをSwiftででいいのね? 何やってるのか見えないのでなんともだが、とりあえず Product メニューの Clean(よりも、Option押しながらのClean Build Folder…)かな
- 819 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 15:57:11.27 ID:qaUJfGjG.net]
- ttp://light.dotup.org/uploda/light.dotup.org471442.png.html
すみません貼り直します。 Obj-c => Swift が目標です。
- 820 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 16:09:41.21 ID:3WtgEz9W.net]
- >>803
ん??右端の Hello.h が generated header/Generated interface とやら?んなのいらんだろ?? 単に、Bridge Header に、その左隣の Objective-C 用の Hello.c をインポートすればいいだけだろ??>>797さんのでいえば30から31行目、Hello-Bridging-Header.hというファイルに#import "Hello.h"を一行 Bridge Headerを使うようには設定でだが、Objective-Cのプロジェクトで最初にSwiftファイル作れば、「Bridge Headerつくるよ」とXcodeが勝手にやってくれるし、その後設定を確認してみればBridge Headerを使う設定がわかるだろう
- 821 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 16:13:00.14 ID:3WtgEz9W.net]
- >>804
>勝手にやってくれる Bridge Headerファイルの作成と、プロジェクトへのBridge Headerファイル登録と、ビルド設定ね Swiftで使うクラスは、Bridge Headerに自分で記述する(単に#import "….h")
- 822 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 16:22:45.31 ID:3WtgEz9W.net]
- >>804
すまん。ちょこちょこ間違えた >その左隣の Objective-C 用の Hello.c その左隣の Objective-C 用の Hello.h >でいえば30から31行目 でいえば30から32行目
- 823 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 20:56:39.29 ID:3WtgEz9W.net]
- >>803
そういえば、(標準の)Frameworkは?ってのは、umbrella headerってのをFrameworkに仕込むらしい それも、ヘッダーはそんなSwiftみたいなのではなく、単にObjective-Cのヘッダー(をSwift
- 824 名前:用にプリコンパイル(?)してモジュール化しての)
すると、Swiftで import Foobar ってだけで [] - [ここ壊れてます]
- 825 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 21:33:48.50 ID:3WtgEz9W.net]
- >>807
ああ、umbrella headerって、Objective-Cでも/でのModulesのためのか。@importの。@importなんて忘れてたw それの使用/流用か?@importはSwiftより1年先みたいだし
- 826 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 21:37:17.32 ID:vLIuNhx/.net]
- 流用っていうかLLVMの機能
- 827 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 11:30:09.68 ID:TkYKFb/H.net]
- 解決できてなさそうだから一式上げた
ttps://www.dropbox.com/s/dycv00sv7gc9c9a/Hello.zip?dl=0 Swift PJをベースに作ったけど、ObjC PJベースで作っても同じ感じ Hello-Bridging-Header.h を適切に作成、参照させてないのが原因とエスパーしとく 参照設定はXcodeで Hello -> Build Settings -> Swift Compiler - General -> Objective-C Bridging Header の所な
- 828 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 14:47:06.11 ID:XQniorI3.net]
- アンブレラヘッダって、Cでよくやる各モジュールのヘッダをincludeしてまとめてあるヘッダのこと
- 829 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 16:13:58.67 ID:OaUgUnZt.net]
- iOSでアンブレラヘッダって出来るんだっけ
- 830 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 16:17:13.40 ID:XQniorI3.net]
- できるよ
.h作って必要なヘッダを#import
- 831 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 16:32:48.83 ID:OaUgUnZt.net]
- Accelerate.frameworkを見ると出来るみたいね
>>813 サンクス
- 832 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 17:27:14.87 ID:GzzlNSce.net]
- >>813
ごめん、アンブレラヘッダとアンブレラフレームワークと混同してた。frameworkも出来るみたい。
- 833 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 19:08:50.09 ID:3CTOgVkL.net]
- 皆さんありがとうございます。
どうにもドツボにはまっているので、頂いたものを勉強し直します。
- 834 名前:デフォルトの名無しさん mailto:sage [2017/08/30(水) 09:43:22.83 ID:thVvZo3p.net]
- Xcodeのメジャーバージョンアップに合わせた言語仕様更新
ここ2年くらいないけどもうObjCの改善はやめたのかな
- 835 名前:デフォルトの名無しさん mailto:sage [2017/08/30(水) 14:31:13.31 ID:VdDjZJhL.net]
- Xcode 8からクラスプロパティが入った。
Xcode 9はわからん。 仕様変更は正直いらないよ。新機能の追加だけで十分。 最近のObjective-Cの良いところは仕様変更が少ないことだと思う。 Swiftは変更しすぎでついていけない。
- 836 名前:デフォルトの名無しさん mailto:sage [2017/08/30(水) 16:55:31.83 ID:thVvZo3p.net]
- そうか、クラスプロパティが去年だったか, 地味だから忘れてた
Xcode9は今出てるリリースノートの範疇を見るになさそうなんだよねぇ 最近のObjC下位互換破棄はGCの完全撤廃がXcode8であったような?誰も使ってないだろうけども ObjCはシンタックスシュガー多いけど基本は残していくスタンスよな
- 837 名前:デフォルトの名無しさん mailto:sage [2017/08/30(水) 18:53:05.49 ID:OtY774nI.net]
- >>818
ころころ仕様が変わったら何のデバッグしてるのかわからんからね
- 838 名前:デフォルトの名無しさん mailto:sage [2017/08/31(木) 12:33:49.66 ID:ELOqa+z/.net]
- Xcode9では言語仕様追加はないのか
毎年何らか追加してきてたし、ネタ切れってわけでもないだろうに、Swiftにリソース食われてるのかねぇ Swiftはコミュニティにぶん投げて、AppleはObjCの言語仕様をアップデートしてくれよなぁ
- 839 名前:デフォルトの名無しさん mailto:sage [2017/08/31(木) 16:41:09.38 ID:DmRL1EOk.net]
- nullability にしろ generics にしろ、最近の変更は swift から obj-c を使いやすくするのに必要なものだったから、もうやることはあまり残ってなさそう
- 840 名前:デフォルトの名無しさん mailto:sage [2017/09/01(金) 09:02:41.01 ID:YXmfUhFy.net]
- autoキーワードのデフォルト有効化はよ
ObjC++(.mm)にすれば良いんだけどなんか違う、idをautoの代わりに使うのはもっと違う
- 841 名前:デフォルトの名無しさん mailto:sage [2017/09/01(金) 10:47:18.17 ID:B8cKPTM5.net]
- C++17も出るし、C++14, 17の新規機能のポーティングが始まるんじゃね?
- 842 名前:。年はもう間に合わんだろうけど
clangとしてC++17は進めてるんだろうから、いつものように文法糖衣してObjCに突っ込むだろ [] - [ここ壊れてます]
- 843 名前:デフォルトの名無しさん mailto:sage [2017/09/01(金) 11:18:48.86 ID:ZEZMvH77.net]
- いっそのことObjective-C++使おうかな。
C++の仕様を部分的にポーティングしてくれるならそれもいいけど。 @autoみたいな記法は流石に勘弁だけど。
- 844 名前:デフォルトの名無しさん mailto:sage [2017/09/01(金) 12:05:12.13 ID:pDFuyP/L.net]
- ObjC++はコンパイル遅い。
- 845 名前:デフォルトの名無しさん mailto:sage [2017/09/01(金) 17:48:15.95 ID:Ev7WXpGx.net]
- ObjC++だとリファクタリング効かないから大変。
あれ何とかならないかなぁ。
- 846 名前:デフォルトの名無しさん mailto:sage [2017/09/01(金) 18:21:04.93 ID:5JXRZXNo.net]
- C++はコンパイル速度より実行時速度に重きを置いてるから仕方ないね
ObjC++でTemplateが使えたら幸せなんだけどなぁ 常時Dynamic Dispatchで実行速度が遅いObjC環境でTemplate使った速度改善なんて滑稽な話ではあるが
- 847 名前:デフォルトの名無しさん mailto:sage [2017/09/01(金) 22:21:55.44 ID:5GGRc0ni.net]
- >実行速度が遅い
それが問題になるほどの崇高なプログラムを組んでらっしゃるのかな
- 848 名前:デフォルトの名無しさん mailto:sage [2017/09/01(金) 22:30:27.59 ID:shKG9pre.net]
- そういう人はいくらでもいるでしょ
- 849 名前:デフォルトの名無しさん mailto:sage [2017/09/01(金) 22:34:33.64 ID:zaPu8SCI.net]
- 計算物理学とか処理速度は常に足を引っ張ってくるからね
- 850 名前:デフォルトの名無しさん mailto:sage [2017/09/01(金) 22:44:52.87 ID:pDFuyP/L.net]
- ObjC++ってC++で書かれたコア部分をラッピングするための装置。
- 851 名前:デフォルトの名無しさん mailto:sage [2017/09/01(金) 23:03:50.42 ID:5BLkbp3y.net]
- > ObjC++はコンパイル遅い。
これが問題になる人よりは多いでしょ, コンパイル速度より実行速度を気するわな ObjC++はC++の機能を使うための装置でもあるがな auto以外にもモダンな機能が使えるからModern Objective-Cがモダンじゃないと感じ始めたら使うのも一興 性能良くてモダンな機能が使えるObjC++はイイゾー
- 852 名前:デフォルトの名無しさん mailto:sage [2017/09/01(金) 23:45:22.97 ID:ZEZMvH77.net]
- コンパイル遅くなるって具体的にどんなケースなの?
既存のobjcソースをobjc++としてコンパイルする程度ならほとんど変わらなそうだけど。 autoやメンバー関数なんかの簡単な機能使う程度なら十分お釣りが来る気がする。
- 853 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 10:48:43.59 ID:u5MjsaOO.net]
- モダン、モダンうるせーよw
モダンであることが目的になってねーか?おまえら
- 854 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 12:06:13.00 ID:qBo532qK.net]
- ものによっちゃあクラシックよりは良いだろうな
- 855 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 18:57:24.45 ID:AHW4eZK5.net]
- >>834
- (instancetype) init { self = [super init]; // メソッドcountがNSIntegerを返すと誤認して利用 // NSInteger a = [self count]; // 型推論なし:ここでビルドエラー auto a = [self count]; /* 100行くらいの処理 */ a = a + 1; // 型推論あり:ここでビルドエラー return self; } - (NSNumber *) count { return @0; } こんな感じのマヌケなコード書いてると 100行くらいの無駄なコンパイル処理を経てようやくビルドエラーが出るので autoキーワード(型推論)を使うObjC++はビルド時間が遅い ・・・という型推論否定論があるんだろうと最近は思うようにしてる なお、auto a = [self count];とNSNumber *a = [self count];だけを比較したら 型推論使った方が両辺の型一致を判定する必要ない分だけ早くなり得ると思う
- 856 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 19:14:40.76 ID:Qzt2A3g3.net]
- マヌケっぽいけどイ`
- 857 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 20:19:08.25 ID:GaaWhR7c.net]
- C++の型推論は戻り値型が確定していればその場でNSNumber *に置き換えてくれるんじゃね?
よほど変なコード書かない限りコンパイル速度が問題になることは無いだろう。 Xcodeはデフォルトでプリコンパイルしてくれるし、C++でもやってくれるでしょ。
- 858 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 20:20:06.63 ID:GaaWhR7c.net]
- 型推論にかぎらず
- 859 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 00:53:58.51 ID:JKJOfy4O.net]
- ObjC++がコンパイル遅いって具体例、他にないのかね
一例は捻り出してみたけど、遅いと主張してる人たちからは何も出てこない...
- 860 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 01:11:16.27 ID:9h/7te1O.net]
- 遅さが実感できないならそれで良いんじゃね
- 861 名前:デフォルトの名無しさん mailto:sage [2017/09/05(火) 06:26:53.84 ID:PmP+sl68.net]
- >>826はObjC信者の妄言ではないと実証しないとダメじゃない?
- 862 名前:デフォルトの名無しさん mailto:sage [2017/09/05(火) 13:34:45.75 ID:Fbd5ldy5.net]
- 真の信者はObjC++も受け入れる。
実際ObjC++はそれほど遅くはないよ。 今はClangコンパイラがデフォルトになってるからかなり早い。 むしろSwiftのほうが遅く感じる。
- 863 名前:デフォルトの名無しさん mailto:sage [2017/09/05(火) 22:19:53.34 ID:CWg4/G2u.net]
- 今は亡き真のApple信者はObjCは素晴らしい、Swiftも素晴らしい
Appleの提供するものは全て素晴らしいってSwiftスレで孤軍奮闘してたよ(Swift1.xの時代 Swiftはcopying swift libraryにクッソ時間かかるから論外だと思う, 10Mbyteの小さな()ランタイムのコピーは失笑しか出ない それはそれとして、いい加減ObjCのみが素晴らしいって主張のObjC信者はObjC++が遅いって実証を出せゴルァ ObjC++を許容する真の信者(笑)の根拠のない感想なんてどうでもいいんだよ
- 864 名前:デフォルトの名無しさん mailto:sage [2017/09/05(火) 23:15:55.98 ID:Jq7SE38L.net]
- 信者信者ってわざと言ってるのにはもう見えないな。マジで言ってるのならキチだな
- 865 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 17:08:25.60 ID:SQ4/Zkph.net]
- >>845はどう見ても基地外だろう。
- 866 名前:デフォルトの名無しさん [2017/09/07(木) 08:58:40.01 ID:Omz9mDs1.net]
- 触ると増える
- 867 名前:デフォルトの名無しさん mailto:sage [2017/09/08(金) 07:44:30.62 ID:Wi5IEwLQ.net]
- >>845が粘着であることと、>>826が妄言であることは矛盾しないけどな
のらりくらり論点変えて実証しなくて済むよう頑張ってたようだけど、遂に人格批判切り替えたか ObjCと関係なく信仰/感情で批判できる人格批判は楽で良いよね
- 868 名前:デフォルトの名無しさん mailto:sage [2017/09/08(金) 11:02:58.01 ID:ouBjF6hv.net]
- もう信者ネタは飽きた。
ところでObjC++ってObjCには満足出来ないけどSwiftに移行するほどでもないっていう人には良い言語だよな。
- 869 名前:デフォルトの名無しさん mailto:sage [2017/09/08(金) 11:39:16.63 ID:0ohCbX1Y.net]
- 主に感情を揺さぶることが目的でしかない信者信仰とか無くてもいいもん言い出してるのを無視して何を言っているのか、マジなのか馬鹿すぎキチガイすぎでという点ではな
Objective-Cでも満足できるけどC++も使わなければならないので良い言語だなあ 上の方でラッパーするには的なことあるけど、わざわざラッパーを作らずにちゃんぽんでで
- 870 名前:デフォルトの名無しさん mailto:sage [2017/09/08(金) 17:15:02.30 ID:E/p7ocd2.net]
- その時間から酒飲んでるのか。プレミアムフライデーうらやましい。
- 871 名前:デフォルトの名無しさん mailto:sage [2017/09/09(土) 07:29:36.83 ID:4vXDR/AT.net]
- 具体的にc++を使うとobjcはどんな風に楽になるのか解説頼む。
swiftの言語仕様の破壊的変更には辟易するけど。
- 872 名前:デフォルトの名無しさん mailto:sage [2017/09/09(土) 07:33:07.60 ID:LN4nKJDq.net]
- 楽になるもなにもobjective-CとC++はCの拡張方向が違うから
単純にC++の文法をObjective-C++でプロジェクト作るとそのまま食うってだけだぞ。
- 873 名前:デフォルトの名無しさん mailto:sage [2017/09/09(土) 19:33:30.38 ID:8E3FMuHj.net]
- >>853
型推論が使えるので長い型名を扱わなくて済むようになるって言ってるダルルォ 引き続きObjC信者はObjC++のコンパイルが遅い具体例を、真の信者はObjC++の良い所の具体例を頼む
- 874 名前:デフォルトの名無しさん mailto:sage [2017/09/09(土) 19:35:50.45 ID:2PbJjEWF.net]
- 型推論ってBASICかよ。。
- 875 名前:デフォルトの名無しさん mailto:sage [2017/09/10(日) 07:43:48.22 ID:jzTwYGLB.net]
- ObjC++についてObjC信者連呼してる君、かなり深刻なお脳の病気を持ってそうだな。
- 876 名前:デフォルトの名無しさん mailto:sage [2017/09/10(日) 07:58:49.2
]
- [ここ壊れてます]
- 877 名前:4 ID:mLTl9fJv.net mailto: 右辺値の型を左辺の変数の型にする機能はModulaの昔からあるんだけど、そんなものは型推論とは呼ばれてなかった
型推論というのは一般にMLにある型変数が飛び交うようなのを指すもので、C++でいえばtemplateのパラメータが相当する autoを型推論と呼ばないで欲しい。C++が用語を歪めたのが悪いんだけど あとBASICにはどっちの意味でも型推論は無いぞ、バリアント型の間違いじゃね [] - [ここ壊れてます]
- 878 名前:デフォルトの名無しさん mailto:sage [2017/09/10(日) 09:07:15.21 ID:xTzJbttv.net]
- >>858
メーリングリストが何だって?
- 879 名前:デフォルトの名無しさん mailto:sage [2017/09/10(日) 09:43:03.26 ID:6eMl9Cue.net]
- >>858
ドヤ顔で解説してるが、お前の中での型推論の定義と、現代世間一般の型推論の定義がズレてる 同じ理由でBASICの動的型のことを型推論と呼ぶ定義もあるだろうよ
- 880 名前:デフォルトの名無しさん mailto:sage [2017/09/10(日) 09:53:31.64 ID:mLTl9fJv.net]
- >>860
>同じ理由でBASICの動的型のことを型推論と呼ぶ定義もあるだろうよ ぜひそれを人前で発言してみて欲しい
- 881 名前:デフォルトの名無しさん mailto:sage [2017/09/10(日) 10:57:19.42 ID:EO9qqnso.net]
- 前に言ったかもしれないけどObjC++のコンパイル速度はそんな遅くないよ。
c++で遅くなるような処理をobjc++で書けばそれりゃ遅くなるけど。 DSL作るとかじゃなければ気にならない。 objc++のプロジェクト書いてるけど、ビルド&リンク時間は1秒くらい。 同じ規模のswiftのプロジェクトが3秒だから相当速い。
- 882 名前:デフォルトの名無しさん mailto:sage [2017/09/10(日) 11:31:14.81 ID:w1siUvvP.net]
- できればobj-c++の有用例をqiita辺りに纏めてくれないかな。
需要はあると思うんで。 言葉で語られてもピンとこない。実際のコードで示して欲しい。
- 883 名前:デフォルトの名無しさん mailto:sage [2017/09/10(日) 13:07:44.32 ID:EO9qqnso.net]
- ググれば足りる
「Objective-C++11 - 星一のはてなブログ」 「Objective-C++でSwiftに挑む」 あと「SwiftのそれObjective-Cで出来るよ」って記事、前にあった気がすんだけどあれ何処いったんだ?
- 884 名前:デフォルトの名無しさん mailto:sage [2017/09/10(日) 15:23:22.28 ID:ODr7u6re.net]
- >>864
ありがとう。見てみたけど簡単に使えそうなのはauto変数を使った型推論くらいな気がする。 あんまり便利感がない。
- 885 名前:デフォルトの名無しさん mailto:sage [2017/09/10(日) 15:28:06.27 ID:YhxCzOtN.net]
- 型推論できないと効率が下がるプログラマー
- 886 名前:デフォルトの名無しさん mailto:sage [2017/09/10(日) 19:50:23.81 ID:w1siUvvP.net]
- >>864
結局どっちも本格的に使うって雰囲気じゃない書味。 結局swift使うわってなってないか。
- 887 名前:デフォルトの名無しさん mailto:sage [2017/09/10(日) 20:02:20.98 ID:xTzJbttv.net]
- Swift使えっていう布教活動なら納得
- 888 名前:デフォルトの名無しさん mailto:sage [2017/09/10(日) 21:34:33.40 ID:UkktAReA.net]
- BASICは成り立ちというか設計者の話を聞く限り
「FORTRNとかでプログラム教える時に"型"でつまずくから 「数字」と「文字」という二つの分類にしました。 いやぁ、for~next step 0.5とか想定回数回すようにするの大変でしたよ、ハッハッハ」で 最近の"型推論"でごちゃごちゃ問題起きてるの眺めるたびに ほんとこの世界は過去から学ばねぇなと思ってる。
- 889 名前:デフォルトの名無しさん mailto:sage [2017/09/10(日) 23:48:48.08 ID:3pmx1gWM.net]
- Swiftでいいわ
じゃあの
- 890 名前:デフォルトの名無しさん mailto:sage [2017/09/11(月) 03:08:54.09 ID:+NzND3PL.net]
- >>870
バイバーイ
- 891 名前:デフォルトの名無しさん mailto:sage [2017/09/11(月) 07:27:55.45 ID:RCvV23l8.net]
- >>869
alloc/freeで任意契機のメモリ管理ができない他言語はクソ => GC/ARCスゲー メッセージ表記こそ至上の文法、ドット表記はクソ => プロパティドットアクセス便利 クロージャーは見通しが悪くなる、クロージャーはクソ => Blocksイイ 手のひらクルンクルンについて、過去から学ばないObjCがそれを言ってもなw 型推論も将来採用されたらまたクルンって手首回すと信じてる
- 892 名前:デフォルトの名無しさん mailto:sage [2017/09/11(月) 07:44:04.15 ID:lJyYCV3D.net]
- ObjC++とARCで質問です。
ググッた限り良い解説に辿りつけないので教えてください。 c++classにObjectiveC++クラスの参照を持たせた形で、循環参照と思われる現象に引っかかりました。 c++クラスのコンストラクタで、ObjC++のインスタンス変数を代入させています。 c++クラス側にObjC/ObjC++のインスタンスを持たせるばあい、c++ソース側でもweakとかunsafe_unretainedとかは指定して良いのでしょうか。それとも、コンストラクタ呼び出し側で、weakselfなどを代入するしかないのでしょうか。
- 893 名前:デフォルトの名無しさん mailto:sage [2017/09/11(月) 12:15:52.29 ID:Hnapc1Bn.net]
- >>872
「GCスゲー」「クロージャーはクソ」なんて意見は聞いたことないけどな
- 894 名前:デフォルトの名無しさん mailto:sage [2017/09/11(月) 13:17:49.09 ID:D+TVdXvf.net]
- >>873
普通には問題なさげ 何も問題なくコンパイルする __strong付きのはちゃんとC++クラスのデストラクタで勝手にリリースしてくれる。伴い、それの他でのweakはnilにしてくれる __weak付きのは元が消失するとnilになる。消失するのがObjective-Cのクラス側だろうがなんだろうが __unsafe_unretainedはそもそもARCでは何もしないだし、C++クラス内でもなにもしない clang.llvm.org/docs/AutomaticReferenceCounting.html には、(C/)C++での注釈はチラホラあるけど Objective-C++使うのはObjective-CでC++のを使いたい場合で、そんな使い方してないからなんか混みいった場合があるのかよくわからんけど
- 895 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 08:49:37.25 ID:cOq2BguT.net]
- iOS11でObjective-Cアプリってどれくらいメンテ/評価工数かけた?
こんなレスあったけど、まさか評価0って企業はないよな? 296デフォルトの名無しさん (ワッチョイ 23ea-5RgV)2017/09/28(木) 15:24:26.46ID:n5Lt93Y/0 Objective-Cで書いときゃメンテフリーだったのに
- 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が率先して移行するでしょ そういう事
|

|