Objective-C(オブジェクティブ シー)はプログラミング言語の一種。C言語をベースにSmalltalk型のオブジェクト指向機能を持たせた上位互換言語。
(Wikipedia:http://ja.wikipedia.org/wiki/Objective-C より)
前スレ
Objective-C [ObjC part:8.1];
http://mevius.2ch.net/test/read.cgi/tech/1414816517/
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:9];
■ このスレッドは過去ログ倉庫に格納されています
2017/11/17(金) 21:00:33.77ID:oYmLZZ1y
2017/11/17(金) 21:03:20.46ID:oYmLZZ1y
*** プログラム技術板 ***
【マック】Macintoshプログラミング質問箱
http://peace.2ch.net/test/read.cgi/tech/1113058054/
*** プログラマ板 ***
【Cocoa】Macプログラマのスレ【Objective-C】
http://kanae.2ch.net/test/read.cgi/prog/1214208397/
*** 新・mac板 ***
Macでプログラミング{11}
http://anago.2ch.net/test/read.cgi/mac/1414566499/
Xcode part14
http://egg.2ch.net/test/read.cgi/mac/1476190499/
プログラミング言語Swift Part4
http://egg.2ch.net/test/read.cgi/mac/1484763495/
【マック】Macintoshプログラミング質問箱
http://peace.2ch.net/test/read.cgi/tech/1113058054/
*** プログラマ板 ***
【Cocoa】Macプログラマのスレ【Objective-C】
http://kanae.2ch.net/test/read.cgi/prog/1214208397/
*** 新・mac板 ***
Macでプログラミング{11}
http://anago.2ch.net/test/read.cgi/mac/1414566499/
Xcode part14
http://egg.2ch.net/test/read.cgi/mac/1476190499/
プログラミング言語Swift Part4
http://egg.2ch.net/test/read.cgi/mac/1484763495/
2017/11/17(金) 21:09:55.63ID:oYmLZZ1y
*** 本家 ***
Objective-C プログラミング言語
https://developer.apple.com/jp/documentation/ProgrammingWithObjectiveC.pdf
Objective-C 2.0 プログラミング言語
ttp://read.pudn.com/downloads152/ebook/665246/ObjC.pdf
Blocksプログラミングトピックス
https://developer.apple.com/jp/documentation/Blocks.pdf
並列プログラミングガイド - GCDとか
https://developer.apple.com/jp/devcenter/ios/library/documentation/ConcurrencyProgrammingGuide.pdf
Objective-C Feature Availability Index
https://developer.apple.com/Library/mac/releasenotes/ObjectiveC/ObjCAvailabilityIndex/index.html
Objective-C Runtime Programming Guide
https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Introduction/Introduction.html
そのほか英語
https://developer.apple.com/library/mac/navigation/
*** 書籍 ***
荻原本 第3版/Kindle 版も有り
http://amazon.jp/dp/4797368276
HMDTダイナミック本
http://amazon.jp/dp/4861006414
Objective-C プログラミング言語
https://developer.apple.com/jp/documentation/ProgrammingWithObjectiveC.pdf
Objective-C 2.0 プログラミング言語
ttp://read.pudn.com/downloads152/ebook/665246/ObjC.pdf
Blocksプログラミングトピックス
https://developer.apple.com/jp/documentation/Blocks.pdf
並列プログラミングガイド - GCDとか
https://developer.apple.com/jp/devcenter/ios/library/documentation/ConcurrencyProgrammingGuide.pdf
Objective-C Feature Availability Index
https://developer.apple.com/Library/mac/releasenotes/ObjectiveC/ObjCAvailabilityIndex/index.html
Objective-C Runtime Programming Guide
https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Introduction/Introduction.html
そのほか英語
https://developer.apple.com/library/mac/navigation/
*** 書籍 ***
荻原本 第3版/Kindle 版も有り
http://amazon.jp/dp/4797368276
HMDTダイナミック本
http://amazon.jp/dp/4861006414
2017/11/17(金) 21:14:12.48ID:oYmLZZ1y
Objective-C Literals ― Clang 3.6 documentation
http://clang.llvm.org/docs/ObjectiveCLiterals.html
Apple のランタイムのソースコード
http://www.opensource.apple.com/source/objc4/
ダイナミック Objective-C サイト
http://news.mynavi.jp/column/objc/
英語のサイト
Objective-C 入門
http://cocoadevcentral.com/d/learn_objectivec/
Objective-C Style 1, 2 (変数名のつけかた等)
http://cocoadevcentral.com/articles/000082.php
http://cocoadevcentral.com/articles/000083.php
Mike Ash さん(Audio Hijack の中の人)のブログ、 Obj-C のランタイムの話が良く出る
http://mikeash.com/?page=pyblog/
C++ と Objective-C の文法の比較
http://static.stevereads.com/papers_to_read/from_c_to_objective-c.pdf
http://clang.llvm.org/docs/ObjectiveCLiterals.html
Apple のランタイムのソースコード
http://www.opensource.apple.com/source/objc4/
ダイナミック Objective-C サイト
http://news.mynavi.jp/column/objc/
英語のサイト
Objective-C 入門
http://cocoadevcentral.com/d/learn_objectivec/
Objective-C Style 1, 2 (変数名のつけかた等)
http://cocoadevcentral.com/articles/000082.php
http://cocoadevcentral.com/articles/000083.php
Mike Ash さん(Audio Hijack の中の人)のブログ、 Obj-C のランタイムの話が良く出る
http://mikeash.com/?page=pyblog/
C++ と Objective-C の文法の比較
http://static.stevereads.com/papers_to_read/from_c_to_objective-c.pdf
2017/11/17(金) 21:15:12.40ID:oYmLZZ1y
Swift と関連する Obj-C ドキュメント
*** 本家 ***
Using Swift with Cocoa and Objective-C
https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/index.html#//apple_ref/doc/uid/TP40014216
Swift and Objective-C in the Same Project
https://developer.apple.com/library/ios/documentation/swift/conceptual/buildingcocoaapps/MixandMatch.html
Adopting Modern Objective-C
https://developer.apple.com/library/ios/releasenotes/ObjectiveC/ModernizationObjC/AdoptingModernObjective-C/AdoptingModernObjective-C.html
Embedding Content with Swift in Objective-C
https://developer.apple.com/library/ios/qa/qa1881/_index.html
*** 本家 ***
Using Swift with Cocoa and Objective-C
https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/index.html#//apple_ref/doc/uid/TP40014216
Swift and Objective-C in the Same Project
https://developer.apple.com/library/ios/documentation/swift/conceptual/buildingcocoaapps/MixandMatch.html
Adopting Modern Objective-C
https://developer.apple.com/library/ios/releasenotes/ObjectiveC/ModernizationObjC/AdoptingModernObjective-C/AdoptingModernObjective-C.html
Embedding Content with Swift in Objective-C
https://developer.apple.com/library/ios/qa/qa1881/_index.html
2017/11/17(金) 21:30:22.97ID:0jV1JJrR
>>1
とりあえずw、さんきゅーっ
とりあえずw、さんきゅーっ
2017/11/17(金) 22:13:33.72ID:00kx/Fcv
前スレ最後の方は
「ぼく電気工事士ですけど、ブレーカーとスイッチの違いってなんですかね?
いつも電気ケトルでお湯沸かすのにブレーカーオンオフしてますけど?」
みたいでトリップ感あった。
「ぼく電気工事士ですけど、ブレーカーとスイッチの違いってなんですかね?
いつも電気ケトルでお湯沸かすのにブレーカーオンオフしてますけど?」
みたいでトリップ感あった。
8デフォルトの名無しさん
2017/11/17(金) 22:14:19.37ID:Tpi/0V/R メソッドに渡されるselfがclassのポインタかインスタンスのポインタかの違い
って言ってもわからんだろうな
って言ってもわからんだろうな
2017/11/17(金) 22:18:26.81ID:Q8rdVBz+
>>7
上手い例えだと思う。
上手い例えだと思う。
10デフォルトの名無しさん
2017/11/17(金) 22:45:46.26ID:KuiGlQ+X わかりました!
クラスメソッドはプロジェクトで1つしかインスタンスが持てない
インスタンスメソッドは複数持てる
ですね!
つまりメソッドのロジックは同じで内部変数が違うものをいくつも同時に保持したいかどうかですね!
クラスメソッドはプロジェクトで1つしかインスタンスが持てない
インスタンスメソッドは複数持てる
ですね!
つまりメソッドのロジックは同じで内部変数が違うものをいくつも同時に保持したいかどうかですね!
2017/11/17(金) 22:51:49.08ID:EkFnC7lu
一周回って合ってるおめでとう
2017/11/17(金) 22:57:51.02ID:Tpi/0V/R
ちょっと違う
13デフォルトの名無しさん
2017/11/17(金) 22:58:24.49ID:KuiGlQ+X ありがとうございます!
14デフォルトの名無しさん
2017/11/17(金) 22:59:02.57ID:KuiGlQ+X あれ?(汗)
2017/11/17(金) 23:04:16.69ID:oYmLZZ1y
逆に面白い解釈で初心者に解説する時の勉強になる可能性?
は無いか。
ここでNSObjctのインスタンスを見てみると
objc_object という構造体であり
中には Class ってのがいるだけだ
struct objc_object {
Class isa OBJC_ISA_AVAILABILITY;
};
Classってのはobjc_classと定義されているこんな感じの構造体だ
struct objc_class {
Class isa OBJC_ISA_AVAILABILITY;
Class super_class OBJC2_UNAVAILABLE;
const char *name OBJC2_UNAVAILABLE;
long version OBJC2_UNAVAILABLE;
long info OBJC2_UNAVAILABLE;
long instance_size OBJC2_UNAVAILABLE;
struct objc_ivar_list *ivars OBJC2_UNAVAILABLE;
struct objc_method_list **methodLists OBJC2_UNAVAILABLE;
struct objc_cache *cache OBJC2_UNAVAILABLE;
struct objc_protocol_list *protocols OBJC2_UNAVAILABLE;
};
そうインスタンスとはクラスを持っていてクラスはインスタンスを持っていないのだ
クラスメソッドもインスタンスメソッドもクラス構造体の中で定義されていて呼び出せる範囲が違うだけなのだ
そしてメソッドがインスタンスを持っているわけではなく
インスタンスの中のクラスの中にある物を呼び出しているのだ
これは構造はなくルールに近い話になる
は無いか。
ここでNSObjctのインスタンスを見てみると
objc_object という構造体であり
中には Class ってのがいるだけだ
struct objc_object {
Class isa OBJC_ISA_AVAILABILITY;
};
Classってのはobjc_classと定義されているこんな感じの構造体だ
struct objc_class {
Class isa OBJC_ISA_AVAILABILITY;
Class super_class OBJC2_UNAVAILABLE;
const char *name OBJC2_UNAVAILABLE;
long version OBJC2_UNAVAILABLE;
long info OBJC2_UNAVAILABLE;
long instance_size OBJC2_UNAVAILABLE;
struct objc_ivar_list *ivars OBJC2_UNAVAILABLE;
struct objc_method_list **methodLists OBJC2_UNAVAILABLE;
struct objc_cache *cache OBJC2_UNAVAILABLE;
struct objc_protocol_list *protocols OBJC2_UNAVAILABLE;
};
そうインスタンスとはクラスを持っていてクラスはインスタンスを持っていないのだ
クラスメソッドもインスタンスメソッドもクラス構造体の中で定義されていて呼び出せる範囲が違うだけなのだ
そしてメソッドがインスタンスを持っているわけではなく
インスタンスの中のクラスの中にある物を呼び出しているのだ
これは構造はなくルールに近い話になる
2017/11/17(金) 23:09:06.54ID:Tpi/0V/R
>>14
インスタンスメソッドも、メモリに確保される実体は一つだけ
インスタンスをいくら作ろうがメソッドの実体は一つ
selfが違うからインスタンスごとに確保されたように見えるんだろ?
インスタンスを生成するごとに新たにメモリに確保されてるのはインスタンス変数
インスタンスメソッドも、メモリに確保される実体は一つだけ
インスタンスをいくら作ろうがメソッドの実体は一つ
selfが違うからインスタンスごとに確保されたように見えるんだろ?
インスタンスを生成するごとに新たにメモリに確保されてるのはインスタンス変数
17デフォルトの名無しさん
2017/11/17(金) 23:21:41.87ID:KuiGlQ+X ロジックは1つで変数が複数ですね。
確かに無駄がないですね!
ここは超人レベルの方ばかりで難しいんですが、親切なので助かりました!
確かに無駄がないですね!
ここは超人レベルの方ばかりで難しいんですが、親切なので助かりました!
2017/11/17(金) 23:25:13.48ID:wg33BRe2
そうです
2017/11/17(金) 23:59:36.79ID:yjTQ4fwn
なぜ多くの開発者が今なお Swift よりも Objective-C を好むのか
https://frasco.io/why-many-developers-still-prefer-objective-c-to-swift-2c624232cdd2
https://frasco.io/why-many-developers-still-prefer-objective-c-to-swift-2c624232cdd2
20デフォルトの名無しさん
2017/11/18(土) 00:00:27.78ID:jHta9B9D もう一つ聞いていいですか。
Self.hensuと_hensuって同じものですか?
とりあえず全部_hensuで書いてます。
Self.hensuと_hensuって同じものですか?
とりあえず全部_hensuで書いてます。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「中国人の訪日熱は冷めた」 人気旅行先から日本外れる 14日で自粛呼びかけ1カ月 ★2 [蚤の市★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★7 [蚤の市★]
- 最新版Z級クソ映画ランキングが決定! [牛丼★]
- 【STARTO ENTERTAINMENT】SUPER EIGHTの横山裕、フジ『ドッキリGP』ロケで全治2ヶ月の重傷 [Ailuropoda melanoleuca★]
- 「1800万円の売り上げゼロに…」中国インバウンドに特化の宿の今 ★2 [蚤の市★]
- 公用車カーナビのNHK受信料「全額免除を」 千葉市議会、国に制度創設求める意見書可決 [少考さん★]
- この時間のおまえらって異常性癖多そうだよな
- フライドポテトでマクドナルドに勝てるやつあんの?
- 【朗報】南鳥島のレアアース、中国産の「20倍の純度」青山繁晴氏「日本は資源大国」日本復活のファンファーレが鳴り響く! [673057929]
- 愛国者「釘を使わない日本独自の伝統工法スゴイ!」X民「それ中国起源ですよ」→批判殺到 [834922174]
- 口角炎痛すぎ
- 【朗報】愛国保守党の公約、ガチでアリだと話題にwwwwwwwwww
