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
2015/02/08(日) 13:20:42.38ID:HJEgExkV
っていうか、Obj_Cは「C+オブジェクトシステム」って、そこの記事に書いてなかったっけ。
2015/02/08(日) 13:39:05.07ID:wyLER5GX
Objective-Cで完全な隠蔽って無理じゃ無い?
そのためにiOSデバイスは他人のコードをデバッガ起動させてないんじゃないの?
牢破りで台無しだけど
2015/02/10(火) 01:18:01.12ID:YlSr2a8D
質問です。
自分はARCから入って、最近MRCの存在を知ったのですが
MRCしか無かった頃には、弱い参照をどのように処理していたのでしょうか?
assignは単に参照を保持するだけ…と言うことは、所有者が居なくなってもnilにならず
retainカウントがゼロ=破棄されて内容が保証できないメモリ、を参照してしまう可能性がありますよね…?
2015/02/10(火) 01:36:50.93ID:kXovpB1O
>>130
運を天に任せてた。
ってか、weakは基本的には循環retainを防ぐためのものなので、親が消されたら子も消されるような状況なら、親→子はretain(strong)、子→親はassignで問題ない。
(親以外に子をretainしてる奴がいると問題だけど…。)
2015/02/10(火) 04:43:34.61ID:aT+wxLBo
nonnull, nullable, null_resettable, null_unspecified が来ましたで
Cocoa/Cocoa Touch全部そうするのかなあ
2015/02/10(火) 05:48:15.38ID:YlSr2a8D
>>131
なるほど、親子関係をハッキリさせておけば確かに起きないですね。
こんな興味本位の質問に答えて頂いてありがとうございました。
2015/02/10(火) 18:26:56.21ID:3nLl+ggX
nonnull, nullable, null_unspecified 修飾子が加わったね
2015/02/11(水) 04:09:33.71ID:IVeIu2if
>>134
>nonnull, nullable, null_unspecified 修飾子が加わったね
これはどういう用途や目的で使うのでしょうか
2015/02/13(金) 08:06:29.09ID:9pkMuWgM
想像だけどswiftの⁉︎に相当するんじゃないの?
137デフォルトの名無しさん
垢版 |
2015/03/04(水) 23:55:50.26ID:IuCQE56I
Twitterクライアント作りたくてAFNetworkingとSimpleauth導入した
JSONのGETまでは出来るんだけどそこからtable viewに表示させる方法がわからない....

NSDictionaryとか配列とか使うのは知ってるんだけど調べても書き方が.....
2015/03/05(木) 00:08:35.68ID:U/1KqdAB
>>3
> https://developer.apple.com/library/mac/navigation/

から Table View の Sample Code 見てみ。
2015/03/08(日) 19:28:12.30ID:HPLKgVu5
超古いコードをYosemite対応に書き換え中。
NSCalendarDateを置き換えしてたんだが、
なんだか凄く面倒くさい書き方になったんだな。
一々プロパティ叩かないと使えないNSCalendarとか
NSDateFormatterとか、行数増えまくり。
Fomatterが遅いのはホント酷いな。

もう少しコンビニエンスなメソッド用意して
欲しい。
2015/03/08(日) 19:33:54.16ID:CC8CPwGl
自分で追加すればええやん?
Fomatterが遅いのは対処の仕方がいくつかはあるし、ずっと前から遅いことだろう
まあ、NSDate <-> 文字列もしくは分解は所見ではげげっというほど面倒に見えるだろうけど
2015/03/08(日) 20:10:13.17ID:WTSZ2xfx
ハゲゲッに見えて困惑した
142デフォルトの名無しさん
垢版 |
2015/03/11(水) 08:11:20.24ID:s1uWJrZ7
Table viewにcell作ってUIText view配置してTwitterクライアント作ったんだが、下にスクロールしてくとだんだん表示が重なってきてバグってしまう
同じ事起きた人解決方法知ってたら教えてください
2015/03/12(木) 01:19:13.06ID:nNmLNiHn
>>139
Cocoa Pod漁れば、便利カテゴリーがあるかもしれんが。
ちゅうか、ObjCの何が便利かってカテゴリーでオレオレメソッドを自由に追加できる
所なんだが。
2015/03/16(月) 18:10:31.38ID:BqfOZ60v
WikipediaにObj-CのランタイムがCで書かれてるって書いてるんだけど
誰もやらないような面倒臭いことをすればCの記述のみでObj-Cが書けるのか?
2015/03/16(月) 19:05:41.37ID:Nv6mM3KY
人間業じゃないと思うけど書こうと思えば書けるな
2015/03/16(月) 22:23:57.89ID:dCO+oU4w
@〜とか[ ]とかはコンパイラをごにょごにょ必要だべ。
2015/03/16(月) 22:44:42.95ID:Nv6mM3KY
いや、それも無しのCの記述のみってことなんじゃね
2015/03/16(月) 23:26:06.83ID:dCO+oU4w
Obj-Cというより、CでOOPってことやね。かなりの事はできるだろ。
blocksとかprotocolは無いけど、observer, target/actionはできるし、
構造体にretainCount持たせてコンストラクタ/デストラクタ関数を書けばMRCっぽくなるんじゃね?
2015/03/16(月) 23:55:29.64ID:BqfOZ60v
Cで書かれたObj-Cのランタイム関数群を使って
Cの記述のみで実質Obj-Cとしてプログラミングするのは可能か
という質問だった
分かりづらくてスマソ
当然だけどARCではなくMRCで
2015/03/17(火) 00:07:00.89ID:c3ZGZmTn
逆にObj-Cと言っても、Cから拡張された特有の部分(@〜とか[ ]とか)以外はCだよ。
だからCのみの記述だと、上の特有の部分が使えないって事になるかな。
その意味では、実質Obj-Cではなく実質Cでプログラミングする事は可能。
2015/03/17(火) 00:26:31.31ID:XaFY+4CG
そういう意味で、Objective-Cって、日本語の文字の特性にピッタリ相当するよね。
C++が、漢字だけ使う状況を維持しつつ、時代に合わせて全体を改良していった簡体字のポジションに符合する。
一方、かな漢字のモザイクミックスによって、外来語に合わせた柔軟性と、前方互換性の絶妙のバランスの日本語というObjective-C。
C系統のレガシー部分(漢字文化)自体を捨ててしまって、新しく文字体系を作り直してしまったハングルはSwiftみたいなもんかな。
2015/03/17(火) 00:28:23.92ID:hphSATZF
>>149
純粋なCでObjective-Cオブジェクトを扱うのは全く問題なく可能
新しいクラスのObjective-Cオブジェクトを作るのも構造体でしかないから、とてもがんばれば可能

Objevtive-Cは元々Cのプリプロセッサでしかなく、現在のclangでもObjective-CからCソースを生成できたはず
2015/03/17(火) 01:01:26.34ID:nOSd0QwC
>>150
その特有の部分がCの関数で実装されているって話だから
やろうと思えばCだけでできないかなと思った
そんなこと誰もやりたくないからこの言語が生まれたんだけどさ
WikipediaにObj-CはC++と違ってCの上位互換言語って書いてあったから
どこまで可能なのかと気になっちゃって…

>>152
なるほど
「頑張れば」可能なのね
>現在のclangでもObjective-CからCソースを生成できたはず
知らなかった
調べてみる
2015/03/17(火) 01:37:20.90ID:qWCLUX9n
調べるなら、RubyCocoaやFreePascalのObjective-C互換機能あたりがいいかも
C++のクラスは他言語から使う事はほぼ不可能だけど、ObjCは割と楽勝
2015/03/17(火) 02:09:39.21ID:9PxdASsP
#import <objc/runtime.h>
見れば色々出来ることが分かる。
2015/03/17(火) 04:25:54.29ID:k/LbPUX+
ttp://news.mynavi.jp/column/objc/
ここの連載とかもmessage送信の仕組みとかの解説が気楽に読める
157デフォルトの名無しさん
垢版 |
2015/03/17(火) 08:19:09.18ID:EJu+JoaD
>>151
なるほどとてもわかりやすい
Swiftはクソだからね
2015/03/17(火) 20:25:47.35ID:YX0UjXZ+
Smalltalkに寄せてしまえば良かったのに。
有名なSmalltalkの処理系Smalltalk/Xみたいに遅い部分だけC言語を
インラインで書く。
2015/04/16(木) 15:08:50.01ID:o308Ymfa
Textured Windowの上にカスタムビューを置いたときに
そのカスタムビューがドラッグされたときwindowが移動しないようにしたいのですが。
カスタムビューの中にカーゾルが入ったら
setMovableByWindowBackground:NO
にしてカーソルが出たら戻す方法以外に、方法はありますか?
試しにimageViewを置くとドラッグで移動しないので、何かありそうなのですがググっても分かりませんでした。
2015/04/16(木) 15:17:40.05ID:o308Ymfa
>>159
解決しました。
- (BOOL)mouseDownCanMoveWindow{
return NO;
}
2015/04/30(木) 22:03:56.13ID:7KgGp2Xd
誰かobjective-cできる人
一緒にゲーム作りませんか?
こういうの作ってます
ttps://sourceforge.jp/projects/awarsiii/releases/
2015/05/01(金) 10:29:44.06ID:XsxuvEVX
いいけど一緒にって何やるの?
2015/05/01(金) 11:59:27.42ID:7BSZ6A8A
>>161
そのスレも呼んでるが、君は仲間募集する前に推薦されたAIの本を図書館閲覧じゃなく購入しなさいな。
自分への投資なんだから。
2015/05/01(金) 15:51:02.29ID:OXJqR0q8
call そのスレ
2015/05/01(金) 17:07:59.94ID:7BSZ6A8A
>>164
ゲ製のココね
http://peace.2ch.net/test/read.cgi/gamedev/1388301393/

頑張ってるの解るんで読んでるんだけど、上にも書いたようにもちょっと自己投資して勉強するべしって思うのよね。
2015/06/19(金) 16:17:27.35ID:9hebRpBD
入門Objective-C 2.0 [第1版]
入門Objective-C 2.0 [第2版]
入門Objective-C 2.0 [第3版]
この違いって何?
2015/06/19(金) 16:34:07.70ID:Hn4vsFYs
版数
2015/06/19(金) 18:23:40.34ID:FzphauAa
改訂じゃなければ中身一緒
2015/06/19(金) 18:24:27.78ID:FzphauAa
ああそれは
第一刷
第二刷
第三刷
のほうだったかな
2015/06/20(土) 08:34:11.31ID:6G5MNLrc
>>166
間違いや足りない内容を修正、追記
2015/06/22(月) 01:10:44.37ID:vs8WgO/1
今、framework作ってるんだが、framework in frameworkって出来ないよな?
またそのあたり詳しく書いてある書籍、サイトを教えてほしい

やりたいことはあるframeworkがプロジェクトに組み込まれていたらメソッドを使用して
なければ自frameworkのメソッドを使用するといったことをしたいんだ
2015/06/22(月) 01:27:05.08ID:U3VtOrGe
別々のフレームワークにしとけばいいんじゃないの
その作りたい 自フレームワーク の設定で あるフレームワーク を Optional にして、自フレームワークのコードで あるフレームワーク(のコード) が実在するかしないか見るだけじゃないの
2015/06/22(月) 23:17:56.19ID:Kf0FVNH9
Objective-Cだったら、メソッドのシグネチャがあってれば実態は全く
別のクラスでも動くけど。Javaみたいにcastの例外とか飛ばないし。
2015/06/22(月) 23:39:53.89ID:U3VtOrGe
飛ばないし?で?
2015/10/27(火) 16:35:39.20ID:6G1cYYTw
Finderの、「このアプリケーションで開く:」をコードで変更する方法を探しています。
LaunchServicesのLSGetApplicationForItemで設定されているアプリケーションを取得出来ましたが
設定を変更する方法が分かりません。
お知恵をお貸しください。
2015/10/27(火) 18:59:31.54ID:bGIBGj3u
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister
とかでどうにか出きんのかね
2015/10/27(火) 19:12:15.19ID:6+1/cOui
http://sutes.co.uk/2009/09/creator-codes-are-not-replaced.html
FSRef は確か Deprecated だよなあって、Yosemite だけど LaunchServices.framework の中見たら _LSSetStrongBindingForFileURL がちゃんとあった
ググってみても _LSSetStrongBindingForFileURL のプロトタイプを解析した人はいなさげだけど
まあ、_LSSetStrongBindingForRef もまだあるようだからそれでいいんじゃね
2015/10/27(火) 19:49:36.89ID:6+1/cOui
_LSSetStrongBindingForRef を使ってコマンドラインを作った人のがあった
https://github.com/lipidity/CLIMac/blob/master/src/setapp.m
試してないけど、動くんじゃね

ああ、Mac App Store に上げるつもりとかだったら使えないけど
2015/10/27(火) 21:32:47.70ID:2fOxN6nT
>>177
ありがとうございます。
LSSetStrongBindingForRefでデータを開くデフォルトアプリを個別に変更出来ました。
特定のフォルダの中のデータのみ、デフォルトではなく別のアプリケーションで開くように設定する奴を作りたかったので助かりました。
Finderで一つづつやるのは、大変なのでこれで捗りそうです。
180デフォルトの名無しさん
垢版 |
2015/11/19(木) 08:55:12.35ID:JIJtk7D/
ブラッド・コックスとトム・ラブがObjective-Cを作り「この言語はCのメモリ安全性とSmalltalkの高速性を合わせたものだ」と宣言する。
現代の歴史家は2人が失読症ではないかと疑っている。
https://twitter.com/okdshin/status/666903312151613440
2015/11/19(木) 18:31:52.89ID:opr9KqWY
>>180はコピペ基地外
2015/11/21(土) 12:57:07.40ID:8kcVam9N
いろんなとこにコピペしてるけど、ググってみたら
アンサイクロペディアみたいないろんな言語を皮肉った英語ブログのネタが元で
そもそも各言語について適当にでっちあげたわざと間違ってる内容を書いてるとこも
含めたジョークらしいので、コックスもラブもんなこと言ってないっぽいし
コピペ意図が不明すぎる。
2015/11/21(土) 13:08:30.33ID:pj6HPKNQ
ググったらスレ建てもしてるみたいだな
確かに意図がわからんな「Cのメモリ安全性」「Smalltalkの高速性」共に逆のことをワザと書いたとしか思えないもんな
元ネタはわからんが(元ネタがあったとしても上記のとおり単なるジョークとしか思えない)、コピペ本人はどうもジョークとは思っていないキチと推察すると意図もわかるかなw
2015/11/22(日) 17:13:33.90ID:GwOnodE2
ネタにマジレスして構ってやるなよ
ボットで適当に蒔いてるだけだろ
2015/11/23(月) 21:29:06.04ID:j1CLVbI1
この言語って、今さら覚える意味あるの?
強制的にswiftを覚えないといけないのか?
変態紳士感がなくなってつまらん・・・
2015/11/23(月) 22:05:36.96ID:eMpdXwtN
Swiftはつまらんよな
Objective-Cで良かったのに
187デフォルトの名無しさん
垢版 |
2015/11/24(火) 21:29:19.64ID:9T6iquHX
Swiftは仕様が固まるまで製品じゃ使えない
2015/11/25(水) 10:16:10.57ID:DmnqISoa
俺は仕事で1回使ってみたけどしばらくはObjective-Cだなと思った。また来年のWWDCの発表を見て今後どうするか考える。
2015/11/26(木) 09:48:13.02ID:xBfynER4
"C#の出現でC++は終わったな!"はおかしいと一目でわかるが
"swiftの出現でObjective-Cは終わったな!"は
なんか騙されてswiftから始める人が多そうでちょっと困る。
2015/11/26(木) 20:02:41.94ID:tASN5hyu
Objective-Cの本もswiftの本も買った
入門編だけど
SWIFTはiPhone向けの言語かな
2015/11/27(金) 04:32:20.42ID:qQlw7qsR
入り口はどうあれプログラミングに興味を持って、始めてくれればいいじゃないか。
swift触ってたら、絶対にobjcの方が楽ってのに気づいてobjcに変えるだろうし。
2015/11/27(金) 08:08:00.07ID:K1GiTf24
個人的にはObjective-Cは最高な言語だと思う
Cに純粋にオブジェクト指向部分を足したってのがとてもはっきりしてる体系が気に入ってる
2015/11/27(金) 09:41:14.23ID:cJWLDRkK
Swiftの方が楽だろ
2015/11/27(金) 10:18:20.72ID:KobZxewL
>>193
多言語使える人だとObjective-Cの方が読みやすかったりする(特にsmalltalkとCを使える人には)
ARC以降だとオブジェクトの寿命が確定的に書けるのも気に入っているのだけどSwiftそんなにいいかねぇ?
2015/11/27(金) 10:33:33.00ID:UY/CmALQ
どっちも楽だ
好きな方使え
2015/11/27(金) 12:02:36.84ID:YdZhD1ux
最近、BASICがFORTRANとかで初心者がつまずく型宣言とかを
わざと排した本当に高級言語だった。ってのを知ったけど
そんな感じでswiftにはObjective-Cから煩雑な宣言や明示的な設定を排したものを期待したら
なんか言語の基本的な方向自体も変化したものが出てきたのでコレジャナイ感があるんだよなぁ…
(次世代のBASICみたいな位置で初学者これでいいかな?とも思うけど)
Objective-C 3.0待ってる感じ。
2015/11/27(金) 13:13:46.62ID:gok+YEjG
Swiftのいいところを取り込んだObjective-C 3.0は楽しみだね。
198デフォルトの名無しさん
垢版 |
2015/11/27(金) 15:38:45.88ID:c/N8jVfb
>>185
Cとオブジェクト指向を知ってる人ならObjective-C自体は覚えるのに手間かからない
手間かかるのはクラスライブラリの方
2015/11/28(土) 12:54:08.32ID:6FOokPJE
すまんがどう考えてもObjective-Cのままで問題ないんだがAppleさん
無駄に変える必要はないのだよ
2015/11/28(土) 13:21:11.06ID:mf/sQ31/
無理に変えるつもりはないでしょう
だが新しいものを作り続けるのが企業の使命だね
2015/11/28(土) 18:53:58.66ID:HXtO9qK/
OS XI にでもなってCocoaフレームワーク自体を捨てん限りは
Obj-Cも生き残るでしょ
2015/11/28(土) 19:05:45.56ID:e6xTroJ6
AppleがSwiftオンリーなFrameworkが出して来たらそろそろ移行を考えないといけないかもな
2015/11/28(土) 19:06:21.30ID:e6xTroJ6
すまん日本語変になった
204デフォルトの名無しさん
垢版 |
2015/11/28(土) 22:10:07.48ID:kgkzLj4L
アップルも仕様も固まってない新言語出す余裕があるなら既存のフレームワークでデグレード起こすなよ
iOS新しくなるたびに動いてたアプリの動作確認やり直したくない
2015/11/28(土) 23:27:15.28ID:6eqw6N3H
行儀の良いプログラムを書いていればOSのメジャーバージョンが1や2上がろうが問題ない、、はずだったのに最近はそうでもないから困るよな。
2015/11/28(土) 23:28:02.26ID:BQ0bn1Ds
具体的に何がデグレした?
207デフォルトの名無しさん
垢版 |
2015/11/29(日) 00:26:20.94ID:QBLtGFSe
あれはiOS8になった時の事だったが、CoreDataでordered to-many relationshipを使っているNSManagedObjectに対し、mutebleOrderedSetForKeyで得たNSMutableOrderedSetにaddObjectした途端に例外が発生することがあった。

あの時は取り急ぎスキーマから変えて対応せざるを得なかったが、回避で済ませてしまったためその後修正されたかどうかは分からない。その後、iCloudも使うようになったためordered relationshipは一切使わなくなった。
2015/11/29(日) 17:25:10.94ID:Vce1ffgL
結局、これからmacだiphoneだで
アプリを作りたいと思ってるヤツは、
どっちを勉強すれば良いの?
凡人だから両方は勉強できない。
2015/11/29(日) 18:09:05.24ID:A9KhUhEL
既存のコードの蓄積考えたらObjCでいいと思うけど

既に何らかの言語習得してるなら好きな方で
2015/11/29(日) 20:46:42.92ID:TqJ6Jff5
凡人でも両方勉強できるし
むしろ両方がオススメだ
2015/11/29(日) 23:35:25.86ID:4SB95NTF
そだね
2015/12/05(土) 13:22:14.50ID:ezhtU6tG
廃止になったら言語そのものも使えなくなるの?
2015/12/05(土) 15:04:53.42ID:/HX/hq4Y
そんなわけないでしょ
214デフォルトの名無しさん
垢版 |
2015/12/11(金) 12:29:48.01ID:MalFwClY
objcは業務
swiftは趣味の世界

objc3.xで世界が変わる
215デフォルトの名無しさん
垢版 |
2015/12/11(金) 12:31:12.54ID:MalFwClY
objc3.0でletとvarが導入されればswift死亡
2015/12/11(金) 12:34:56.80ID:k4LG4g9y
ObjCは老害専用言語
2015/12/11(金) 13:51:31.44ID:DzIPXkfp
>>208
次にお前は英語も数学も出来ないと言い出す
2015/12/11(金) 18:27:29.99ID:lEEILW0v
xibってなくなったの?
xcode7
219デフォルトの名無しさん
垢版 |
2015/12/11(金) 23:29:56.74ID:MalFwClY
Obj-CもSwiftも言語ではない。
ただのFrameworkラッパー、よってObj-Cで十分。
実は言語なんかよりやらなきゃならないことが多いし。
220デフォルトの名無しさん
垢版 |
2015/12/12(土) 03:02:26.99ID:593JE5qZ
そうだね。言語ごときで好きだの嫌いだの騒ぐのはアマチュア。
2015/12/12(土) 10:53:31.26ID:Zz+FClXu
言語で効率が全然違うから、プロの方がシビア。
2015/12/12(土) 17:31:40.64ID:/gwbfiZW
国内の新規案件はほとんどSwiftじゃない。新規のサンプルコードも
全部Swiftだし。
2015/12/12(土) 18:20:42.99ID:CMJEMtsG
Swiftはだれだったか忘れたがそいつのオナニー言語だろ
2015/12/12(土) 18:21:43.33ID:CMJEMtsG
あ、このベジータか
http://nondot.org/sabre/
2015/12/12(土) 19:37:14.29ID:ooN9fQ2a
Objective-Cの歴史をよく知らないか、自分のいた"モダン"な側から
古くて切り捨てるものと見てるのか、たぶん当人は
Objctive-C側からみてswiftがまるで足に鉄球つけて
時代遅れの狭いとこに押し込んでる
「退歩した」環境に見えてるの気づいてないとは思う。
226デフォルトの名無しさん
垢版 |
2015/12/13(日) 09:40:19.57ID:+eRy+6gb
キャストを認めないswiftがString⇔NSString互換してる時点で明らかに変
Core Foundationはswiftで書けないし
227デフォルトの名無しさん
垢版 |
2015/12/13(日) 09:55:29.13ID:+eRy+6gb
Objective-C 3.0 待ちかな・・
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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