Objective-C [ObjC part:8.1]; [転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2014/11/01(土) 13:35:17.70ID:12FSUUrY
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
228デフォルトの名無しさん
垢版 |
2015/12/13(日) 18:09:42.82ID:+eRy+6gb
func とか書く理由が分からない
-> とかも泥臭い
書籍買ったら負け
229名無しさん@そうだ選挙に行こう
垢版 |
2015/12/14(月) 08:57:48.47ID:Dd9ol/hG
Jobsが愛したObjective-C
2015/12/14(月) 09:12:29.46ID:n4HjOhXW
Swiftのゴリ推しにはうんざり…
Apple最近頭悪いよね
231名無しさん@そうだ選挙に行こう
垢版 |
2015/12/14(月) 09:52:55.38ID:EuhoRupa
いっその事ARC前提のjavaで・・
232名無しさん@そうだ選挙に行こう
垢版 |
2015/12/14(月) 09:59:45.12ID:EuhoRupa
Swiftが言語としてUIとhttpをサポートしたら使う
どうせApple専用なんだし
Appleって言語作ればいいのに
2015/12/14(月) 10:16:05.01ID:ihUsYndj
>>229
別に愛してないけど
234アイ
垢版 |
2015/12/14(月) 12:06:45.16ID:6cQ1LEo2
わしの考えたobj-c 3.0 ではメッセージ式もドットシンタックスで書ける。

if (obj.isKindOfClass(UIView.class)) {
 obj.removeFromSuperView();
}
2015/12/14(月) 21:01:22.96ID:b2CmJBSx
>>234
もはやメッセージ式ではない件
236アイ
垢版 |
2015/12/14(月) 21:14:10.74ID:6cQ1LEo2
>>235
今だってアクセサにはドットで呼ぶから、あんまり変わらんですよ。
237デフォルトの名無しさん
垢版 |
2015/12/14(月) 21:38:24.48ID:EuhoRupa
Swiftは単なる話題づくり
つまりネタ
2015/12/14(月) 22:22:42.49ID:b2CmJBSx
>>237
めちゃくちゃ納得した
かつてのCocoa Java的な立ち位置か
239デフォルトの名無しさん
垢版 |
2015/12/15(火) 07:09:10.78ID:PEMjc+kq
SwiftではなくApple BasicみたいなVBもどきを作ればいいのに
イベント処理のガラなんか記述したくないし、いい加減GUIをコードで書く時代は卒業したい
2015/12/15(火) 07:50:11.21ID:Vrhl7KsS
objctive-cとSwiftは、
VB.NETとC#みたいなもんだと思って良いのか?
どっちも文法が微妙に違うだけで、中身はほとんど同じになってしまってる。
2015/12/15(火) 08:01:06.30ID:Vj+3N2ql
いや全然ちがくね?
242デフォルトの名無しさん
垢版 |
2015/12/15(火) 08:09:19.43ID:PEMjc+kq
SwiftもObj-Cもただのフレームワークラッパー
Swift覚えても何も楽にならない、逆にCとかに戻れなくなる
近い将来、Swiftエンジニアは潰しが利かない=無能
と呼ばれるだろう
243デフォルトの名無しさん
垢版 |
2015/12/15(火) 08:11:40.28ID:PEMjc+kq
99.99%のiOS案件はObj-C
3年後も70%はObj-C
2015/12/15(火) 09:11:47.63ID:3fLJcyYR
Swiftあかんな…
2015/12/15(火) 13:24:16.55ID:0+wWMBI1
ObjC老害戦々恐々やねw
2015/12/15(火) 18:55:30.31ID:ThSWRCNo
老害って言うほど長くやってる人はいない
NeXTからやってるなら老害と認めよう
2015/12/15(火) 19:06:03.45ID:p61Myj1Y
cocoaの時に詳解とヒレガスは買ってたけど
触り始めたのはiPhoneアプリ自由化からだから2008年辺りからだなぁ
2015/12/15(火) 23:23:01.62ID:dsHRmTJg
俺は2003年頃かな
Carbonをリアルタイムで触ってない世代
249デフォルトの名無しさん
垢版 |
2015/12/16(水) 08:25:14.74ID:0uVLlrb9
今Swiftにくいついているのは日本人だけ
250デフォルトの名無しさん
垢版 |
2015/12/16(水) 08:29:34.17ID:0uVLlrb9
Swiftじゃ保守が大変だろうな
同じ担当者が一生関わるなら話は別だけど
2015/12/16(水) 08:54:52.13ID:sYdqzL9a
社内保守にしろ開発会社に依頼する立場にしても、ちょっと機能追加したいだけって時に言語の仕様変更に追加で人員コスト金かけて対応しなきゃいけないのはマイナスだろうね。
エンジニアは新しいものが楽しい人種だから仕様変更に振り回されるのも楽しいだろうけど。
言語仕様が固まってからが普及のチャンスじゃないかな。
2015/12/16(水) 12:51:49.41ID:yQvrJjLh
>>249
嘘。世界中の開発者が興奮している
2015/12/20(日) 18:46:40.71ID:OsSjw3df
ソースコードの見た目に変態感がなくなったから、
興奮なんてできないだろ。
254デフォルトの名無しさん
垢版 |
2015/12/21(月) 00:53:15.69ID:38Cohb8a
まだ、swift不採用にしてる会社のほうが多いよ。
255デフォルトの名無しさん
垢版 |
2015/12/21(月) 00:57:03.49ID:38Cohb8a
Jobs色排除のためのswiftは抵抗あるし・・。
2015/12/21(月) 01:38:38.13ID:9UN2TS0D
無駄にSwiftに切り替える必要性がない
2015/12/21(月) 01:56:48.91ID:JMWJJ/EQ
swiftって無能なweb屋崩れが新規に始める言語だろ
一部の処理速度のみ最適化したごまかし言語に、既存の開発者が乗り換える理由が無い
2015/12/21(月) 02:04:45.99ID:15YBhsYq
わかってるやつはわかってる
2015/12/21(月) 02:53:29.57ID:4Mx5VRPH
>>231
それ煩雑になったObj-Cじゃねぇかwww
260デフォルトの名無しさん
垢版 |
2015/12/22(火) 00:31:57.69ID:TjIa8Lja
swiftで構造体とか訳わからん。
プロはobj-cで十分。あるいはc#で。
261デフォルトの名無しさん
垢版 |
2015/12/22(火) 00:50:38.19ID:CCc3g5x5
Objective-Cの文法は初見さんには変態的に見えるかもしれないけど、
Cの柔軟性を100%維持しつつ、オブジェクト指向をシンプルに追加した
他には見られない特筆すべき言語の一つだということは間違いない
2015/12/22(火) 01:15:32.84ID:ah9aIrQQ
文法が違うと言っても大して違わないんだよ、実は。
ドットで書くと>>234のとおり。あんまり変わらん。
263デフォルトの名無しさん
垢版 |
2015/12/22(火) 01:17:01.40ID:qJHZYnmU
言語としての好みなんかどうでもよくて、
製品のライフの間言語仕様の変更みたいなアホな理由で書き直しが発生しない言語で書くだけのこと
WindowsならC++で書くしAndroidならJavaで書く
2015/12/22(火) 03:16:56.00ID:kU1YHHeN
今どきC++でwindowsのアプリを作るヤツなんていないだろ。
MFCでもいまだに使ってるのか?
2015/12/22(火) 03:32:59.94ID:h2+OmYvg
Objective-Cがいいとかわるいとかとあんまり関係ないが
2004年のiBookG4動かすとメモリ256Mしかないから
レインボーカーソル回りまくりで動作がブチブチなのだけど
逆に「xib読んでるw」「ボタンからアクションが飛んだw」って
オブジェクトが通信してるのが見えるぐらい遅くて
これぐらい動作順番保障されてないのに動くしっかりした
設計をおれもしなきゃなぁ…って思ったりするw
266デフォルトの名無しさん
垢版 |
2015/12/22(火) 05:17:26.08ID:3vnbRuHu
NeXTもMac OSもObjective-Cで書かれて実際に動いているのに、なんでSwiftなのか?
初心者向けとも思えないし・・言語ヲタ向けとしか・・
2015/12/22(火) 08:48:40.76ID:qNjAqcDd
ObjCはジョブズの象徴だからな
破壊されて当然
2015/12/22(火) 09:00:09.33ID:kU1YHHeN
>>266
見た目が一般的になったから
とっつきやすいじゃん。
言語仕様も既存の良く使われる言語から
いいところを寄せ集めた感じになってるし。
一般的に普及させやすいとみたのだろうさ。
2015/12/22(火) 09:25:06.95ID:aKsc0Ke4
>>267
いや意味が分からない
2015/12/22(火) 11:47:29.03ID:E422G1dP
結局 「Cに仕様を追加」というのが限界なんじゃないかな。
Cの反省点を元にしてGoが生まれたようにCの言語仕様を捨てたいと考えた時に
新しい言語を用意しようってなったんじゃないかな。
2015/12/22(火) 12:31:40.21ID:qNjAqcDd
末尾クロージャや$1を駆使したコードは
短小オナニーって感じで大変見にくい
2015/12/22(火) 13:56:15.38ID:ah9aIrQQ
クロージャだけ別に書いてもいいんだぞ。
2015/12/22(火) 16:14:16.42ID:FIUTNb/j
>>270
Cに仕様を追加って話ならObjective-Cって見事にやり遂げてると思うが?
C++の方がCっぽいけどObjectへのメッセージ送信をsmalltalkライクな表現にした分読みやすいと思うのだが(structとclassの区別がヘッダ見ないとわからないC++を僕が嫌いなだけかもしらんけど)

ちなみにswiftはあんまり好きじゃねぇ、どうせ此処までfunctionalな実装にするのならもっと定数的な仕様にしてほしかった。
2015/12/22(火) 16:31:23.14ID:mxs6PTE7
最初にObjective-CマイナスCってのを見た時は、それってSmalltalkそのものじゃね?って思ったものだが
出てきたものはどちらにも無い機能まで寄せ集めてきた、確かにモダンだが一層ツギハギ感のあるものだったっていう
2015/12/22(火) 16:42:03.53ID:E422G1dP
>>273
ごめん言い方がまずかったかもしれない。
Cの言語仕様がまずいのでそれに更に追加するって作りが良くないよね。
って話。

例えばCでは暗黙の型変換がある。
nullと0の区別がつかない。
ポインタ型がある。

正直Cに代わる言語がでてくれるのが一番なんだが。
goもswiftもrustも対抗対象がc++とかなんだよなー。

go並の言語仕様の小ささでC対抗言語でないかなー
2015/12/22(火) 16:50:06.75ID:E422G1dP
>>274
IDEの変換機能に期待して
言語仕様の後方互換性を無視して作るって姿勢が功を奏するかもね。
ある程度こなれてきたら、いらない仕様を削っていってほしい。

goって惚れ惚れするくらい言語仕様抑えてるんだよね。
例えばclassがなくてstructだけとか。
structを参照渡ししてclassっぽく使うからそれで十分なんだよね。

swiftではstructとclassの使い分けって値渡しか参照渡しってだけだよね。
enum class struct全部にメソッド生やせるなら、どれかはけずれるでしょう?
2015/12/22(火) 16:59:36.42ID:QCvgGY11
Objective-C#で
2015/12/22(火) 19:57:04.99ID:txd9otas
Objective-Swiftじゃいかんのか?
2015/12/22(火) 22:30:17.60ID:aKsc0Ke4
>>273
同感
Objective-Cはオブジェクトを扱ってる部分がわかりやすいのがいい
2015/12/25(金) 10:41:49.70ID:PGIlXZYL
結局、もうなくなる言語だから
勉強するな、ってことか?
この言語で作ったアプリは、appストアで売れなくなる
って本当なの?
2015/12/25(金) 11:00:42.82ID:rljA4Lg6
って本当なの?(笑)
2015/12/25(金) 13:15:43.73ID:BCzmNj47
AppleとSwift開発者のオ○ニーに付き合わされて大変だねぇwww
2015/12/25(金) 20:00:50.32ID:P+AWGo7j
>>275-276
なんつーか、Objective-Cやってると"列挙型"だの"多変数を返す"だのは
そういうクラスを作って計算させて、クラス返せばいいじゃんになるので
ごちゃごちゃ細かい10年後は廃れてそうな機能を"言語仕様"に組み込んでるのに
すげぇ違和感あるんだよな。
「量子コンピュータ言語フンババではquantam構文で〜」ってやった十年後に
「超次元理論言語クチャラビビンバではultaradimention構文で〜」って永久にやってそうっつか。
2015/12/25(金) 23:01:55.38ID:3siPzMif
永久にやるしやらないといけないに決まってんじゃん
そんなことも分からないとはさすが老害
2015/12/25(金) 23:12:38.49ID:ya9ISuTA
そういうアホな賽の河原の石積みやってらんないから
>そういうクラスを作って計算させて、クラス返せばいいじゃん
2016/01/01(金) 16:07:13.78ID:HHSrINjy
今年は、この言語がなくなる年か・・・
ごくろうさまでした。
2016/01/01(金) 18:29:59.82ID:xUPyE7jx
>>286
いやSwiftがなくなるでしょ
2016/01/01(金) 18:36:47.86ID:S4tjwpf+
Appleがなくなるよ
iPhone 6S、Apple Watch、iPad Pro、Apple TV全部コケてるし
2016/01/01(金) 18:39:17.26ID:fzlqnlAB
やべー俺それ全部買ってるわ
290デフォルトの名無しさん
垢版 |
2016/01/17(日) 22:59:09.26ID:UWpoaTz9
Objective-CってCから入ると訳わかめだけどオブジェクト志向言語から入るとめっちゃ分かりやすいな
2016/01/18(月) 00:33:34.30ID:yOJjOSXj
 


Google Adsenseだけで家族を養ってる俺が通りますよ




 
2016/01/18(月) 01:48:44.45ID:WFEJ4wV5
>>290
Swiftとかいう意識高い系言語()よりはよっぽどシンプルだからなObjective-Cは
2016/01/18(月) 04:20:58.50ID:9EgVfl4X
たまに生Cの制限でめんどいことがあるので(blocksわかりづらー)
Cの方を整理してくれーとは思ったりする。

swiftおまえは座ってろ。
2016/01/22(金) 17:38:00.09ID:VWv1F+A1
語学学習用のアプリ(FLNewsBrowser)が動かなくなってたので公開されているソース
http://nsek.net/SYW/software/download/FLSources.dmg
を基にしてなんとか改変をしてみようとコンパイルできるとこまで持っていったのですが、
deprecated警告の嵐でマトモに機能しません。
deprecatedなclass/APIの代替手段を知りたい時はどうやって調べるのが適切なんでしょうか?
Appleのサイトには碌に載ってないように見えますが。
(環境は Xcode6.2, Mavericks 10.9.5 です)
295294
垢版 |
2016/01/22(金) 21:11:20.00ID:VWv1F+A1
NSMovie を QTMovie に置き換えても、とりあえずBuild出来るだけでダメだった箇所があったのですが、
AVKit/AVFoundation の対応物でなんとかなりました。
ここ↓を参考にしました
https://developer.apple.com/library/mac/technotes/tn2300/_index.html
296デフォルトの名無しさん
垢版 |
2016/01/23(土) 14:52:40.97ID:leAGheW9
Xcode 7で#errorや#warningに日本語使えなくなったのか?
2016/01/23(土) 15:42:23.67ID:88h5UZ6U
>>296
そんなことよりXIBやStoryboardの編集がめちゃ重たくなったのであるが
あとLabelとかにAttributedStrings設定すると画面がピクピクするのであるが

XCode7不安定で泣ける
2016/01/24(日) 01:27:52.70ID:oO2UXUzr
最新厨は人柱となってデバッグに徹するのだ
2016/01/24(日) 09:17:00.13ID:xZn7WE3F
>>296
We must wtite english
Becose we are Apple programmer!
300デフォルトの名無しさん
垢版 |
2016/01/24(日) 22:05:14.87ID:MTdyFEhx
>>299
> Becose
2016/01/25(月) 16:07:25.84ID:TsQ/lQ2p
>>298
iOSの最新版の機種でデバッグするのにどうしても必要になるのがなー
2016/02/05(金) 13:53:43.10ID:xVGnBx0l
-(id)init
{
[super init];
student = 2
teacher = 2
return self;
}
これどういう意味?
303デフォルトの名無しさん
垢版 |
2016/02/05(金) 15:35:00.34ID:B/Uu+ljn
>>302
スーパークラスのinitを呼ぶ
student、teacherというインスタンス変数にそれぞれ2を代入
という形でインスタンスを初期化
初期化したインスタンスをを返す

という意味
2016/02/05(金) 18:32:58.52ID:PpryQyj4
>>302
なにかを継承したクラスのinitメソッドを書き換えた例だと思うので
まず、親クラスたちがなにしてんのかわからないからお約束として
[super init]で親クラスが普段やってる初期化を完了させる。
初期値としてインスタンス内の変数にstudent = 2teacher = 2をセットする
return selfで自分自身というかここでイニシャライズした
インスタンス自身の存在するポインタを返す。
(alloc,initされたインスタンス自体が出力される)
2016/02/05(金) 19:50:54.72ID:uPSLYE8i
つーか間違ってんじゃんw

- (id)init
{
self = [super init];
return self;
}

こうだろ。
2016/02/05(金) 20:11:57.25ID:uPSLYE8i
Objective-Cは引数が二つ隠れてて、仮にそれを省略しないで書くと

- (id)init:(id)self cmd:(SEL)_cmd
{
self = [super init];
return self;
}

引数で渡されたself(id型のポインタ)に[super init]の戻り値を代入してreturnしてる。
superは親クラスの実装を呼ぶ時のキーワードで、
selfがインスタンスならsuperもインスタンス、selfがクラスならsuperもクラス。
2016/02/05(金) 20:13:53.96ID:uPSLYE8i
id型のポインタって言うとだめか、id型自体がポインタ型だ。
308デフォルトの名無しさん
垢版 |
2016/02/06(土) 00:32:42.46ID:FsvYHdeC
Carbonってどんな風に死んだんだっけ?
2016/02/06(土) 01:02:53.70ID:is/TI+L6
32bitがMacではユーザーが誰も気付かぬうちに
いつのまにか死んでたのといっしょな感じ
2016/02/06(土) 02:02:01.31ID:sZMQlj1p
>>308
wikipedia見れば一発ですぞ。
OS9と併用していた時代の遺物
2016/02/06(土) 02:05:35.04ID:sHcOYHMi
Carbonも32bit専用APIもまだ使う機会があるので俺の中では死んでない
2016/02/06(土) 20:07:12.60ID:HQDIs5Ib
何に使うの?
313デフォルトの名無しさん
垢版 |
2016/02/06(土) 22:04:06.45ID:64Pydz+a
Cocoaも遺物と呼ばれる日が来るのだろうか
2016/02/08(月) 18:36:07.83ID:crxuI7z8
次は何になるの?
315デフォルトの名無しさん
垢版 |
2016/02/09(火) 11:44:34.00ID:TANoAkWo
Objective-CでiPhoneアプリ作っています初心者です。
質問させてください。

UIDatePickerのUIDatePickerModeCountDownTimerを
textField.inputView = datePicker;
という形でキーボードの代わりに出てくるように使っています。

このUIDatePickerModeCountDownTimerモードはバグが有るようで
ロールの初回選択時は反映されず2回めの選択から処理がなされるようです。

UIDatePickerのUIDatePickerModeCountDownTimerのバグ
http://ameblo.jp/h-jey/entry-11947729143.html

上記ページに対処が載っていたのですが知識も理解も足りないようでうまく行きません。
対処法を教えて頂けると助かります。

よろしくお願いします。
316デフォルトの名無しさん
垢版 |
2016/02/09(火) 16:10:24.61ID:A9UbN6Hm
ipv6対応しなきゃとエルカピたんにあげて今までのアプリそのまま動かしたんだけど全然エラーにならない
見たこともない
これって本当に対応必要なの?
2016/02/11(木) 14:43:45.61ID:XMiUaI25
allocって、クラスメソッドしか使えないんですか?
2016/02/11(木) 14:55:44.06ID:UQTXGuAz
というかallocはクラスメソッドだからね
2016/02/11(木) 15:09:56.97ID:XMiUaI25
インスタンスメソッドの場合、どうすればいい?
2016/02/11(木) 15:13:17.32ID:UQTXGuAz
すまんいってる意味がわからん
321デフォルトの名無しさん
垢版 |
2016/02/11(木) 15:22:48.86ID:T48duRlP
インスタンス作ってからさらにメモリ確保するのか……
2016/02/11(木) 15:25:22.21ID:H0VUG8UT
アロケイトをおまじないと思ってるんだろうな
2016/02/11(木) 21:26:16.88ID:BYhgKPkM
> allocって、クラスメソッドしか使えないんですか?
> インスタンスメソッドの場合、どうすればいい?

もしかしてallocという名前のインスタンスメソッドを定義したいのかな
2016/02/11(木) 22:58:08.81ID:fwp65K1P
id anotherInstance = [[[self class] alloc] init];
2016/02/11(木) 23:17:18.98ID:UQTXGuAz
>>324ってこと?
だとしてもallocがクラスメソッドであることに変わりはないけど
というかallocの役割的にクラスメソッド以外あり得ない
2016/02/11(木) 23:21:52.27ID:fwp65K1P
自分をディープコピーして返すとかじゃね?
もっと状況を言わないと一瞬意味不明だよな。
2016/02/12(金) 21:53:10.32ID:e+FqND6X
>>317,319
クラスとインスタンスは別のオブジェクトだぞ。
同じ場所に書くから初心者にはわかりづらいかもだが。
クラスとは、言ってみればヘッダさえimportすれば使えるグローバルなオブジェクトだ。
メッセージ式のレシーバにクラスを指定すれば、受信側のクラスメソッドのselfにはクラスオブジェクトのポインタが渡される。
レシーバをインスタンスにした場合は、受信側のインスタンスメソッドのselfはインスタンスのポインタだ。
これでわかっただろ?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況