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
Objective-C [ObjC part:8.1]; [転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
2014/11/01(土) 13:35:17.70ID:12FSUUrY
2014/11/01(土) 13:35:57.63ID:12FSUUrY
*** プログラム技術板 ***
【マック】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 part12
http://anago.2ch.net/test/read.cgi/mac/1356341840/
let s: プログラミング言語? = Swift[2]
http://anago.2ch.net/test/read.cgi/mac/1408755325/
【マック】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 part12
http://anago.2ch.net/test/read.cgi/mac/1356341840/
let s: プログラミング言語? = Swift[2]
http://anago.2ch.net/test/read.cgi/mac/1408755325/
2014/11/01(土) 13:37:58.27ID:12FSUUrY
*** 本家 ***
Objective-C プログラミング言語
https://developer.apple.com/jp/devcenter/ios/library/documentation/ObjC.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/devcenter/ios/library/documentation/ObjC.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
2014/11/01(土) 13:38:53.84ID:12FSUUrY
*** 本家 ***
Objective-C 2.0 プログラミング言語
https://developer.apple.com/jp/devcenter/ios/library/documentation/ObjC.pdf
Blocksプログラミングトピックス
https://developer.apple.com/jp/devcenter/ios/library/documentation/Blocks.pdf
並列プログラミングガイド - GCDとか
https://developer.apple.com/jp/devcenter/ios/library/documentation/ConcurrencyProgrammingGuide.pdf
Objective-C 2.0 プログラミング言語
https://developer.apple.com/jp/devcenter/ios/library/documentation/ObjC.pdf
Blocksプログラミングトピックス
https://developer.apple.com/jp/devcenter/ios/library/documentation/Blocks.pdf
並列プログラミングガイド - GCDとか
https://developer.apple.com/jp/devcenter/ios/library/documentation/ConcurrencyProgrammingGuide.pdf
2014/11/01(土) 13:39:59.19ID:12FSUUrY
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://journal.mycom.co.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://ktd.club.fr/programmation/objective-c.php
http://clang.llvm.org/docs/ObjectiveCLiterals.html
Apple のランタイムのソースコード
http://www.opensource.apple.com/source/objc4/
ダイナミック Objective-C サイト
http://journal.mycom.co.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://ktd.club.fr/programmation/objective-c.php
2014/11/01(土) 13:42:24.66ID:12FSUUrY
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
7デフォルトの名無しさん
2014/11/01(土) 14:10:57.49ID:woVuP3aC >>1
スレ立ておつおつ
スレ立ておつおつ
2014/11/01(土) 14:18:06.53ID:c9/p9yfG
1乙
2014/11/02(日) 12:42:31.92ID:CjBmvnJw
ノ ゚.ノヽ , /} ...
,,イ`" 、-' `;_' ' ..::::::::::::::...
,-、 _.._ ( (,(~ヽ'~ ..:::::::::::::::::::::::
)'~ レー' 〉 ヽ i`'} .:::::::::::::::::::::::
~つ '-ー、 i | i' ...:::::::::::::::::::::::
/ < / 。/ ! ......::::::::::::::::::::::::: これは>>1乙じゃなくて
/ ~^´ /},-'' ,●::::::::::::::::::::::::::::::::::::
i、 ,i' _,,...,-‐-、/ i :::::::: .:::::::::::::
..ゝ <,,-==、 ,,-,/ .::::::::::: 放射能がうんたら
) {~''~>`v-''`ー゙`'~ ..::::::::: ........::.
{ レ_ノ ..::::::::. ......:::::::::
ノ '' ..::::::: ...::.:...:::::::::
.::::::::: ...:......:::::::::::: .
.:::::::::::. ..... .. ..:::::::::::::::::::::::: :::.
::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. :: ::..
.:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::: ::.
::::::::::::::::: :::::::::::::::::::::::::::::: :::::
.:: ::. :::
,,イ`" 、-' `;_' ' ..::::::::::::::...
,-、 _.._ ( (,(~ヽ'~ ..:::::::::::::::::::::::
)'~ レー' 〉 ヽ i`'} .:::::::::::::::::::::::
~つ '-ー、 i | i' ...:::::::::::::::::::::::
/ < / 。/ ! ......::::::::::::::::::::::::: これは>>1乙じゃなくて
/ ~^´ /},-'' ,●::::::::::::::::::::::::::::::::::::
i、 ,i' _,,...,-‐-、/ i :::::::: .:::::::::::::
..ゝ <,,-==、 ,,-,/ .::::::::::: 放射能がうんたら
) {~''~>`v-''`ー゙`'~ ..::::::::: ........::.
{ レ_ノ ..::::::::. ......:::::::::
ノ '' ..::::::: ...::.:...:::::::::
.::::::::: ...:......:::::::::::: .
.:::::::::::. ..... .. ..:::::::::::::::::::::::: :::.
::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. :: ::..
.:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::: ::.
::::::::::::::::: :::::::::::::::::::::::::::::: :::::
.:: ::. :::
2014/11/03(月) 00:34:00.72ID:goVpsTzK
保守
11デフォルトの名無しさん
2014/11/03(月) 11:15:08.31ID:aNJ5eidf Cと完全上位互換性をもつオブジェクト指向プログラミング言語はObjective-Cだけです
2014/11/03(月) 11:21:29.32ID:Avy9gAi6
ほう
2014/11/03(月) 14:56:05.14ID:bxypX2So
C++でのCとの違いを説明できたら褒めてやるが、無理だろうな
2014/11/03(月) 15:13:30.86ID:aNJ5eidf
2014/11/03(月) 15:28:27.78ID:bxypX2So
よくわかって言っているならだったが、やっぱりなっていう
バカがそういうこと言うとObjective-Cを貶めるだけなのでとても迷惑
バカがそういうこと言うとObjective-Cを貶めるだけなのでとても迷惑
2014/11/03(月) 15:31:13.39ID:aNJ5eidf
>>15
じゃあ、名誉挽回しておくれ
じゃあ、名誉挽回しておくれ
2014/11/03(月) 15:34:54.55ID:bxypX2So
馬鹿の尻拭いをなんでせなあかんねん
てか>>11って言っておいた自らそいうのか。恥もなにもないって馬鹿すぎるw
てか>>11って言っておいた自らそいうのか。恥もなにもないって馬鹿すぎるw
2014/11/03(月) 15:36:33.91ID:bxypX2So
(お前の馬鹿加減のを示すのが名誉挽回なんだがな)
2014/11/03(月) 15:37:34.92ID:goVpsTzK
発狂した ID:bxypX2So がスレを埋めてくれるようだ
2014/11/03(月) 15:39:32.87ID:bxypX2So
すぐに発狂って。アホらしいのにもほどがある...どこまで底抜けの馬鹿やねん
2014/11/03(月) 15:43:55.19ID:aNJ5eidf
2014/11/03(月) 15:52:30.90ID:bxypX2So
2014/11/03(月) 15:58:51.27ID:aNJ5eidf
>>22
完全上位互換性wたしかにアホな造語だな
ちょっと話盛っちゃったテヘッ
言いたかったのは、
C++はCの言語仕様を変えて(拡張)してOOP要素を追加
(つまり同じコードでもC言語とC++で意味が異なるところがある)
Objective-CはC+OOPで両者が内部的に独立だと言いたかった
完全上位互換性wたしかにアホな造語だな
ちょっと話盛っちゃったテヘッ
言いたかったのは、
C++はCの言語仕様を変えて(拡張)してOOP要素を追加
(つまり同じコードでもC言語とC++で意味が異なるところがある)
Objective-CはC+OOPで両者が内部的に独立だと言いたかった
2014/11/03(月) 16:00:54.01ID:eMtWYvPU
オブジェクトに対してメッセージセレクタからperformできるのってC++じゃ無理じゃないの?
Objective-Cにはsmalltalk由来のメソッド呼び出し機構があるけどC++でソレを実現するシステムって供給されてたっけ?
Objective-Cにはsmalltalk由来のメソッド呼び出し機構があるけどC++でソレを実現するシステムって供給されてたっけ?
2014/11/03(月) 16:03:27.39ID:bxypX2So
>>23
うん、くだらないぞ。C++の拡張であって純粋にCそのままでも使えるのになにを言っているのか
Objective-Cがとっても好きなのかもしれないが、おなじくObjective-Cが好きなのがお前と同じと見られる迷惑を考えてほしいw
うん、くだらないぞ。C++の拡張であって純粋にCそのままでも使えるのになにを言っているのか
Objective-Cがとっても好きなのかもしれないが、おなじくObjective-Cが好きなのがお前と同じと見られる迷惑を考えてほしいw
2014/11/03(月) 16:04:53.72ID:bxypX2So
2014/11/03(月) 16:07:34.94ID:aNJ5eidf
>>25
C++のクラスの中にCの関数って定義できたっけ?
C++のクラスの中にCの関数って定義できたっけ?
2014/11/03(月) 16:07:49.16ID:bxypX2So
(なんかとてもマジでアホらしくなったんですけどw)
2014/11/03(月) 16:08:49.67ID:aNJ5eidf
>>25
あなたもObjective-C好きなのか、それはすまなかった…。
あなたもObjective-C好きなのか、それはすまなかった…。
2014/11/03(月) 16:10:09.87ID:aNJ5eidf
>>28
そんなこと言わずに頼むよw
そんなこと言わずに頼むよw
2014/11/03(月) 16:10:46.79ID:bxypX2So
>>27
クラスの中になんで定義せなあかんねん
@implementation
の中に書けるから?クラスの中にあると思ってるの?
Objevtive-Cが好きならもっとObjevtive-Cの勉強をしなさいな
クラスの中になんで定義せなあかんねん
@implementation
の中に書けるから?クラスの中にあると思ってるの?
Objevtive-Cが好きならもっとObjevtive-Cの勉強をしなさいな
2014/11/03(月) 16:12:10.63ID:bxypX2So
>>30
いや、いいかげんもういいやw発狂しそうだからww
いや、いいかげんもういいやw発狂しそうだからww
2014/11/03(月) 16:13:20.15ID:aNJ5eidf
2014/11/03(月) 16:15:28.17ID:bxypX2So
(マジで言っているの?... もういいや)
2014/11/03(月) 16:27:58.86ID:goVpsTzK
予想通り発狂した ID:bxypX2So がスレ埋めてて笑ったw
最初の数レスだけからして基地外臭が漂ってたからな。
最初の数レスだけからして基地外臭が漂ってたからな。
2014/11/03(月) 16:29:25.64ID:eMtWYvPU
2014/11/03(月) 16:36:01.84ID:bxypX2So
2014/11/03(月) 16:40:51.63ID:aNJ5eidf
2014/11/03(月) 18:55:13.00ID:rWxTBzmZ
@Implementationの中に書くと前方宣言いらんのやで。豆。
2014/11/05(水) 19:33:36.62ID:WwM6K55L
>>39
どゆこと??
どゆこと??
2014/11/05(水) 20:19:08.13ID:12YCeqJI
関数プロトタイプをずらずら書かなくていいという事。
2014/11/05(水) 21:38:12.10ID:WwM6K55L
2014/11/06(木) 04:04:34.15ID:iVGs5M/e
44デフォルトの名無しさん
2014/11/06(木) 21:11:41.06ID:4Om1v5TR >>43
ただの関数なのでクラスメンバにはなり得ないのはわかる
Objective-Cの場合は、こういう風に普通にCの関数をクラスないに
何も考えずに書いちゃっても、しっかりクラスメンバとしてのメソッドと関数を
綺麗に分離できる文法体系になってるのが素晴らしいと思うんだけど
Objective-Cだけの話じゃないのかな
ただの関数なのでクラスメンバにはなり得ないのはわかる
Objective-Cの場合は、こういう風に普通にCの関数をクラスないに
何も考えずに書いちゃっても、しっかりクラスメンバとしてのメソッドと関数を
綺麗に分離できる文法体系になってるのが素晴らしいと思うんだけど
Objective-Cだけの話じゃないのかな
2014/11/07(金) 05:47:11.47ID:xhNEAT8L
void ClassA::FuncA( void ){
….
}
void FuncC( void ){
}
void ClassA::FuncB( void ){
}
….
}
void FuncC( void ){
}
void ClassA::FuncB( void ){
}
46デフォルトの名無しさん
2014/11/07(金) 07:50:28.25ID:NRYdimHv うむ
47デフォルトの名無しさん
2014/11/08(土) 07:39:56.00ID:p1cfQewS2014/11/08(土) 08:17:04.46ID:FLsnICPe
でもでもうるせーやつ。未熟極まりないのに自覚がないのは恥ずかしくないのか
2chで匿名だからか
2chで匿名だからか
2014/11/08(土) 08:30:45.39ID:p1cfQewS
>>48
…。
…。
2014/11/08(土) 11:45:42.73ID:p1cfQewS
しかしなんでこの言われようなんだろう
でもでもって、初レスだけど何か勘違いしてんのかな
結構、プログラミングスキル以前に人間性に難ありな人が多いのかねプログラマって
でもでもって、初レスだけど何か勘違いしてんのかな
結構、プログラミングスキル以前に人間性に難ありな人が多いのかねプログラマって
2014/11/08(土) 11:50:13.50ID:imGXi3N2
プログラマーとか関係ない
ここが2chだからでしょ
ここが2chだからでしょ
2014/11/08(土) 12:01:11.42ID:FLsnICPe
>>50
初レスって。うそくせーなあーw 本当に別人ならすまんかったな
だが、本当に上にいる「全く同じようなヤツ」と別人なら、このスレはお先真っ暗だなw
(別人でなんで「でも」から始まるのか??ああ、同じ思考・し好だからか…んなアホなっと思いたいw)
初レスって。うそくせーなあーw 本当に別人ならすまんかったな
だが、本当に上にいる「全く同じようなヤツ」と別人なら、このスレはお先真っ暗だなw
(別人でなんで「でも」から始まるのか??ああ、同じ思考・し好だからか…んなアホなっと思いたいw)
2014/11/08(土) 13:28:07.51ID:p1cfQewS
いやもういいっす
別に大した内容じゃないですし
別に大した内容じゃないですし
54デフォルトの名無しさん
2014/11/13(木) 08:03:27.53ID:TEV0paWH セレクタと関数ポインタの違いがよくわからないのですが、
どなたかおわかりになりますでしょうか?
どなたかおわかりになりますでしょうか?
2014/11/13(木) 08:06:46.99ID:1iY71Yqc
selfの有無じゃね
2014/11/13(木) 08:16:17.56ID:lmsym3p3
SEL はメソッドの名前でしょう。
メソッドは、クラスとセレクタとクラスorインスタンスのどちらであるかによって得られる。
Method class_getInstanceMethod(Class cls, SEL name)
Method class_getClassMethod(Class cls, SEL name)
そしてメソッドは実装である関数ポインタ、IMPを持っている。
メソッドは、クラスとセレクタとクラスorインスタンスのどちらであるかによって得られる。
Method class_getInstanceMethod(Class cls, SEL name)
Method class_getClassMethod(Class cls, SEL name)
そしてメソッドは実装である関数ポインタ、IMPを持っている。
2014/11/13(木) 12:31:08.08ID:Jx3Jj8A2
セレクタ: レシーバが、実行する関数実装の特定に用いる識別子
関数ポインタ: ある「ただひとつの」関数実装へのポインタ
セレクタは複数の関数実装に結びつきうる(ポリモーフィズム)が、関数ポインタはそうでない
セレクタに対応する関数実装のうち、ただひとつを特定したものがIMP。これがCの関数ポインタそのもの。
関数ポインタ: ある「ただひとつの」関数実装へのポインタ
セレクタは複数の関数実装に結びつきうる(ポリモーフィズム)が、関数ポインタはそうでない
セレクタに対応する関数実装のうち、ただひとつを特定したものがIMP。これがCの関数ポインタそのもの。
2014/11/13(木) 12:47:07.08ID:bBKFMYMs
メソッド呼び出しの仕組みが解れば違いも解るだろう。
2014/11/13(木) 12:48:05.58ID:dS9drdDA
message送っても別スレッドになる訳じゃない
60デフォルトの名無しさん
2014/11/13(木) 22:15:25.29ID:TEV0paWH みなさま、早速のレスをいただきありがとうございます。
メソッドには、セレクタという名前がついていて、IMPという関数ポインタも
同時に持っているということですね
>>57さんのレスで、セレクタはポリモーフィズムを持つとのことですが、
この意味は、例えば引数の型違いで定義されたオーバーロードされた
メソッドのセレクタは同じになるが、オーバーロードされているそれぞれの
メソッドのIMPはそれぞれ異なるアドレス値(関数ポインタ)を持つという
理解でよろしいでしょうか?
メソッドには、セレクタという名前がついていて、IMPという関数ポインタも
同時に持っているということですね
>>57さんのレスで、セレクタはポリモーフィズムを持つとのことですが、
この意味は、例えば引数の型違いで定義されたオーバーロードされた
メソッドのセレクタは同じになるが、オーバーロードされているそれぞれの
メソッドのIMPはそれぞれ異なるアドレス値(関数ポインタ)を持つという
理解でよろしいでしょうか?
2014/11/13(木) 23:46:43.15ID:P2x2UIfS
2014/11/14(金) 06:16:40.90ID:kMYuuo8x
2014/11/14(金) 08:01:02.15ID:DLTXyjTW
>>60
例えば、継承関係のないクラスAとB(どっちもNSObjectの直接のサブクラスとか)があって、どっちもdoSomethingメソッドを持ってるとする。
IMPはメソッドの実体を指してるから、AのdoSomethingとBのdoSomethingではIMPは異なるし、AのインスタンスをBのIMPに喰わせると誤動作する。
セレクタは"doSomething"というメソッド名そのものなので、同じセレクタを使ってAにメッセージを送ればAのメソッドが、Bに送ればBのメソッドが実行される。
例えば、継承関係のないクラスAとB(どっちもNSObjectの直接のサブクラスとか)があって、どっちもdoSomethingメソッドを持ってるとする。
IMPはメソッドの実体を指してるから、AのdoSomethingとBのdoSomethingではIMPは異なるし、AのインスタンスをBのIMPに喰わせると誤動作する。
セレクタは"doSomething"というメソッド名そのものなので、同じセレクタを使ってAにメッセージを送ればAのメソッドが、Bに送ればBのメソッドが実行される。
64デフォルトの名無しさん
2014/11/15(土) 07:45:53.26ID:Cmo7am1O2014/11/15(土) 12:19:59.41ID:atvcQtVA
>>61は>>60がオーバーロードとオーバーライドをごっちゃにしていると言っているけど、ごっちゃにはなってないと思う
で、オーバーロードが無いということだけど、例えばC++やJavaみたいに、
同じsomethingというメソッドで、引数がstd::stringか、intかで、
void something(std::string str);
void something(int num);
という風に同じ名前のメソッドを同じクラスで定義して、引数の型によって切り替えることはできないよ、ということ。
引数によって処理を変えたい場合は、With〜とかUsing〜とかつけて、セレクタを変えるのが、Objective-Cの作法。
- (void)somethingWithString:(NSString *)str;
- (void)somethingWithInteger:(NSInteger)num;
で、オーバーロードが無いということだけど、例えばC++やJavaみたいに、
同じsomethingというメソッドで、引数がstd::stringか、intかで、
void something(std::string str);
void something(int num);
という風に同じ名前のメソッドを同じクラスで定義して、引数の型によって切り替えることはできないよ、ということ。
引数によって処理を変えたい場合は、With〜とかUsing〜とかつけて、セレクタを変えるのが、Objective-Cの作法。
- (void)somethingWithString:(NSString *)str;
- (void)somethingWithInteger:(NSInteger)num;
2014/11/15(土) 12:23:50.50ID:lOoQn8Qz
>>64 の
>Objective-Cにはオーバーロードはないのですね
>Javaは勉強していたので、オーバーライドとオーバーロードの違いは
>理解していましたが、Objective-Cではないとは思いませんでした…
で終わっていることじゃ?何を改めてなのかイミフ
>Objective-Cにはオーバーロードはないのですね
>Javaは勉強していたので、オーバーライドとオーバーロードの違いは
>理解していましたが、Objective-Cではないとは思いませんでした…
で終わっていることじゃ?何を改めてなのかイミフ
2014/11/15(土) 12:26:57.21ID:lOoQn8Qz
2014/11/15(土) 12:29:54.67ID:atvcQtVA
>>66
悪い悪い、ようするに後半の引数の型によって処理をわけたいならObjective-Cではセレクタを変えろということを言いたかったんだけど
前振りでオーバーロードの説明を挟んだせいでくどくなっちゃった
そんなに怒るなよ
悪い悪い、ようするに後半の引数の型によって処理をわけたいならObjective-Cではセレクタを変えろということを言いたかったんだけど
前振りでオーバーロードの説明を挟んだせいでくどくなっちゃった
そんなに怒るなよ
2014/11/15(土) 12:33:58.59ID:lOoQn8Qz
なんで怒ることあるねん
読んでもなんで書いているのか意味分からないから意味分からないってだけだよ。怒られるような書いたの?w
オーバーロードが無いんだからそらそうだよな、ふーんってくらいだよ
読んでもなんで書いているのか意味分からないから意味分からないってだけだよ。怒られるような書いたの?w
オーバーロードが無いんだからそらそうだよな、ふーんってくらいだよ
70デフォルトの名無しさん
2014/11/15(土) 13:43:28.84ID:Cmo7am1O ありがとうございます
なんだか、私の書き方が悪く、いろいろとすみません
>>65
そうですね
私がなじみがあるのはそのように引数の型や数が違うオーバーロードですが、
Objective-Cでは同一セレクタでのオーバーロードは不可なのですね
確かにLCCでつないで〜With〜のようなメソッド名はCocoaではいろいろ見かけます
>>67
やはり型なのですか
もしかして、キャストだから実行時に解決されてオーバーロードという仕組みが
なかったりするのかなと思いましたが、キャストではないのですね
>>62さんのリンク読んでみると、(char *)型のmethod_typesというものも
あるようなので、それをみればオーバーロードの実装も出来るのではと
思いましたが、Objective-Cのポリシーなんでしょうかね…
なんだか、私の書き方が悪く、いろいろとすみません
>>65
そうですね
私がなじみがあるのはそのように引数の型や数が違うオーバーロードですが、
Objective-Cでは同一セレクタでのオーバーロードは不可なのですね
確かにLCCでつないで〜With〜のようなメソッド名はCocoaではいろいろ見かけます
>>67
やはり型なのですか
もしかして、キャストだから実行時に解決されてオーバーロードという仕組みが
なかったりするのかなと思いましたが、キャストではないのですね
>>62さんのリンク読んでみると、(char *)型のmethod_typesというものも
あるようなので、それをみればオーバーロードの実装も出来るのではと
思いましたが、Objective-Cのポリシーなんでしょうかね…
2014/11/15(土) 13:51:55.93ID:lOoQn8Qz
無くたって別にどうということは無いと思うんだけど、なぜ拘る?w
72デフォルトの名無しさん
2014/11/15(土) 13:59:38.62ID:Cmo7am1O2014/11/15(土) 14:06:01.65ID:lOoQn8Qz
>>72
使い勝手いい?よくわかんないなあ。単に関数名/メソッド名考えるのめんどくせーってのが緩和されるぐらいのような
メソッド呼び出しから始まったようだけど、Message Forwardingをちょっと勉強したらおもろいよ。なんでメッセージなのかもわかるかと(ここらがオーバーロードに関連しているような関連していないような)
使い勝手いい?よくわかんないなあ。単に関数名/メソッド名考えるのめんどくせーってのが緩和されるぐらいのような
メソッド呼び出しから始まったようだけど、Message Forwardingをちょっと勉強したらおもろいよ。なんでメッセージなのかもわかるかと(ここらがオーバーロードに関連しているような関連していないような)
74デフォルトの名無しさん
2014/11/15(土) 14:15:15.80ID:Cmo7am1O >>73
使う側からしても、型が違ってもメソッド名が同じな方が使いやすいかなと
思ったりしますが、確かになくてもよいといえばよいですね
使う側も渡す引数の型を意識してコーディングするので、むしろ
よいかもしれませんね
Message Forwardingですか。この辺りを読み込んでみます
https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles/ocrtForwarding.html
ありがとうございます
使う側からしても、型が違ってもメソッド名が同じな方が使いやすいかなと
思ったりしますが、確かになくてもよいといえばよいですね
使う側も渡す引数の型を意識してコーディングするので、むしろ
よいかもしれませんね
Message Forwardingですか。この辺りを読み込んでみます
https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles/ocrtForwarding.html
ありがとうございます
2014/11/15(土) 14:35:07.73ID:O7G7JpVO
メソッドの解決を名前だけでなく型でもやろうとすると何気に大変
仮にあるクラスAに
-(void)foo:(NSObject*)x;
-(void)foo:(NSNumber*)x;
-(void)foo:(NSString*)x;
という3つのメソッドがあったとして
[a foo:x];
のように呼んだとき、どのメソッドを呼べばいいかはxの型だけでなく継承関係も調べないといけない
例えばxがNSMutableStringだったらNSStringのやつを呼んでほしいだろう
NSMutableStringはNSObjectでもあるわけだがNSStringの方がより特殊なので優先度が高い
そうなるとメソッドを優先度で並べて型が該当するか上から順に調べねばなるまい
実行時のコストとして許容できるかどうか
仮にあるクラスAに
-(void)foo:(NSObject*)x;
-(void)foo:(NSNumber*)x;
-(void)foo:(NSString*)x;
という3つのメソッドがあったとして
[a foo:x];
のように呼んだとき、どのメソッドを呼べばいいかはxの型だけでなく継承関係も調べないといけない
例えばxがNSMutableStringだったらNSStringのやつを呼んでほしいだろう
NSMutableStringはNSObjectでもあるわけだがNSStringの方がより特殊なので優先度が高い
そうなるとメソッドを優先度で並べて型が該当するか上から順に調べねばなるまい
実行時のコストとして許容できるかどうか
2014/11/15(土) 15:19:15.90ID:RzrSosLr
藻舞は何をオーバーロードで、クダ巻いとるんじゃ。
普段からそんなに高品質な言語ばっかり、使っているからじゃ
JavaScriptなんか、引数の型を一々、
プログラマーがプログラミングして確かめるんだぞw
そうでないと、まともに動かんわいw
グダグダ言う前に、これくらい自分でプログラミングせえ!
普段からそんなに高品質な言語ばっかり、使っているからじゃ
JavaScriptなんか、引数の型を一々、
プログラマーがプログラミングして確かめるんだぞw
そうでないと、まともに動かんわいw
グダグダ言う前に、これくらい自分でプログラミングせえ!
2014/11/16(日) 19:14:57.26ID:PTffpO77
基本的にObjective-Cは
クラスはロボットで「これやれ」って命令すれば勝手にやってくれる
もしわかんないことがあったら「なにができるんだ?」って聞けば
「これができますギチギチ」って答えてくれる
そういう風じゃないと命令者に複雑さが伝播してオブジェクト単位で弄れないだろ?
っていうオブジェクト指向の思想理念に忠実だからな…
クラスはロボットで「これやれ」って命令すれば勝手にやってくれる
もしわかんないことがあったら「なにができるんだ?」って聞けば
「これができますギチギチ」って答えてくれる
そういう風じゃないと命令者に複雑さが伝播してオブジェクト単位で弄れないだろ?
っていうオブジェクト指向の思想理念に忠実だからな…
2014/11/16(日) 19:35:21.60ID:4B0DOTZq
Objective-C、やはり素晴らしいじゃないか
2014/11/16(日) 20:32:06.09ID:y1asw4VY
Objective-CやSmalltalk、Rubyの失敗によって、
そういうアラン・ケイのメッセージ送信パラダイムが間違っていたということが証明されたから
C++やJava風の静的束縛パラダイムに移行しようということでできたのがSwiftなんだけどな
そういうアラン・ケイのメッセージ送信パラダイムが間違っていたということが証明されたから
C++やJava風の静的束縛パラダイムに移行しようということでできたのがSwiftなんだけどな
2014/11/16(日) 21:25:59.70ID:jkITM5Sp
>>79
> Objective-CやSmalltalk、Rubyの失敗によって、
失敗したのはストラウストラップ流オブジェクト指向の C++
MS はコンポーネントの動的結合を実現するために COM を開発したが、
結局は対応しきれずに C# へ移行せざるをえなかった
この移行に伴う混乱が Vista 以降の度重なる開発遅延をまねいた
> C++やJava風の静的束縛パラダイムに移行しようということでできたのがSwiftなんだけどな
いや、Swift は(Objective-C と同じく)動的束縛と静的束縛のハイブリッドだよ
コンポーネント間の結合はこれまで通り(メッセージ送信パラダイムによる)動的束縛が利用される
コンポーネント内部の実装に静的束縛を用いるのもこれまでと同じだけど、違うのは
メモリ保護の無い C を捨てて安全なプログラミングを可能にした点
MS は MFC(C++) を捨てて .Net(C#) へ移行せざるを得なかった
Apple は言語を Objective-C から Swift へと移行しようとしているけど、
実行環境は Cocoa を継続して利用できている
結果を見れば、失敗したのは ストラウストラップ流オブジェクト指向の C++ なんだよ
> Objective-CやSmalltalk、Rubyの失敗によって、
失敗したのはストラウストラップ流オブジェクト指向の C++
MS はコンポーネントの動的結合を実現するために COM を開発したが、
結局は対応しきれずに C# へ移行せざるをえなかった
この移行に伴う混乱が Vista 以降の度重なる開発遅延をまねいた
> C++やJava風の静的束縛パラダイムに移行しようということでできたのがSwiftなんだけどな
いや、Swift は(Objective-C と同じく)動的束縛と静的束縛のハイブリッドだよ
コンポーネント間の結合はこれまで通り(メッセージ送信パラダイムによる)動的束縛が利用される
コンポーネント内部の実装に静的束縛を用いるのもこれまでと同じだけど、違うのは
メモリ保護の無い C を捨てて安全なプログラミングを可能にした点
MS は MFC(C++) を捨てて .Net(C#) へ移行せざるを得なかった
Apple は言語を Objective-C から Swift へと移行しようとしているけど、
実行環境は Cocoa を継続して利用できている
結果を見れば、失敗したのは ストラウストラップ流オブジェクト指向の C++ なんだよ
2014/11/16(日) 21:35:15.07ID:cjwSUl7C
>Objective-CやSmalltalk、Rubyの失敗によって、
…どれも失敗してないように見えるが…
というか、これから歴史が判断するとは思うが
C++みたいな密なコーディングを必要とするのに規約ゆるゆるの
言語で起きた混乱のせいで、規約カッチリすればイインダヨ!な
関数型が注目されてるけれど、結局密なプログラミングは
後で他人がソースを弄りにくいという根本的な問題をほっかむりしてる
っつーよりそもそも"そういうもの"として問題にもしてないようにも見えるので
遠からずまた一過性の時代の徒花として忘れられて
swiftに取り入れられてるみたいに「そういう書き方できたら便利だね」的な
過去に提唱された便利概念に落ち着いてゆくと思う。
…どれも失敗してないように見えるが…
というか、これから歴史が判断するとは思うが
C++みたいな密なコーディングを必要とするのに規約ゆるゆるの
言語で起きた混乱のせいで、規約カッチリすればイインダヨ!な
関数型が注目されてるけれど、結局密なプログラミングは
後で他人がソースを弄りにくいという根本的な問題をほっかむりしてる
っつーよりそもそも"そういうもの"として問題にもしてないようにも見えるので
遠からずまた一過性の時代の徒花として忘れられて
swiftに取り入れられてるみたいに「そういう書き方できたら便利だね」的な
過去に提唱された便利概念に落ち着いてゆくと思う。
2014/11/17(月) 00:12:14.50ID:ZeG9cYbU
blocksやgcの件からわかるようにObjective-Cが古臭く拡張しづらくなったのと、
静的言語の方がリファクタリングツール等のIDE連携ツールを作りやすいから移行し
ただけだと思う。
静的言語の方がリファクタリングツール等のIDE連携ツールを作りやすいから移行し
ただけだと思う。
2014/11/17(月) 02:45:35.45ID:cESIq0Cd
> というか、これから歴史が判断するとは思うがC++みたいな密なコーディングを必要とするのに規約ゆるゆるの言語で起きた混乱のせいで、規約カッチリ
> すればイインダヨ!な関数型が注目されてるけれど、結局密なプログラミングは後で他人がソースを弄りにくいという根本的な問題をほっかむりしてるっ
> つーよりそもそも"そういうもの"として問題にもしてないようにも見えるので遠からずまた一過性の時代の徒花として忘れられてswiftに取り入れられてる
> みたいに「そういう書き方できたら便利だね」的な過去に提唱された便利概念に落ち着いてゆくと思う。
これで一文
> すればイインダヨ!な関数型が注目されてるけれど、結局密なプログラミングは後で他人がソースを弄りにくいという根本的な問題をほっかむりしてるっ
> つーよりそもそも"そういうもの"として問題にもしてないようにも見えるので遠からずまた一過性の時代の徒花として忘れられてswiftに取り入れられてる
> みたいに「そういう書き方できたら便利だね」的な過去に提唱された便利概念に落ち着いてゆくと思う。
これで一文
2014/11/17(月) 04:06:46.80ID:mzmuQz/D
パラダイムと規約に関係があるとは知らなかったよ
2014/11/17(月) 08:16:03.02ID:zHATB9tj
>>82
GCは よりな ARC が現れたから単に消えただけだじゃね
System Preferences PaneがGC必須だったようにARC出るまではGC推すつもりあったかと
BlocksだっていろいろBlocksバージョンのメソッド付け加えているように、また、新しいメソッドはBlocksのみだったりでBlocksは推してはいるだろ
拡張しづらくなったのではなく、ちゃんぽん/カオス度がだろう
GCは よりな ARC が現れたから単に消えただけだじゃね
System Preferences PaneがGC必須だったようにARC出るまではGC推すつもりあったかと
BlocksだっていろいろBlocksバージョンのメソッド付け加えているように、また、新しいメソッドはBlocksのみだったりでBlocksは推してはいるだろ
拡張しづらくなったのではなく、ちゃんぽん/カオス度がだろう
2014/11/17(月) 16:59:55.46ID:oWS5dSpx
2014/11/17(月) 17:27:43.93ID:3Q29PYZj
「あまり強い言葉を遣うなよ、弱く見えるぞ。」
2014/11/17(月) 17:35:24.26ID:zHATB9tj
>>86
お前の程度に合わせて書いてあげることもできるが、お前の程度がわからないのでなあ。すまんな
お前の程度に合わせて書いてあげることもできるが、お前の程度がわからないのでなあ。すまんな
2014/11/17(月) 17:37:36.18ID:YUWmI/Qt
エンジニアになりたいと言う人(若い女の子)が面接に来ていたので話を立ち聞きした
どんな分野やりたいのか聴かれてweb系のエンジニアと言ってたが
どんな勉強してきたのかという問いにはC/C++をやりましたと
なぜC/C++なの?と聞かれて
色んな言語の基礎になる言語だからだと教えてもらったので・・・
と答えていた
面接してる会社はデザイン会社だった
どんな分野やりたいのか聴かれてweb系のエンジニアと言ってたが
どんな勉強してきたのかという問いにはC/C++をやりましたと
なぜC/C++なの?と聞かれて
色んな言語の基礎になる言語だからだと教えてもらったので・・・
と答えていた
面接してる会社はデザイン会社だった
2014/11/17(月) 19:21:26.75ID:JwoO3TSc
ID が Qt
2014/11/17(月) 19:37:02.05ID:kiWqo9or
QtはライセンスがGPLだから駄目
2014/11/18(火) 08:24:29.44ID:kE9ttoYj
2014/11/18(火) 09:48:40.84ID:vZbeIuzJ
>>92
頭が―か?
頭が―か?
2014/11/19(水) 00:25:30.52ID:Uu5NHBSW
医療プログラマーが超高難易度の免許制に / フリーソフトやオープンソースの無作為配布も全面禁止
http://fox.2ch.net/test/read.cgi/poverty/1416286592/
http://fox.2ch.net/test/read.cgi/poverty/1416286592/
2014/11/19(水) 12:35:17.12ID:JZ2oYyd9
>>89
gccですか?VCですかそれともObjective-Cですか?と聞かなかった会社が糞
gccですか?VCですかそれともObjective-Cですか?と聞かなかった会社が糞
96デフォルトの名無しさん
2014/12/01(月) 22:56:51.54ID:m0wFwcIO Objective-CをCocoa以外で活用してるケースってあるのかね
2014/12/06(土) 17:27:29.67ID:0UG7+0Oi
Effective Objective-C 2.0
2014/12/06(土) 17:27:59.31ID:0UG7+0Oi
とかいつの間にか出てたみたいだが、内容はどうなのかね
99デフォルトの名無しさん
2014/12/21(日) 03:29:15.03ID:B0izS0B+ H
100デフォルトの名無しさん
2014/12/24(水) 22:47:32.30ID:CYbjoPN5101デフォルトの名無しさん
2014/12/24(水) 22:49:51.21ID:CYbjoPN5 何このスレ、ほかのやつも馬鹿ばっかじゃん。
Objective-Cはもうオシマイだな。
Objective-Cはもうオシマイだな。
102デフォルトの名無しさん
2014/12/24(水) 23:22:36.71ID:w/c96Wtd >>100
どうした急に…。
どうした急に…。
103デフォルトの名無しさん
2014/12/24(水) 23:37:50.82ID:EVdPtiwJ マジキチには触れない
104デフォルトの名無しさん
2014/12/27(土) 00:50:33.94ID:ju+a0CQP はじめて書き込みします。
自学の一貫としてpaizaのラーニング「数の並び替え」に挑戦しています。
「改行区切りで正の整数nがi個入力されるので小さい順に改行区切りで出力してください。」という問題です。しかし解けません。
数値を取得→配列に入れる→ソートする→同じ数値があれば削除→表示
という流れですすもうとしていましたが、うまくいきません。
できたこと
→入力値をNSNumberに変換してNSMutableArrayに入れ込む。
→昇順ソート(ソートのメソッドを使用)
できないこと
→改行入力を判定し、for文から抜けること(配列の要素数取得)
→隣り合った要素を比較し、イコールだった場合は表示しないこと
見本になるような答えがあればと思うのですが、プログラマーの皆さんはどのようにコーディングされるのでしょうか?
教えていただけたら嬉しいです。
自学の一貫としてpaizaのラーニング「数の並び替え」に挑戦しています。
「改行区切りで正の整数nがi個入力されるので小さい順に改行区切りで出力してください。」という問題です。しかし解けません。
数値を取得→配列に入れる→ソートする→同じ数値があれば削除→表示
という流れですすもうとしていましたが、うまくいきません。
できたこと
→入力値をNSNumberに変換してNSMutableArrayに入れ込む。
→昇順ソート(ソートのメソッドを使用)
できないこと
→改行入力を判定し、for文から抜けること(配列の要素数取得)
→隣り合った要素を比較し、イコールだった場合は表示しないこと
見本になるような答えがあればと思うのですが、プログラマーの皆さんはどのようにコーディングされるのでしょうか?
教えていただけたら嬉しいです。
105104
2014/12/27(土) 00:53:20.66ID:ju+a0CQP ちなみに、現在はこんなかんじで書いています。
(for文のところの回数は適当な数です)
#import <Foundation/Foundation.h>
int main(void){
NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
NSMutableArray *array = [NSMutableArray array];
//getData
for(int i=0;i<7;i++){
int n;
scanf("%d",&n);
NSNumber *num = [NSNumber numberWithInt:n];
[array addObject:num];
}
//sort
array = [array sortedArrayUsingSelector:@selector(compare:)];
for(int p=1 ; p<7 ;p++){
NSNumber *arraynum1 = [array objectAtIndex:p-1];
NSNumber *arraynum2 = [array objectAtIndex:p];
if([arraynum1 intValue] == [arraynum2 intValue]){
printf("test====%d",[arraynum1 intValue]);
}}
for(int i=0; i<6;i++){
NSNumber *resultNum = [array objectAtIndex:i];
NSString *s = [NSString stringWithFormat:@"%d\n",[resultNum intValue]];
[[NSFileHandle fileHandleWithStandardOutput] writeData: [s dataUsingEncoding: NSUTF8StringEncoding]];}
[pool release];
return 0;
}
(for文のところの回数は適当な数です)
#import <Foundation/Foundation.h>
int main(void){
NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
NSMutableArray *array = [NSMutableArray array];
//getData
for(int i=0;i<7;i++){
int n;
scanf("%d",&n);
NSNumber *num = [NSNumber numberWithInt:n];
[array addObject:num];
}
//sort
array = [array sortedArrayUsingSelector:@selector(compare:)];
for(int p=1 ; p<7 ;p++){
NSNumber *arraynum1 = [array objectAtIndex:p-1];
NSNumber *arraynum2 = [array objectAtIndex:p];
if([arraynum1 intValue] == [arraynum2 intValue]){
printf("test====%d",[arraynum1 intValue]);
}}
for(int i=0; i<6;i++){
NSNumber *resultNum = [array objectAtIndex:i];
NSString *s = [NSString stringWithFormat:@"%d\n",[resultNum intValue]];
[[NSFileHandle fileHandleWithStandardOutput] writeData: [s dataUsingEncoding: NSUTF8StringEncoding]];}
[pool release];
return 0;
}
106デフォルトの名無しさん
2014/12/27(土) 01:41:52.96ID:kBwj7yl6107デフォルトの名無しさん
2014/12/27(土) 01:46:46.53ID:kBwj7yl6 reverseObjectEnumeratorいらなかった
というか降順と昇順を逆に覚えていた
というか降順と昇順を逆に覚えていた
108デフォルトの名無しさん
2014/12/27(土) 02:34:15.99ID:pJ1SHZUQ 二分探索は速いだけじゃなく、外れの場合はインサートポイントが得られるという、かなりお手軽で二倍お得。自分で二分探索を書いても
for(int i=0;i<7;i++){
int n;
scanf("%d",&n);
const NSInteger count = array.count;
NSNumber *newNumber = @(n);
NSUInteger index = [array indexOfObject:newNumber inSortedRange:NSMakeRange(0, count) options:(NSBinarySearchingInsertionIndex) usingComparator:^NSComparisonResult(id obj1, id obj2) {
return [obj1 compare:obj2];
}];
if(index < count && ((NSNumber *)array[index]).intValue == n)
;
else
[array insertObject:newNumber atIndex:index];
}
for(int i=0;i<7;i++){
int n;
scanf("%d",&n);
const NSInteger count = array.count;
NSNumber *newNumber = @(n);
NSUInteger index = [array indexOfObject:newNumber inSortedRange:NSMakeRange(0, count) options:(NSBinarySearchingInsertionIndex) usingComparator:^NSComparisonResult(id obj1, id obj2) {
return [obj1 compare:obj2];
}];
if(index < count && ((NSNumber *)array[index]).intValue == n)
;
else
[array insertObject:newNumber atIndex:index];
}
109デフォルトの名無しさん
2014/12/28(日) 01:32:41.16ID:t3FnsveB そんなのNSなんたらやってないでc++で書きゃいいじゃん
110デフォルトの名無しさん
2014/12/28(日) 02:21:54.56ID:9eiZ+Gka ここになんだから Objective-C でやる/の勉強でということだろ
頓珍漢なことを言い出さんな
頓珍漢なことを言い出さんな
111デフォルトの名無しさん
2014/12/29(月) 08:59:18.53ID:Z4v1tAUQ 素朴な疑問だけど、「言い出さんな」って何の書き間違い?
それともそんな言い回しがあるの? それならどんな意味?
それともそんな言い回しがあるの? それならどんな意味?
112デフォルトの名無しさん
2014/12/29(月) 10:01:01.25ID:0b80RVUG 言いなさんな
だろ
だろ
113デフォルトの名無しさん
2014/12/29(月) 10:02:24.88ID:UGzXTa7o 言いなさんな
あるいは
言い出しなさんな
だと思う
あるいは
言い出しなさんな
だと思う
114デフォルトの名無しさん
2014/12/29(月) 11:16:33.80ID:/fu+2Q3X 2ちゃんの住民ってアスペが多いのか
ときどき日本語の文章の意味を取り違って
真逆のレス返すひととかいるよね
ときどき日本語の文章の意味を取り違って
真逆のレス返すひととかいるよね
115デフォルトの名無しさん
2014/12/29(月) 17:32:40.50ID:0o73V2FG よく見るが自分がそうでないとも言い切れないのであまりつっこまないようにしている
116デフォルトの名無しさん
2015/01/03(土) 22:27:31.84ID:/eH07gY4 あけおめ?
117デフォルトの名無しさん
2015/02/03(火) 10:52:02.28ID:rDBGcWBx Object-Cってカプセル化できないのか、しても意味ないようなことが書いてあったけど
ttp://news.mynavi.jp/column/objc/031/
・どんなクラスでも性質を変えられる。
・どんなフィールド名も追ってけばクラス名から参照できちゃう。
なら、暗証番号とか保持してるクラスを見つけてprivate/protectをpublicに変えちゃえば中見えるんじゃね?
秘匿したいプロパティを隠す方法を教えてください。
ttp://news.mynavi.jp/column/objc/031/
・どんなクラスでも性質を変えられる。
・どんなフィールド名も追ってけばクラス名から参照できちゃう。
なら、暗証番号とか保持してるクラスを見つけてprivate/protectをpublicに変えちゃえば中見えるんじゃね?
秘匿したいプロパティを隠す方法を教えてください。
118デフォルトの名無しさん
2015/02/03(火) 11:07:05.38ID:tOi9MMpi 関数内にstaticで定義すればivarListにも出ないかな。
119デフォルトの名無しさん
2015/02/03(火) 22:01:35.92ID:tKBD0v6T novocaineって分かる人います?
120デフォルトの名無しさん
2015/02/04(水) 11:48:21.24ID:kErMECZ6 javascript も Ruby も Python も_
121デフォルトの名無しさん
2015/02/08(日) 10:15:33.41ID:pR6nMOCQ >>118
でもそれだと暗証番号とか生成して秘匿するのには使えないよね?
特にコンパイル前に暗証番号分かってるような特注PGじゃなくて汎用なのだと。
関数内static変数をキーに使って加工した暗証番号を変数として保持するとかなのかな。
これならクラスに付けてないゲッターでプロパティが知れて漏れても
メソッドで加工してるから大丈夫とか。
そしてそのメソッドでは合ってるかどうかだけ返すようにすれば推測しづらいかな?
でもそれだと暗証番号とか生成して秘匿するのには使えないよね?
特にコンパイル前に暗証番号分かってるような特注PGじゃなくて汎用なのだと。
関数内static変数をキーに使って加工した暗証番号を変数として保持するとかなのかな。
これならクラスに付けてないゲッターでプロパティが知れて漏れても
メソッドで加工してるから大丈夫とか。
そしてそのメソッドでは合ってるかどうかだけ返すようにすれば推測しづらいかな?
122デフォルトの名無しさん
2015/02/08(日) 11:12:28.61ID:HJEgExkV >>121
要はIvarにしなければクラスの外からは見えないということで、
関数をsetter/getter兼用にして、その中で変数を宣言すればどうかと。
int cryptoNumber(int mode, int value)
{
static int local = 0;
//0:setter, 1:getter
switch (mode) {
case 0: local = value; break;
default: break;
}
return local;
}
まあ、関数のスコープ外からは見えないってだけだが。
要はIvarにしなければクラスの外からは見えないということで、
関数をsetter/getter兼用にして、その中で変数を宣言すればどうかと。
int cryptoNumber(int mode, int value)
{
static int local = 0;
//0:setter, 1:getter
switch (mode) {
case 0: local = value; break;
default: break;
}
return local;
}
まあ、関数のスコープ外からは見えないってだけだが。
123デフォルトの名無しさん
2015/02/08(日) 12:27:24.17ID:pR6nMOCQ でもその引数valueはどこかのクラス内で
何らかのプロパティとして保持されてる値が引き渡されてるわけだろ?
Object-Cは完全なるOPPなんだから最終的にはどこかしらのプロパティが保持して
それは漏れなくIvarで引用されちゃうよね?
何らかのプロパティとして保持されてる値が引き渡されてるわけだろ?
Object-Cは完全なるOPPなんだから最終的にはどこかしらのプロパティが保持して
それは漏れなくIvarで引用されちゃうよね?
124デフォルトの名無しさん
2015/02/08(日) 12:43:20.66ID:HJEgExkV 保持するのはあくまで関数内のlocalのみだよ。
そしてセット/ゲットできるのもその関数を定義したクラス内のみ。(関数もstatic)
その値をどう生成してどう使うかにもよるし、どのレベルで隠蔽するかって事でもある。
そしてセット/ゲットできるのもその関数を定義したクラス内のみ。(関数もstatic)
その値をどう生成してどう使うかにもよるし、どのレベルで隠蔽するかって事でもある。
125デフォルトの名無しさん
2015/02/08(日) 12:46:03.85ID:pR6nMOCQ あとコメントアウトしてても
//0:setter, 1:getter
はマジックナンバーになりそうな。。。
int cryptoNumber(int mode, int value)
{
const int getter = 1;
const int setter = 9;
static int local = 5;
switch (mode) {
case setter: local = value; break;
case getter: break;
default: return null;
}
return local;
}
デフォルトはエラー処理な。
//0:setter, 1:getter
はマジックナンバーになりそうな。。。
int cryptoNumber(int mode, int value)
{
const int getter = 1;
const int setter = 9;
static int local = 5;
switch (mode) {
case setter: local = value; break;
case getter: break;
default: return null;
}
return local;
}
デフォルトはエラー処理な。
126デフォルトの名無しさん
2015/02/08(日) 12:53:54.58ID:pR6nMOCQ >>124
それだと全然Object-Cっぽくないよね?
実質Cじゃん。
Object-Cでどうやってカプセル化もどきをするかってことだから。
クラスになったらばれる。
>関数もstatic
だからObject-Cはメソッド(関数)名が分かればstaticをpublicに上書きできるんだって。
それだと全然Object-Cっぽくないよね?
実質Cじゃん。
Object-Cでどうやってカプセル化もどきをするかってことだから。
クラスになったらばれる。
>関数もstatic
だからObject-Cはメソッド(関数)名が分かればstaticをpublicに上書きできるんだって。
127デフォルトの名無しさん
2015/02/08(日) 13:05:35.56ID:HJEgExkV そりゃObjective-Cで完全な隠蔽は無理よw Ivarとかメソッドにした時点で見えるんだから。
必要ならCで書けばいいし、書けるのがObj-Cのメリットでもあると思うし、
どういう目的でその変数を使うかわからんけど、
例えばその関数にセッターと照合の機能を持たせれば、関数外へ値を出す事も無くなる。
typedef enum {
CryptoNumber_Mode_Set,
CryptoNumber_Mode_Compare
} CryptoNumber_Mode;
BOOL cryptoNumber(CryptoNumber_Mode mode, int ivalue) {….}
必要ならCで書けばいいし、書けるのがObj-Cのメリットでもあると思うし、
どういう目的でその変数を使うかわからんけど、
例えばその関数にセッターと照合の機能を持たせれば、関数外へ値を出す事も無くなる。
typedef enum {
CryptoNumber_Mode_Set,
CryptoNumber_Mode_Compare
} CryptoNumber_Mode;
BOOL cryptoNumber(CryptoNumber_Mode mode, int ivalue) {….}
128デフォルトの名無しさん
2015/02/08(日) 13:20:42.38ID:HJEgExkV っていうか、Obj_Cは「C+オブジェクトシステム」って、そこの記事に書いてなかったっけ。
129デフォルトの名無しさん
2015/02/08(日) 13:39:05.07ID:wyLER5GX Objective-Cで完全な隠蔽って無理じゃ無い?
そのためにiOSデバイスは他人のコードをデバッガ起動させてないんじゃないの?
牢破りで台無しだけど
そのためにiOSデバイスは他人のコードをデバッガ起動させてないんじゃないの?
牢破りで台無しだけど
130デフォルトの名無しさん
2015/02/10(火) 01:18:01.12ID:YlSr2a8D 質問です。
自分はARCから入って、最近MRCの存在を知ったのですが
MRCしか無かった頃には、弱い参照をどのように処理していたのでしょうか?
assignは単に参照を保持するだけ…と言うことは、所有者が居なくなってもnilにならず
retainカウントがゼロ=破棄されて内容が保証できないメモリ、を参照してしまう可能性がありますよね…?
自分はARCから入って、最近MRCの存在を知ったのですが
MRCしか無かった頃には、弱い参照をどのように処理していたのでしょうか?
assignは単に参照を保持するだけ…と言うことは、所有者が居なくなってもnilにならず
retainカウントがゼロ=破棄されて内容が保証できないメモリ、を参照してしまう可能性がありますよね…?
131デフォルトの名無しさん
2015/02/10(火) 01:36:50.93ID:kXovpB1O >>130
運を天に任せてた。
ってか、weakは基本的には循環retainを防ぐためのものなので、親が消されたら子も消されるような状況なら、親→子はretain(strong)、子→親はassignで問題ない。
(親以外に子をretainしてる奴がいると問題だけど…。)
運を天に任せてた。
ってか、weakは基本的には循環retainを防ぐためのものなので、親が消されたら子も消されるような状況なら、親→子はretain(strong)、子→親はassignで問題ない。
(親以外に子をretainしてる奴がいると問題だけど…。)
132デフォルトの名無しさん
2015/02/10(火) 04:43:34.61ID:aT+wxLBo nonnull, nullable, null_resettable, null_unspecified が来ましたで
Cocoa/Cocoa Touch全部そうするのかなあ
Cocoa/Cocoa Touch全部そうするのかなあ
133デフォルトの名無しさん
2015/02/10(火) 05:48:15.38ID:YlSr2a8D134デフォルトの名無しさん
2015/02/10(火) 18:26:56.21ID:3nLl+ggX nonnull, nullable, null_unspecified 修飾子が加わったね
135デフォルトの名無しさん
2015/02/11(水) 04:09:33.71ID:IVeIu2if136デフォルトの名無しさん
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とか配列とか使うのは知ってるんだけど調べても書き方が.....
JSONのGETまでは出来るんだけどそこからtable viewに表示させる方法がわからない....
NSDictionaryとか配列とか使うのは知ってるんだけど調べても書き方が.....
138デフォルトの名無しさん
2015/03/05(木) 00:08:35.68ID:U/1KqdAB139デフォルトの名無しさん
2015/03/08(日) 19:28:12.30ID:HPLKgVu5 超古いコードをYosemite対応に書き換え中。
NSCalendarDateを置き換えしてたんだが、
なんだか凄く面倒くさい書き方になったんだな。
一々プロパティ叩かないと使えないNSCalendarとか
NSDateFormatterとか、行数増えまくり。
Fomatterが遅いのはホント酷いな。
もう少しコンビニエンスなメソッド用意して
欲しい。
NSCalendarDateを置き換えしてたんだが、
なんだか凄く面倒くさい書き方になったんだな。
一々プロパティ叩かないと使えないNSCalendarとか
NSDateFormatterとか、行数増えまくり。
Fomatterが遅いのはホント酷いな。
もう少しコンビニエンスなメソッド用意して
欲しい。
140デフォルトの名無しさん
2015/03/08(日) 19:33:54.16ID:CC8CPwGl 自分で追加すればええやん?
Fomatterが遅いのは対処の仕方がいくつかはあるし、ずっと前から遅いことだろう
まあ、NSDate <-> 文字列もしくは分解は所見ではげげっというほど面倒に見えるだろうけど
Fomatterが遅いのは対処の仕方がいくつかはあるし、ずっと前から遅いことだろう
まあ、NSDate <-> 文字列もしくは分解は所見ではげげっというほど面倒に見えるだろうけど
141デフォルトの名無しさん
2015/03/08(日) 20:10:13.17ID:WTSZ2xfx ハゲゲッに見えて困惑した
142デフォルトの名無しさん
2015/03/11(水) 08:11:20.24ID:s1uWJrZ7 Table viewにcell作ってUIText view配置してTwitterクライアント作ったんだが、下にスクロールしてくとだんだん表示が重なってきてバグってしまう
同じ事起きた人解決方法知ってたら教えてください
同じ事起きた人解決方法知ってたら教えてください
143デフォルトの名無しさん
2015/03/12(木) 01:19:13.06ID:nNmLNiHn144デフォルトの名無しさん
2015/03/16(月) 18:10:31.38ID:BqfOZ60v WikipediaにObj-CのランタイムがCで書かれてるって書いてるんだけど
誰もやらないような面倒臭いことをすればCの記述のみでObj-Cが書けるのか?
誰もやらないような面倒臭いことをすればCの記述のみでObj-Cが書けるのか?
145デフォルトの名無しさん
2015/03/16(月) 19:05:41.37ID:Nv6mM3KY 人間業じゃないと思うけど書こうと思えば書けるな
146デフォルトの名無しさん
2015/03/16(月) 22:23:57.89ID:dCO+oU4w @〜とか[ ]とかはコンパイラをごにょごにょ必要だべ。
147デフォルトの名無しさん
2015/03/16(月) 22:44:42.95ID:Nv6mM3KY いや、それも無しのCの記述のみってことなんじゃね
148デフォルトの名無しさん
2015/03/16(月) 23:26:06.83ID:dCO+oU4w Obj-Cというより、CでOOPってことやね。かなりの事はできるだろ。
blocksとかprotocolは無いけど、observer, target/actionはできるし、
構造体にretainCount持たせてコンストラクタ/デストラクタ関数を書けばMRCっぽくなるんじゃね?
blocksとかprotocolは無いけど、observer, target/actionはできるし、
構造体にretainCount持たせてコンストラクタ/デストラクタ関数を書けばMRCっぽくなるんじゃね?
149デフォルトの名無しさん
2015/03/16(月) 23:55:29.64ID:BqfOZ60v Cで書かれたObj-Cのランタイム関数群を使って
Cの記述のみで実質Obj-Cとしてプログラミングするのは可能か
という質問だった
分かりづらくてスマソ
当然だけどARCではなくMRCで
Cの記述のみで実質Obj-Cとしてプログラミングするのは可能か
という質問だった
分かりづらくてスマソ
当然だけどARCではなくMRCで
150デフォルトの名無しさん
2015/03/17(火) 00:07:00.89ID:c3ZGZmTn 逆にObj-Cと言っても、Cから拡張された特有の部分(@〜とか[ ]とか)以外はCだよ。
だからCのみの記述だと、上の特有の部分が使えないって事になるかな。
その意味では、実質Obj-Cではなく実質Cでプログラミングする事は可能。
だからCのみの記述だと、上の特有の部分が使えないって事になるかな。
その意味では、実質Obj-Cではなく実質Cでプログラミングする事は可能。
151デフォルトの名無しさん
2015/03/17(火) 00:26:31.31ID:XaFY+4CG そういう意味で、Objective-Cって、日本語の文字の特性にピッタリ相当するよね。
C++が、漢字だけ使う状況を維持しつつ、時代に合わせて全体を改良していった簡体字のポジションに符合する。
一方、かな漢字のモザイクミックスによって、外来語に合わせた柔軟性と、前方互換性の絶妙のバランスの日本語というObjective-C。
C系統のレガシー部分(漢字文化)自体を捨ててしまって、新しく文字体系を作り直してしまったハングルはSwiftみたいなもんかな。
C++が、漢字だけ使う状況を維持しつつ、時代に合わせて全体を改良していった簡体字のポジションに符合する。
一方、かな漢字のモザイクミックスによって、外来語に合わせた柔軟性と、前方互換性の絶妙のバランスの日本語というObjective-C。
C系統のレガシー部分(漢字文化)自体を捨ててしまって、新しく文字体系を作り直してしまったハングルはSwiftみたいなもんかな。
152デフォルトの名無しさん
2015/03/17(火) 00:28:23.92ID:hphSATZF >>149
純粋なCでObjective-Cオブジェクトを扱うのは全く問題なく可能
新しいクラスのObjective-Cオブジェクトを作るのも構造体でしかないから、とてもがんばれば可能
Objevtive-Cは元々Cのプリプロセッサでしかなく、現在のclangでもObjective-CからCソースを生成できたはず
純粋なCでObjective-Cオブジェクトを扱うのは全く問題なく可能
新しいクラスのObjective-Cオブジェクトを作るのも構造体でしかないから、とてもがんばれば可能
Objevtive-Cは元々Cのプリプロセッサでしかなく、現在のclangでもObjective-CからCソースを生成できたはず
153デフォルトの名無しさん
2015/03/17(火) 01:01:26.34ID:nOSd0QwC154デフォルトの名無しさん
2015/03/17(火) 01:37:20.90ID:qWCLUX9n 調べるなら、RubyCocoaやFreePascalのObjective-C互換機能あたりがいいかも
C++のクラスは他言語から使う事はほぼ不可能だけど、ObjCは割と楽勝
C++のクラスは他言語から使う事はほぼ不可能だけど、ObjCは割と楽勝
155デフォルトの名無しさん
2015/03/17(火) 02:09:39.21ID:9PxdASsP #import <objc/runtime.h>
見れば色々出来ることが分かる。
見れば色々出来ることが分かる。
156デフォルトの名無しさん
2015/03/17(火) 04:25:54.29ID:k/LbPUX+ ttp://news.mynavi.jp/column/objc/
ここの連載とかもmessage送信の仕組みとかの解説が気楽に読める
ここの連載とかもmessage送信の仕組みとかの解説が気楽に読める
157デフォルトの名無しさん
2015/03/17(火) 08:19:09.18ID:EJu+JoaD158デフォルトの名無しさん
2015/03/17(火) 20:25:47.35ID:YX0UjXZ+ Smalltalkに寄せてしまえば良かったのに。
有名なSmalltalkの処理系Smalltalk/Xみたいに遅い部分だけC言語を
インラインで書く。
有名なSmalltalkの処理系Smalltalk/Xみたいに遅い部分だけC言語を
インラインで書く。
159デフォルトの名無しさん
2015/04/16(木) 15:08:50.01ID:o308Ymfa Textured Windowの上にカスタムビューを置いたときに
そのカスタムビューがドラッグされたときwindowが移動しないようにしたいのですが。
カスタムビューの中にカーゾルが入ったら
setMovableByWindowBackground:NO
にしてカーソルが出たら戻す方法以外に、方法はありますか?
試しにimageViewを置くとドラッグで移動しないので、何かありそうなのですがググっても分かりませんでした。
そのカスタムビューがドラッグされたときwindowが移動しないようにしたいのですが。
カスタムビューの中にカーゾルが入ったら
setMovableByWindowBackground:NO
にしてカーソルが出たら戻す方法以外に、方法はありますか?
試しにimageViewを置くとドラッグで移動しないので、何かありそうなのですがググっても分かりませんでした。
160デフォルトの名無しさん
2015/04/16(木) 15:17:40.05ID:o308Ymfa161Killery ◆CzYk9LSvHM
2015/04/30(木) 22:03:56.13ID:7KgGp2Xd 誰かobjective-cできる人
一緒にゲーム作りませんか?
こういうの作ってます
ttps://sourceforge.jp/projects/awarsiii/releases/
一緒にゲーム作りませんか?
こういうの作ってます
ttps://sourceforge.jp/projects/awarsiii/releases/
162デフォルトの名無しさん
2015/05/01(金) 10:29:44.06ID:XsxuvEVX いいけど一緒にって何やるの?
163デフォルトの名無しさん
2015/05/01(金) 11:59:27.42ID:7BSZ6A8A164デフォルトの名無しさん
2015/05/01(金) 15:51:02.29ID:OXJqR0q8 call そのスレ
165デフォルトの名無しさん
2015/05/01(金) 17:07:59.94ID:7BSZ6A8A >>164
ゲ製のココね
http://peace.2ch.net/test/read.cgi/gamedev/1388301393/
頑張ってるの解るんで読んでるんだけど、上にも書いたようにもちょっと自己投資して勉強するべしって思うのよね。
ゲ製のココね
http://peace.2ch.net/test/read.cgi/gamedev/1388301393/
頑張ってるの解るんで読んでるんだけど、上にも書いたようにもちょっと自己投資して勉強するべしって思うのよね。
166デフォルトの名無しさん
2015/06/19(金) 16:17:27.35ID:9hebRpBD 入門Objective-C 2.0 [第1版]
入門Objective-C 2.0 [第2版]
入門Objective-C 2.0 [第3版]
この違いって何?
入門Objective-C 2.0 [第2版]
入門Objective-C 2.0 [第3版]
この違いって何?
167デフォルトの名無しさん
2015/06/19(金) 16:34:07.70ID:Hn4vsFYs 版数
168デフォルトの名無しさん
2015/06/19(金) 18:23:40.34ID:FzphauAa 改訂じゃなければ中身一緒
169デフォルトの名無しさん
2015/06/19(金) 18:24:27.78ID:FzphauAa ああそれは
第一刷
第二刷
第三刷
のほうだったかな
第一刷
第二刷
第三刷
のほうだったかな
170デフォルトの名無しさん
2015/06/20(土) 08:34:11.31ID:6G5MNLrc >>166
間違いや足りない内容を修正、追記
間違いや足りない内容を修正、追記
171デフォルトの名無しさん
2015/06/22(月) 01:10:44.37ID:vs8WgO/1 今、framework作ってるんだが、framework in frameworkって出来ないよな?
またそのあたり詳しく書いてある書籍、サイトを教えてほしい
やりたいことはあるframeworkがプロジェクトに組み込まれていたらメソッドを使用して
なければ自frameworkのメソッドを使用するといったことをしたいんだ
またそのあたり詳しく書いてある書籍、サイトを教えてほしい
やりたいことはあるframeworkがプロジェクトに組み込まれていたらメソッドを使用して
なければ自frameworkのメソッドを使用するといったことをしたいんだ
172デフォルトの名無しさん
2015/06/22(月) 01:27:05.08ID:U3VtOrGe 別々のフレームワークにしとけばいいんじゃないの
その作りたい 自フレームワーク の設定で あるフレームワーク を Optional にして、自フレームワークのコードで あるフレームワーク(のコード) が実在するかしないか見るだけじゃないの
その作りたい 自フレームワーク の設定で あるフレームワーク を Optional にして、自フレームワークのコードで あるフレームワーク(のコード) が実在するかしないか見るだけじゃないの
173デフォルトの名無しさん
2015/06/22(月) 23:17:56.19ID:Kf0FVNH9 Objective-Cだったら、メソッドのシグネチャがあってれば実態は全く
別のクラスでも動くけど。Javaみたいにcastの例外とか飛ばないし。
別のクラスでも動くけど。Javaみたいにcastの例外とか飛ばないし。
174デフォルトの名無しさん
2015/06/22(月) 23:39:53.89ID:U3VtOrGe 飛ばないし?で?
175デフォルトの名無しさん
2015/10/27(火) 16:35:39.20ID:6G1cYYTw Finderの、「このアプリケーションで開く:」をコードで変更する方法を探しています。
LaunchServicesのLSGetApplicationForItemで設定されているアプリケーションを取得出来ましたが
設定を変更する方法が分かりません。
お知恵をお貸しください。
LaunchServicesのLSGetApplicationForItemで設定されているアプリケーションを取得出来ましたが
設定を変更する方法が分かりません。
お知恵をお貸しください。
176デフォルトの名無しさん
2015/10/27(火) 18:59:31.54ID:bGIBGj3u /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister
とかでどうにか出きんのかね
とかでどうにか出きんのかね
177デフォルトの名無しさん
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 もまだあるようだからそれでいいんじゃね
FSRef は確か Deprecated だよなあって、Yosemite だけど LaunchServices.framework の中見たら _LSSetStrongBindingForFileURL がちゃんとあった
ググってみても _LSSetStrongBindingForFileURL のプロトタイプを解析した人はいなさげだけど
まあ、_LSSetStrongBindingForRef もまだあるようだからそれでいいんじゃね
178デフォルトの名無しさん
2015/10/27(火) 19:49:36.89ID:6+1/cOui _LSSetStrongBindingForRef を使ってコマンドラインを作った人のがあった
https://github.com/lipidity/CLIMac/blob/master/src/setapp.m
試してないけど、動くんじゃね
ああ、Mac App Store に上げるつもりとかだったら使えないけど
https://github.com/lipidity/CLIMac/blob/master/src/setapp.m
試してないけど、動くんじゃね
ああ、Mac App Store に上げるつもりとかだったら使えないけど
179デフォルトの名無しさん
2015/10/27(火) 21:32:47.70ID:2fOxN6nT >>177
ありがとうございます。
LSSetStrongBindingForRefでデータを開くデフォルトアプリを個別に変更出来ました。
特定のフォルダの中のデータのみ、デフォルトではなく別のアプリケーションで開くように設定する奴を作りたかったので助かりました。
Finderで一つづつやるのは、大変なのでこれで捗りそうです。
ありがとうございます。
LSSetStrongBindingForRefでデータを開くデフォルトアプリを個別に変更出来ました。
特定のフォルダの中のデータのみ、デフォルトではなく別のアプリケーションで開くように設定する奴を作りたかったので助かりました。
Finderで一つづつやるのは、大変なのでこれで捗りそうです。
180デフォルトの名無しさん
2015/11/19(木) 08:55:12.35ID:JIJtk7D/ ブラッド・コックスとトム・ラブがObjective-Cを作り「この言語はCのメモリ安全性とSmalltalkの高速性を合わせたものだ」と宣言する。
現代の歴史家は2人が失読症ではないかと疑っている。
https://twitter.com/okdshin/status/666903312151613440
現代の歴史家は2人が失読症ではないかと疑っている。
https://twitter.com/okdshin/status/666903312151613440
181デフォルトの名無しさん
2015/11/19(木) 18:31:52.89ID:opr9KqWY >>180はコピペ基地外
182デフォルトの名無しさん
2015/11/21(土) 12:57:07.40ID:8kcVam9N いろんなとこにコピペしてるけど、ググってみたら
アンサイクロペディアみたいないろんな言語を皮肉った英語ブログのネタが元で
そもそも各言語について適当にでっちあげたわざと間違ってる内容を書いてるとこも
含めたジョークらしいので、コックスもラブもんなこと言ってないっぽいし
コピペ意図が不明すぎる。
アンサイクロペディアみたいないろんな言語を皮肉った英語ブログのネタが元で
そもそも各言語について適当にでっちあげたわざと間違ってる内容を書いてるとこも
含めたジョークらしいので、コックスもラブもんなこと言ってないっぽいし
コピペ意図が不明すぎる。
183デフォルトの名無しさん
2015/11/21(土) 13:08:30.33ID:pj6HPKNQ ググったらスレ建てもしてるみたいだな
確かに意図がわからんな「Cのメモリ安全性」「Smalltalkの高速性」共に逆のことをワザと書いたとしか思えないもんな
元ネタはわからんが(元ネタがあったとしても上記のとおり単なるジョークとしか思えない)、コピペ本人はどうもジョークとは思っていないキチと推察すると意図もわかるかなw
確かに意図がわからんな「Cのメモリ安全性」「Smalltalkの高速性」共に逆のことをワザと書いたとしか思えないもんな
元ネタはわからんが(元ネタがあったとしても上記のとおり単なるジョークとしか思えない)、コピペ本人はどうもジョークとは思っていないキチと推察すると意図もわかるかなw
184デフォルトの名無しさん
2015/11/22(日) 17:13:33.90ID:GwOnodE2 ネタにマジレスして構ってやるなよ
ボットで適当に蒔いてるだけだろ
ボットで適当に蒔いてるだけだろ
185デフォルトの名無しさん
2015/11/23(月) 21:29:06.04ID:j1CLVbI1 この言語って、今さら覚える意味あるの?
強制的にswiftを覚えないといけないのか?
変態紳士感がなくなってつまらん・・・
強制的にswiftを覚えないといけないのか?
変態紳士感がなくなってつまらん・・・
186デフォルトの名無しさん
2015/11/23(月) 22:05:36.96ID:eMpdXwtN Swiftはつまらんよな
Objective-Cで良かったのに
Objective-Cで良かったのに
187デフォルトの名無しさん
2015/11/24(火) 21:29:19.64ID:9T6iquHX Swiftは仕様が固まるまで製品じゃ使えない
188デフォルトの名無しさん
2015/11/25(水) 10:16:10.57ID:DmnqISoa 俺は仕事で1回使ってみたけどしばらくはObjective-Cだなと思った。また来年のWWDCの発表を見て今後どうするか考える。
189デフォルトの名無しさん
2015/11/26(木) 09:48:13.02ID:xBfynER4 "C#の出現でC++は終わったな!"はおかしいと一目でわかるが
"swiftの出現でObjective-Cは終わったな!"は
なんか騙されてswiftから始める人が多そうでちょっと困る。
"swiftの出現でObjective-Cは終わったな!"は
なんか騙されてswiftから始める人が多そうでちょっと困る。
190デフォルトの名無しさん
2015/11/26(木) 20:02:41.94ID:tASN5hyu Objective-Cの本もswiftの本も買った
入門編だけど
SWIFTはiPhone向けの言語かな
入門編だけど
SWIFTはiPhone向けの言語かな
191デフォルトの名無しさん
2015/11/27(金) 04:32:20.42ID:qQlw7qsR 入り口はどうあれプログラミングに興味を持って、始めてくれればいいじゃないか。
swift触ってたら、絶対にobjcの方が楽ってのに気づいてobjcに変えるだろうし。
swift触ってたら、絶対にobjcの方が楽ってのに気づいてobjcに変えるだろうし。
192デフォルトの名無しさん
2015/11/27(金) 08:08:00.07ID:K1GiTf24 個人的にはObjective-Cは最高な言語だと思う
Cに純粋にオブジェクト指向部分を足したってのがとてもはっきりしてる体系が気に入ってる
Cに純粋にオブジェクト指向部分を足したってのがとてもはっきりしてる体系が気に入ってる
193デフォルトの名無しさん
2015/11/27(金) 09:41:14.23ID:cJWLDRkK Swiftの方が楽だろ
194デフォルトの名無しさん
2015/11/27(金) 10:18:20.72ID:KobZxewL >>193
多言語使える人だとObjective-Cの方が読みやすかったりする(特にsmalltalkとCを使える人には)
ARC以降だとオブジェクトの寿命が確定的に書けるのも気に入っているのだけどSwiftそんなにいいかねぇ?
多言語使える人だとObjective-Cの方が読みやすかったりする(特にsmalltalkとCを使える人には)
ARC以降だとオブジェクトの寿命が確定的に書けるのも気に入っているのだけどSwiftそんなにいいかねぇ?
195デフォルトの名無しさん
2015/11/27(金) 10:33:33.00ID:UY/CmALQ どっちも楽だ
好きな方使え
好きな方使え
196デフォルトの名無しさん
2015/11/27(金) 12:02:36.84ID:YdZhD1ux 最近、BASICがFORTRANとかで初心者がつまずく型宣言とかを
わざと排した本当に高級言語だった。ってのを知ったけど
そんな感じでswiftにはObjective-Cから煩雑な宣言や明示的な設定を排したものを期待したら
なんか言語の基本的な方向自体も変化したものが出てきたのでコレジャナイ感があるんだよなぁ…
(次世代のBASICみたいな位置で初学者これでいいかな?とも思うけど)
Objective-C 3.0待ってる感じ。
わざと排した本当に高級言語だった。ってのを知ったけど
そんな感じでswiftにはObjective-Cから煩雑な宣言や明示的な設定を排したものを期待したら
なんか言語の基本的な方向自体も変化したものが出てきたのでコレジャナイ感があるんだよなぁ…
(次世代のBASICみたいな位置で初学者これでいいかな?とも思うけど)
Objective-C 3.0待ってる感じ。
197デフォルトの名無しさん
2015/11/27(金) 13:13:46.62ID:gok+YEjG Swiftのいいところを取り込んだObjective-C 3.0は楽しみだね。
198デフォルトの名無しさん
2015/11/27(金) 15:38:45.88ID:c/N8jVfb199デフォルトの名無しさん
2015/11/28(土) 12:54:08.32ID:6FOokPJE すまんがどう考えてもObjective-Cのままで問題ないんだがAppleさん
無駄に変える必要はないのだよ
無駄に変える必要はないのだよ
200デフォルトの名無しさん
2015/11/28(土) 13:21:11.06ID:mf/sQ31/ 無理に変えるつもりはないでしょう
だが新しいものを作り続けるのが企業の使命だね
だが新しいものを作り続けるのが企業の使命だね
201デフォルトの名無しさん
2015/11/28(土) 18:53:58.66ID:HXtO9qK/ OS XI にでもなってCocoaフレームワーク自体を捨てん限りは
Obj-Cも生き残るでしょ
Obj-Cも生き残るでしょ
202デフォルトの名無しさん
2015/11/28(土) 19:05:45.56ID:e6xTroJ6 AppleがSwiftオンリーなFrameworkが出して来たらそろそろ移行を考えないといけないかもな
203デフォルトの名無しさん
2015/11/28(土) 19:06:21.30ID:e6xTroJ6 すまん日本語変になった
204デフォルトの名無しさん
2015/11/28(土) 22:10:07.48ID:kgkzLj4L アップルも仕様も固まってない新言語出す余裕があるなら既存のフレームワークでデグレード起こすなよ
iOS新しくなるたびに動いてたアプリの動作確認やり直したくない
iOS新しくなるたびに動いてたアプリの動作確認やり直したくない
205デフォルトの名無しさん
2015/11/28(土) 23:27:15.28ID:6eqw6N3H 行儀の良いプログラムを書いていればOSのメジャーバージョンが1や2上がろうが問題ない、、はずだったのに最近はそうでもないから困るよな。
206デフォルトの名無しさん
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は一切使わなくなった。
あの時は取り急ぎスキーマから変えて対応せざるを得なかったが、回避で済ませてしまったためその後修正されたかどうかは分からない。その後、iCloudも使うようになったためordered relationshipは一切使わなくなった。
208デフォルトの名無しさん
2015/11/29(日) 17:25:10.94ID:Vce1ffgL 結局、これからmacだiphoneだで
アプリを作りたいと思ってるヤツは、
どっちを勉強すれば良いの?
凡人だから両方は勉強できない。
アプリを作りたいと思ってるヤツは、
どっちを勉強すれば良いの?
凡人だから両方は勉強できない。
209デフォルトの名無しさん
2015/11/29(日) 18:09:05.24ID:A9KhUhEL 既存のコードの蓄積考えたらObjCでいいと思うけど
既に何らかの言語習得してるなら好きな方で
既に何らかの言語習得してるなら好きな方で
210デフォルトの名無しさん
2015/11/29(日) 20:46:42.92ID:TqJ6Jff5 凡人でも両方勉強できるし
むしろ両方がオススメだ
むしろ両方がオススメだ
211デフォルトの名無しさん
2015/11/29(日) 23:35:25.86ID:4SB95NTF そだね
212デフォルトの名無しさん
2015/12/05(土) 13:22:14.50ID:ezhtU6tG 廃止になったら言語そのものも使えなくなるの?
213デフォルトの名無しさん
2015/12/05(土) 15:04:53.42ID:/HX/hq4Y そんなわけないでしょ
214デフォルトの名無しさん
2015/12/11(金) 12:29:48.01ID:MalFwClY objcは業務
swiftは趣味の世界
objc3.xで世界が変わる
swiftは趣味の世界
objc3.xで世界が変わる
215デフォルトの名無しさん
2015/12/11(金) 12:31:12.54ID:MalFwClY objc3.0でletとvarが導入されればswift死亡
216デフォルトの名無しさん
2015/12/11(金) 12:34:56.80ID:k4LG4g9y ObjCは老害専用言語
217デフォルトの名無しさん
2015/12/11(金) 13:51:31.44ID:DzIPXkfp >>208
次にお前は英語も数学も出来ないと言い出す
次にお前は英語も数学も出来ないと言い出す
218デフォルトの名無しさん
2015/12/11(金) 18:27:29.99ID:lEEILW0v xibってなくなったの?
xcode7
xcode7
219デフォルトの名無しさん
2015/12/11(金) 23:29:56.74ID:MalFwClY Obj-CもSwiftも言語ではない。
ただのFrameworkラッパー、よってObj-Cで十分。
実は言語なんかよりやらなきゃならないことが多いし。
ただのFrameworkラッパー、よってObj-Cで十分。
実は言語なんかよりやらなきゃならないことが多いし。
220デフォルトの名無しさん
2015/12/12(土) 03:02:26.99ID:593JE5qZ そうだね。言語ごときで好きだの嫌いだの騒ぐのはアマチュア。
221デフォルトの名無しさん
2015/12/12(土) 10:53:31.26ID:Zz+FClXu 言語で効率が全然違うから、プロの方がシビア。
222デフォルトの名無しさん
2015/12/12(土) 17:31:40.64ID:/gwbfiZW 国内の新規案件はほとんどSwiftじゃない。新規のサンプルコードも
全部Swiftだし。
全部Swiftだし。
223デフォルトの名無しさん
2015/12/12(土) 18:20:42.99ID:CMJEMtsG Swiftはだれだったか忘れたがそいつのオナニー言語だろ
224デフォルトの名無しさん
2015/12/12(土) 18:21:43.33ID:CMJEMtsG あ、このベジータか
http://nondot.org/sabre/
http://nondot.org/sabre/
225デフォルトの名無しさん
2015/12/12(土) 19:37:14.29ID:ooN9fQ2a Objective-Cの歴史をよく知らないか、自分のいた"モダン"な側から
古くて切り捨てるものと見てるのか、たぶん当人は
Objctive-C側からみてswiftがまるで足に鉄球つけて
時代遅れの狭いとこに押し込んでる
「退歩した」環境に見えてるの気づいてないとは思う。
古くて切り捨てるものと見てるのか、たぶん当人は
Objctive-C側からみてswiftがまるで足に鉄球つけて
時代遅れの狭いとこに押し込んでる
「退歩した」環境に見えてるの気づいてないとは思う。
226デフォルトの名無しさん
2015/12/13(日) 09:40:19.57ID:+eRy+6gb キャストを認めないswiftがString⇔NSString互換してる時点で明らかに変
Core Foundationはswiftで書けないし
Core Foundationはswiftで書けないし
227デフォルトの名無しさん
2015/12/13(日) 09:55:29.13ID:+eRy+6gb Objective-C 3.0 待ちかな・・
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最近頭悪いよね
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って言語作ればいいのに
どうせ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();
}
if (obj.isKindOfClass(UIView.class)) {
obj.removeFromSuperView();
}
235デフォルトの名無しさん
2015/12/14(月) 21:01:22.96ID:b2CmJBSx >>234
もはやメッセージ式ではない件
もはやメッセージ式ではない件
237デフォルトの名無しさん
2015/12/14(月) 21:38:24.48ID:EuhoRupa Swiftは単なる話題づくり
つまりネタ
つまりネタ
238デフォルトの名無しさん
2015/12/14(月) 22:22:42.49ID:b2CmJBSx239デフォルトの名無しさん
2015/12/15(火) 07:09:10.78ID:PEMjc+kq SwiftではなくApple BasicみたいなVBもどきを作ればいいのに
イベント処理のガラなんか記述したくないし、いい加減GUIをコードで書く時代は卒業したい
イベント処理のガラなんか記述したくないし、いい加減GUIをコードで書く時代は卒業したい
240デフォルトの名無しさん
2015/12/15(火) 07:50:11.21ID:Vrhl7KsS objctive-cとSwiftは、
VB.NETとC#みたいなもんだと思って良いのか?
どっちも文法が微妙に違うだけで、中身はほとんど同じになってしまってる。
VB.NETとC#みたいなもんだと思って良いのか?
どっちも文法が微妙に違うだけで、中身はほとんど同じになってしまってる。
241デフォルトの名無しさん
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エンジニアは潰しが利かない=無能
と呼ばれるだろう
Swift覚えても何も楽にならない、逆にCとかに戻れなくなる
近い将来、Swiftエンジニアは潰しが利かない=無能
と呼ばれるだろう
243デフォルトの名無しさん
2015/12/15(火) 08:11:40.28ID:PEMjc+kq 99.99%のiOS案件はObj-C
3年後も70%はObj-C
3年後も70%はObj-C
244デフォルトの名無しさん
2015/12/15(火) 09:11:47.63ID:3fLJcyYR Swiftあかんな…
245デフォルトの名無しさん
2015/12/15(火) 13:24:16.55ID:0+wWMBI1 ObjC老害戦々恐々やねw
246デフォルトの名無しさん
2015/12/15(火) 18:55:30.31ID:ThSWRCNo 老害って言うほど長くやってる人はいない
NeXTからやってるなら老害と認めよう
NeXTからやってるなら老害と認めよう
247デフォルトの名無しさん
2015/12/15(火) 19:06:03.45ID:p61Myj1Y cocoaの時に詳解とヒレガスは買ってたけど
触り始めたのはiPhoneアプリ自由化からだから2008年辺りからだなぁ
触り始めたのはiPhoneアプリ自由化からだから2008年辺りからだなぁ
248デフォルトの名無しさん
2015/12/15(火) 23:23:01.62ID:dsHRmTJg 俺は2003年頃かな
Carbonをリアルタイムで触ってない世代
Carbonをリアルタイムで触ってない世代
249デフォルトの名無しさん
2015/12/16(水) 08:25:14.74ID:0uVLlrb9 今Swiftにくいついているのは日本人だけ
250デフォルトの名無しさん
2015/12/16(水) 08:29:34.17ID:0uVLlrb9 Swiftじゃ保守が大変だろうな
同じ担当者が一生関わるなら話は別だけど
同じ担当者が一生関わるなら話は別だけど
251デフォルトの名無しさん
2015/12/16(水) 08:54:52.13ID:sYdqzL9a 社内保守にしろ開発会社に依頼する立場にしても、ちょっと機能追加したいだけって時に言語の仕様変更に追加で人員コスト金かけて対応しなきゃいけないのはマイナスだろうね。
エンジニアは新しいものが楽しい人種だから仕様変更に振り回されるのも楽しいだろうけど。
言語仕様が固まってからが普及のチャンスじゃないかな。
エンジニアは新しいものが楽しい人種だから仕様変更に振り回されるのも楽しいだろうけど。
言語仕様が固まってからが普及のチャンスじゃないかな。
252デフォルトの名無しさん
2015/12/16(水) 12:51:49.41ID:yQvrJjLh >>249
嘘。世界中の開発者が興奮している
嘘。世界中の開発者が興奮している
253デフォルトの名無しさん
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は抵抗あるし・・。
256デフォルトの名無しさん
2015/12/21(月) 01:38:38.13ID:9UN2TS0D 無駄にSwiftに切り替える必要性がない
257デフォルトの名無しさん
2015/12/21(月) 01:56:48.91ID:JMWJJ/EQ swiftって無能なweb屋崩れが新規に始める言語だろ
一部の処理速度のみ最適化したごまかし言語に、既存の開発者が乗り換える理由が無い
一部の処理速度のみ最適化したごまかし言語に、既存の開発者が乗り換える理由が無い
258デフォルトの名無しさん
2015/12/21(月) 02:04:45.99ID:15YBhsYq わかってるやつはわかってる
259デフォルトの名無しさん
2015/12/21(月) 02:53:29.57ID:4Mx5VRPH >>231
それ煩雑になったObj-Cじゃねぇかwww
それ煩雑になったObj-Cじゃねぇかwww
260デフォルトの名無しさん
2015/12/22(火) 00:31:57.69ID:TjIa8Lja swiftで構造体とか訳わからん。
プロはobj-cで十分。あるいはc#で。
プロはobj-cで十分。あるいはc#で。
261デフォルトの名無しさん
2015/12/22(火) 00:50:38.19ID:CCc3g5x5 Objective-Cの文法は初見さんには変態的に見えるかもしれないけど、
Cの柔軟性を100%維持しつつ、オブジェクト指向をシンプルに追加した
他には見られない特筆すべき言語の一つだということは間違いない
Cの柔軟性を100%維持しつつ、オブジェクト指向をシンプルに追加した
他には見られない特筆すべき言語の一つだということは間違いない
262デフォルトの名無しさん
2015/12/22(火) 01:15:32.84ID:ah9aIrQQ 文法が違うと言っても大して違わないんだよ、実は。
ドットで書くと>>234のとおり。あんまり変わらん。
ドットで書くと>>234のとおり。あんまり変わらん。
263デフォルトの名無しさん
2015/12/22(火) 01:17:01.40ID:qJHZYnmU 言語としての好みなんかどうでもよくて、
製品のライフの間言語仕様の変更みたいなアホな理由で書き直しが発生しない言語で書くだけのこと
WindowsならC++で書くしAndroidならJavaで書く
製品のライフの間言語仕様の変更みたいなアホな理由で書き直しが発生しない言語で書くだけのこと
WindowsならC++で書くしAndroidならJavaで書く
264デフォルトの名無しさん
2015/12/22(火) 03:16:56.00ID:kU1YHHeN 今どきC++でwindowsのアプリを作るヤツなんていないだろ。
MFCでもいまだに使ってるのか?
MFCでもいまだに使ってるのか?
265デフォルトの名無しさん
2015/12/22(火) 03:32:59.94ID:h2+OmYvg Objective-Cがいいとかわるいとかとあんまり関係ないが
2004年のiBookG4動かすとメモリ256Mしかないから
レインボーカーソル回りまくりで動作がブチブチなのだけど
逆に「xib読んでるw」「ボタンからアクションが飛んだw」って
オブジェクトが通信してるのが見えるぐらい遅くて
これぐらい動作順番保障されてないのに動くしっかりした
設計をおれもしなきゃなぁ…って思ったりするw
2004年のiBookG4動かすとメモリ256Mしかないから
レインボーカーソル回りまくりで動作がブチブチなのだけど
逆に「xib読んでるw」「ボタンからアクションが飛んだw」って
オブジェクトが通信してるのが見えるぐらい遅くて
これぐらい動作順番保障されてないのに動くしっかりした
設計をおれもしなきゃなぁ…って思ったりするw
266デフォルトの名無しさん
2015/12/22(火) 05:17:26.08ID:3vnbRuHu NeXTもMac OSもObjective-Cで書かれて実際に動いているのに、なんでSwiftなのか?
初心者向けとも思えないし・・言語ヲタ向けとしか・・
初心者向けとも思えないし・・言語ヲタ向けとしか・・
267デフォルトの名無しさん
2015/12/22(火) 08:48:40.76ID:qNjAqcDd ObjCはジョブズの象徴だからな
破壊されて当然
破壊されて当然
268デフォルトの名無しさん
2015/12/22(火) 09:00:09.33ID:kU1YHHeN269デフォルトの名無しさん
2015/12/22(火) 09:25:06.95ID:aKsc0Ke4 >>267
いや意味が分からない
いや意味が分からない
270デフォルトの名無しさん
2015/12/22(火) 11:47:29.03ID:E422G1dP 結局 「Cに仕様を追加」というのが限界なんじゃないかな。
Cの反省点を元にしてGoが生まれたようにCの言語仕様を捨てたいと考えた時に
新しい言語を用意しようってなったんじゃないかな。
Cの反省点を元にしてGoが生まれたようにCの言語仕様を捨てたいと考えた時に
新しい言語を用意しようってなったんじゃないかな。
271デフォルトの名無しさん
2015/12/22(火) 12:31:40.21ID:qNjAqcDd 末尾クロージャや$1を駆使したコードは
短小オナニーって感じで大変見にくい
短小オナニーって感じで大変見にくい
272デフォルトの名無しさん
2015/12/22(火) 13:56:15.38ID:ah9aIrQQ クロージャだけ別に書いてもいいんだぞ。
273デフォルトの名無しさん
2015/12/22(火) 16:14:16.42ID:FIUTNb/j >>270
Cに仕様を追加って話ならObjective-Cって見事にやり遂げてると思うが?
C++の方がCっぽいけどObjectへのメッセージ送信をsmalltalkライクな表現にした分読みやすいと思うのだが(structとclassの区別がヘッダ見ないとわからないC++を僕が嫌いなだけかもしらんけど)
ちなみにswiftはあんまり好きじゃねぇ、どうせ此処までfunctionalな実装にするのならもっと定数的な仕様にしてほしかった。
Cに仕様を追加って話ならObjective-Cって見事にやり遂げてると思うが?
C++の方がCっぽいけどObjectへのメッセージ送信をsmalltalkライクな表現にした分読みやすいと思うのだが(structとclassの区別がヘッダ見ないとわからないC++を僕が嫌いなだけかもしらんけど)
ちなみにswiftはあんまり好きじゃねぇ、どうせ此処までfunctionalな実装にするのならもっと定数的な仕様にしてほしかった。
274デフォルトの名無しさん
2015/12/22(火) 16:31:23.14ID:mxs6PTE7 最初にObjective-CマイナスCってのを見た時は、それってSmalltalkそのものじゃね?って思ったものだが
出てきたものはどちらにも無い機能まで寄せ集めてきた、確かにモダンだが一層ツギハギ感のあるものだったっていう
出てきたものはどちらにも無い機能まで寄せ集めてきた、確かにモダンだが一層ツギハギ感のあるものだったっていう
275デフォルトの名無しさん
2015/12/22(火) 16:42:03.53ID:E422G1dP >>273
ごめん言い方がまずかったかもしれない。
Cの言語仕様がまずいのでそれに更に追加するって作りが良くないよね。
って話。
例えばCでは暗黙の型変換がある。
nullと0の区別がつかない。
ポインタ型がある。
正直Cに代わる言語がでてくれるのが一番なんだが。
goもswiftもrustも対抗対象がc++とかなんだよなー。
go並の言語仕様の小ささでC対抗言語でないかなー
ごめん言い方がまずかったかもしれない。
Cの言語仕様がまずいのでそれに更に追加するって作りが良くないよね。
って話。
例えばCでは暗黙の型変換がある。
nullと0の区別がつかない。
ポインタ型がある。
正直Cに代わる言語がでてくれるのが一番なんだが。
goもswiftもrustも対抗対象がc++とかなんだよなー。
go並の言語仕様の小ささでC対抗言語でないかなー
276デフォルトの名無しさん
2015/12/22(火) 16:50:06.75ID:E422G1dP >>274
IDEの変換機能に期待して
言語仕様の後方互換性を無視して作るって姿勢が功を奏するかもね。
ある程度こなれてきたら、いらない仕様を削っていってほしい。
goって惚れ惚れするくらい言語仕様抑えてるんだよね。
例えばclassがなくてstructだけとか。
structを参照渡ししてclassっぽく使うからそれで十分なんだよね。
swiftではstructとclassの使い分けって値渡しか参照渡しってだけだよね。
enum class struct全部にメソッド生やせるなら、どれかはけずれるでしょう?
IDEの変換機能に期待して
言語仕様の後方互換性を無視して作るって姿勢が功を奏するかもね。
ある程度こなれてきたら、いらない仕様を削っていってほしい。
goって惚れ惚れするくらい言語仕様抑えてるんだよね。
例えばclassがなくてstructだけとか。
structを参照渡ししてclassっぽく使うからそれで十分なんだよね。
swiftではstructとclassの使い分けって値渡しか参照渡しってだけだよね。
enum class struct全部にメソッド生やせるなら、どれかはけずれるでしょう?
277デフォルトの名無しさん
2015/12/22(火) 16:59:36.42ID:QCvgGY11 Objective-C#で
278デフォルトの名無しさん
2015/12/22(火) 19:57:04.99ID:txd9otas Objective-Swiftじゃいかんのか?
279デフォルトの名無しさん
2015/12/22(火) 22:30:17.60ID:aKsc0Ke4280デフォルトの名無しさん
2015/12/25(金) 10:41:49.70ID:PGIlXZYL 結局、もうなくなる言語だから
勉強するな、ってことか?
この言語で作ったアプリは、appストアで売れなくなる
って本当なの?
勉強するな、ってことか?
この言語で作ったアプリは、appストアで売れなくなる
って本当なの?
281デフォルトの名無しさん
2015/12/25(金) 11:00:42.82ID:rljA4Lg6 って本当なの?(笑)
282デフォルトの名無しさん
2015/12/25(金) 13:15:43.73ID:BCzmNj47 AppleとSwift開発者のオ○ニーに付き合わされて大変だねぇwww
283デフォルトの名無しさん
2015/12/25(金) 20:00:50.32ID:P+AWGo7j >>275-276
なんつーか、Objective-Cやってると"列挙型"だの"多変数を返す"だのは
そういうクラスを作って計算させて、クラス返せばいいじゃんになるので
ごちゃごちゃ細かい10年後は廃れてそうな機能を"言語仕様"に組み込んでるのに
すげぇ違和感あるんだよな。
「量子コンピュータ言語フンババではquantam構文で〜」ってやった十年後に
「超次元理論言語クチャラビビンバではultaradimention構文で〜」って永久にやってそうっつか。
なんつーか、Objective-Cやってると"列挙型"だの"多変数を返す"だのは
そういうクラスを作って計算させて、クラス返せばいいじゃんになるので
ごちゃごちゃ細かい10年後は廃れてそうな機能を"言語仕様"に組み込んでるのに
すげぇ違和感あるんだよな。
「量子コンピュータ言語フンババではquantam構文で〜」ってやった十年後に
「超次元理論言語クチャラビビンバではultaradimention構文で〜」って永久にやってそうっつか。
284デフォルトの名無しさん
2015/12/25(金) 23:01:55.38ID:3siPzMif 永久にやるしやらないといけないに決まってんじゃん
そんなことも分からないとはさすが老害
そんなことも分からないとはさすが老害
285デフォルトの名無しさん
2015/12/25(金) 23:12:38.49ID:ya9ISuTA そういうアホな賽の河原の石積みやってらんないから
>そういうクラスを作って計算させて、クラス返せばいいじゃん
>そういうクラスを作って計算させて、クラス返せばいいじゃん
286デフォルトの名無しさん
2016/01/01(金) 16:07:13.78ID:HHSrINjy 今年は、この言語がなくなる年か・・・
ごくろうさまでした。
ごくろうさまでした。
287デフォルトの名無しさん
2016/01/01(金) 18:29:59.82ID:xUPyE7jx >>286
いやSwiftがなくなるでしょ
いやSwiftがなくなるでしょ
288デフォルトの名無しさん
2016/01/01(金) 18:36:47.86ID:S4tjwpf+ Appleがなくなるよ
iPhone 6S、Apple Watch、iPad Pro、Apple TV全部コケてるし
iPhone 6S、Apple Watch、iPad Pro、Apple TV全部コケてるし
289デフォルトの名無しさん
2016/01/01(金) 18:39:17.26ID:fzlqnlAB やべー俺それ全部買ってるわ
290デフォルトの名無しさん
2016/01/17(日) 22:59:09.26ID:UWpoaTz9 Objective-CってCから入ると訳わかめだけどオブジェクト志向言語から入るとめっちゃ分かりやすいな
291デフォルトの名無しさん
2016/01/18(月) 00:33:34.30ID:yOJjOSXjGoogle Adsenseだけで家族を養ってる俺が通りますよ
292デフォルトの名無しさん
2016/01/18(月) 01:48:44.45ID:WFEJ4wV5 >>290
Swiftとかいう意識高い系言語()よりはよっぽどシンプルだからなObjective-Cは
Swiftとかいう意識高い系言語()よりはよっぽどシンプルだからなObjective-Cは
293デフォルトの名無しさん
2016/01/18(月) 04:20:58.50ID:9EgVfl4X たまに生Cの制限でめんどいことがあるので(blocksわかりづらー)
Cの方を整理してくれーとは思ったりする。
swiftおまえは座ってろ。
Cの方を整理してくれーとは思ったりする。
swiftおまえは座ってろ。
294デフォルトの名無しさん
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 です)
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
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に日本語使えなくなったのか?
297デフォルトの名無しさん
2016/01/23(土) 15:42:23.67ID:88h5UZ6U >>296
そんなことよりXIBやStoryboardの編集がめちゃ重たくなったのであるが
あとLabelとかにAttributedStrings設定すると画面がピクピクするのであるが
XCode7不安定で泣ける
そんなことよりXIBやStoryboardの編集がめちゃ重たくなったのであるが
あとLabelとかにAttributedStrings設定すると画面がピクピクするのであるが
XCode7不安定で泣ける
298デフォルトの名無しさん
2016/01/24(日) 01:27:52.70ID:oO2UXUzr 最新厨は人柱となってデバッグに徹するのだ
299デフォルトの名無しさん
2016/01/24(日) 09:17:00.13ID:xZn7WE3F300デフォルトの名無しさん
2016/01/24(日) 22:05:14.87ID:MTdyFEhx >>299
> Becose
> Becose
301デフォルトの名無しさん
2016/01/25(月) 16:07:25.84ID:TsQ/lQ2p >>298
iOSの最新版の機種でデバッグするのにどうしても必要になるのがなー
iOSの最新版の機種でデバッグするのにどうしても必要になるのがなー
302デフォルトの名無しさん
2016/02/05(金) 13:53:43.10ID:xVGnBx0l -(id)init
{
[super init];
student = 2
teacher = 2
return self;
}
これどういう意味?
{
[super init];
student = 2
teacher = 2
return self;
}
これどういう意味?
303デフォルトの名無しさん
2016/02/05(金) 15:35:00.34ID:B/Uu+ljn304デフォルトの名無しさん
2016/02/05(金) 18:32:58.52ID:PpryQyj4 >>302
なにかを継承したクラスのinitメソッドを書き換えた例だと思うので
まず、親クラスたちがなにしてんのかわからないからお約束として
[super init]で親クラスが普段やってる初期化を完了させる。
初期値としてインスタンス内の変数にstudent = 2teacher = 2をセットする
return selfで自分自身というかここでイニシャライズした
インスタンス自身の存在するポインタを返す。
(alloc,initされたインスタンス自体が出力される)
なにかを継承したクラスのinitメソッドを書き換えた例だと思うので
まず、親クラスたちがなにしてんのかわからないからお約束として
[super init]で親クラスが普段やってる初期化を完了させる。
初期値としてインスタンス内の変数にstudent = 2teacher = 2をセットする
return selfで自分自身というかここでイニシャライズした
インスタンス自身の存在するポインタを返す。
(alloc,initされたインスタンス自体が出力される)
305デフォルトの名無しさん
2016/02/05(金) 19:50:54.72ID:uPSLYE8i つーか間違ってんじゃんw
- (id)init
{
self = [super init];
return self;
}
こうだろ。
- (id)init
{
self = [super init];
return self;
}
こうだろ。
306デフォルトの名無しさん
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もクラス。
- (id)init:(id)self cmd:(SEL)_cmd
{
self = [super init];
return self;
}
引数で渡されたself(id型のポインタ)に[super init]の戻り値を代入してreturnしてる。
superは親クラスの実装を呼ぶ時のキーワードで、
selfがインスタンスならsuperもインスタンス、selfがクラスならsuperもクラス。
307デフォルトの名無しさん
2016/02/05(金) 20:13:53.96ID:uPSLYE8i id型のポインタって言うとだめか、id型自体がポインタ型だ。
308デフォルトの名無しさん
2016/02/06(土) 00:32:42.46ID:FsvYHdeC Carbonってどんな風に死んだんだっけ?
309デフォルトの名無しさん
2016/02/06(土) 01:02:53.70ID:is/TI+L6 32bitがMacではユーザーが誰も気付かぬうちに
いつのまにか死んでたのといっしょな感じ
いつのまにか死んでたのといっしょな感じ
310デフォルトの名無しさん
2016/02/06(土) 02:02:01.31ID:sZMQlj1p311デフォルトの名無しさん
2016/02/06(土) 02:05:35.04ID:sHcOYHMi Carbonも32bit専用APIもまだ使う機会があるので俺の中では死んでない
312デフォルトの名無しさん
2016/02/06(土) 20:07:12.60ID:HQDIs5Ib 何に使うの?
313デフォルトの名無しさん
2016/02/06(土) 22:04:06.45ID:64Pydz+a Cocoaも遺物と呼ばれる日が来るのだろうか
314デフォルトの名無しさん
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
上記ページに対処が載っていたのですが知識も理解も足りないようでうまく行きません。
対処法を教えて頂けると助かります。
よろしくお願いします。
質問させてください。
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対応しなきゃとエルカピたんにあげて今までのアプリそのまま動かしたんだけど全然エラーにならない
見たこともない
これって本当に対応必要なの?
見たこともない
これって本当に対応必要なの?
317デフォルトの名無しさん
2016/02/11(木) 14:43:45.61ID:XMiUaI25 allocって、クラスメソッドしか使えないんですか?
318デフォルトの名無しさん
2016/02/11(木) 14:55:44.06ID:UQTXGuAz というかallocはクラスメソッドだからね
319デフォルトの名無しさん
2016/02/11(木) 15:09:56.97ID:XMiUaI25 インスタンスメソッドの場合、どうすればいい?
320デフォルトの名無しさん
2016/02/11(木) 15:13:17.32ID:UQTXGuAz すまんいってる意味がわからん
321デフォルトの名無しさん
2016/02/11(木) 15:22:48.86ID:T48duRlP インスタンス作ってからさらにメモリ確保するのか……
322デフォルトの名無しさん
2016/02/11(木) 15:25:22.21ID:H0VUG8UT アロケイトをおまじないと思ってるんだろうな
323デフォルトの名無しさん
2016/02/11(木) 21:26:16.88ID:BYhgKPkM > allocって、クラスメソッドしか使えないんですか?
> インスタンスメソッドの場合、どうすればいい?
もしかしてallocという名前のインスタンスメソッドを定義したいのかな
> インスタンスメソッドの場合、どうすればいい?
もしかしてallocという名前のインスタンスメソッドを定義したいのかな
324デフォルトの名無しさん
2016/02/11(木) 22:58:08.81ID:fwp65K1P id anotherInstance = [[[self class] alloc] init];
325デフォルトの名無しさん
2016/02/11(木) 23:17:18.98ID:UQTXGuAz326デフォルトの名無しさん
2016/02/11(木) 23:21:52.27ID:fwp65K1P 自分をディープコピーして返すとかじゃね?
もっと状況を言わないと一瞬意味不明だよな。
もっと状況を言わないと一瞬意味不明だよな。
327デフォルトの名無しさん
2016/02/12(金) 21:53:10.32ID:e+FqND6X >>317,319
クラスとインスタンスは別のオブジェクトだぞ。
同じ場所に書くから初心者にはわかりづらいかもだが。
クラスとは、言ってみればヘッダさえimportすれば使えるグローバルなオブジェクトだ。
メッセージ式のレシーバにクラスを指定すれば、受信側のクラスメソッドのselfにはクラスオブジェクトのポインタが渡される。
レシーバをインスタンスにした場合は、受信側のインスタンスメソッドのselfはインスタンスのポインタだ。
これでわかっただろ?
クラスとインスタンスは別のオブジェクトだぞ。
同じ場所に書くから初心者にはわかりづらいかもだが。
クラスとは、言ってみればヘッダさえimportすれば使えるグローバルなオブジェクトだ。
メッセージ式のレシーバにクラスを指定すれば、受信側のクラスメソッドのselfにはクラスオブジェクトのポインタが渡される。
レシーバをインスタンスにした場合は、受信側のインスタンスメソッドのselfはインスタンスのポインタだ。
これでわかっただろ?
328デフォルトの名無しさん
2016/02/12(金) 23:45:39.74ID:1dW5OVx0 1ミリも通じてないような気がする
正しいんだけど
正しいんだけど
329デフォルトの名無しさん
2016/02/12(金) 23:52:08.56ID:4JY+EnsL Objective-Cではクラスは最初に実体があって
その実体自体に「よし、おまえのコピーを作れ」とメッセージを送ることで
インスタンスを作らせるからな。
雛形とかテンプレとかそういうのですらなくて
自分のインスタンス作る機能まで含めたファクトリクラスだし。
その実体自体に「よし、おまえのコピーを作れ」とメッセージを送ることで
インスタンスを作らせるからな。
雛形とかテンプレとかそういうのですらなくて
自分のインスタンス作る機能まで含めたファクトリクラスだし。
330デフォルトの名無しさん
2016/02/13(土) 00:17:11.95ID:rTriq7hd >>327
理解してるやつにはわかるが、わかってないやつには?って感じかと
理解してるやつにはわかるが、わかってないやつには?って感じかと
331デフォルトの名無しさん
2016/02/13(土) 00:28:32.71ID:CI39+OQj でもなあ、ポインタを隠蔽しないで理解した方がいいと思うんだよな。
Cocoaがすでに隠蔽してないし。
Cocoaがすでに隠蔽してないし。
332デフォルトの名無しさん
2016/02/13(土) 02:06:13.26ID:kN1Baeh/ いや、そこじゃなくてオブジェクト解ってない奴相手にレシーバとかメッセージ式とかのobjc用語使いまくってるところだろ
333デフォルトの名無しさん
2016/02/13(土) 02:19:35.33ID:CI39+OQj そこから解ってないのはObj-Cに限らず厳しいな。
334デフォルトの名無しさん
2016/02/13(土) 09:31:39.36ID:Fs+/DlzW メソッドくらいはわかるだろ?
これやれ!って、言ってるだけだし
これやれ!って、言ってるだけだし
335デフォルトの名無しさん
2016/02/13(土) 10:22:37.16ID:rTriq7hd Objective-CってCにちょっとオブジェクト指向追加しただけのシンプルな言語
難しくないだろ
メッセージっつっても一般的なオブジェクト指向言語のメソッド呼び出しと考えても
使用上は差し支えないし、メッセージ式の文法も最初は面食らうかもしれないが、
慣れれば、なんてこたぁない
最近Appleがゴリ押ししてる意識高めの言語よりよっぽど簡単
難しくないだろ
メッセージっつっても一般的なオブジェクト指向言語のメソッド呼び出しと考えても
使用上は差し支えないし、メッセージ式の文法も最初は面食らうかもしれないが、
慣れれば、なんてこたぁない
最近Appleがゴリ押ししてる意識高めの言語よりよっぽど簡単
336デフォルトの名無しさん
2016/02/13(土) 10:52:18.37ID:CI39+OQj 同意。「メッセージ送信」->「メソッド呼び出し」と言い換えても問題ない。
337デフォルトの名無しさん
2016/02/13(土) 13:02:08.14ID:SL3t4ard obj-cはネストしてメソッド呼び出す時の[A :[B:[C:[D pp]]]]みたいなのが
しんどいのがな。それ以外は好き。
elixirのバイプライン演算子をobj-cにつけてくんないかな。
返り値を右辺のメソッドの第一引数に渡す演算子なんだけど
[D pp] |> [C:] |> [B:] |> [A:]
みたいに書ける。
しんどいのがな。それ以外は好き。
elixirのバイプライン演算子をobj-cにつけてくんないかな。
返り値を右辺のメソッドの第一引数に渡す演算子なんだけど
[D pp] |> [C:] |> [B:] |> [A:]
みたいに書ける。
338デフォルトの名無しさん
2016/02/13(土) 14:11:22.13ID:uZC7UMRg メソッド呼び出しは、「おうクラスA、てめえBメソッドしろや」なんたけど、
メッセージ呼び出しは、「クラスA、こんにちは、Bをやってくれないかい?」なんだよね
丁寧だからネストするとちょっとうるさい見た目になるけど、
メソッドチェーンみたいな「Bした後、Cして、Dやれよ?ああん?」みたいな暴力さがない
途中でnilを返せばそれ以上詰めたりしないしね
メッセージ呼び出しは、「クラスA、こんにちは、Bをやってくれないかい?」なんだよね
丁寧だからネストするとちょっとうるさい見た目になるけど、
メソッドチェーンみたいな「Bした後、Cして、Dやれよ?ああん?」みたいな暴力さがない
途中でnilを返せばそれ以上詰めたりしないしね
339デフォルトの名無しさん
2016/02/13(土) 14:50:30.00ID:5qx3/3HE ClassとInstanceの関係ってC++やJava経験して来た人とかだとObjective-Cのオブジェクトは理解しくにそうだよな
Smalltalkやっとくと全然苦にならんのだけど。
Swiftでその辺隠蔽しても理解しやすいようにしたいのがAppleの意向なんだろうけど、MacとiOS開発ってSmalltalk慣れしたCプログラマ向けってのがおいらの所感
Smalltalkやっとくと全然苦にならんのだけど。
Swiftでその辺隠蔽しても理解しやすいようにしたいのがAppleの意向なんだろうけど、MacとiOS開発ってSmalltalk慣れしたCプログラマ向けってのがおいらの所感
340デフォルトの名無しさん
2016/02/13(土) 15:18:30.45ID:rTriq7hd メッセージ式のネスト、最初は変態的だと思ったけど慣れたらどうってことなくなったな
Lispやってる人なんかは特にハードル低かったんじゃなかろうか
Lispやってる人なんかは特にハードル低かったんじゃなかろうか
341デフォルトの名無しさん
2016/02/13(土) 23:22:04.23ID:0LHJAzgL ロボットがいて、受け付けるコマンドリストがあって
「おい、掃除しとけ」って命令すると"掃除"してくれる。
使えるロボできたら中の掃除内容変えたりして使い回す。
…Objective-Cのクラス周りのイメージってなんかそんな感じだなーと思ってるので
"プログラミング言語"実務側からの
「クラスとは構造体に関数がついたもの」「メソッドとはつまり関数」
とか"自動車とはすなわち馬なし馬車である"ぐらい変な解説に見えて
ウボァーって変な声出そうになったりする。
「おい、掃除しとけ」って命令すると"掃除"してくれる。
使えるロボできたら中の掃除内容変えたりして使い回す。
…Objective-Cのクラス周りのイメージってなんかそんな感じだなーと思ってるので
"プログラミング言語"実務側からの
「クラスとは構造体に関数がついたもの」「メソッドとはつまり関数」
とか"自動車とはすなわち馬なし馬車である"ぐらい変な解説に見えて
ウボァーって変な声出そうになったりする。
342デフォルトの名無しさん
2016/02/13(土) 23:50:23.78ID:YN1UCyzp343デフォルトの名無しさん
2016/02/14(日) 00:15:38.63ID:PyhtsQ/D >>341
Objective-Cは、クラスを外から見たらそのロボットで、
クラス内部の実装は、その下の変な解説って感じ。
クラスの中には、インライン関数どころかインラインアセンブラまで使うクラスがあったりで、
@interfaceは整然としたロボットだけど、内部では囚われたカッパ達が・・・
いや、もちろんそんなハードな仕事するクラスばかりじゃないけどね。
Objective-Cは、クラスを外から見たらそのロボットで、
クラス内部の実装は、その下の変な解説って感じ。
クラスの中には、インライン関数どころかインラインアセンブラまで使うクラスがあったりで、
@interfaceは整然としたロボットだけど、内部では囚われたカッパ達が・・・
いや、もちろんそんなハードな仕事するクラスばかりじゃないけどね。
344デフォルトの名無しさん
2016/02/14(日) 02:52:58.16ID:SS1KUmSL 最近obj-cがまた順位上げてるみたい
やっぱりobj-c3.0待ちだよな
やっぱりobj-c3.0待ちだよな
345デフォルトの名無しさん
2016/02/14(日) 08:11:15.49ID:HUICKMOI346デフォルトの名無しさん
2016/02/14(日) 16:21:32.42ID:D0Yqf9Kh >順位
Swiftを試した人の中の一定数がObjCへ出戻って来た影響じゃないか
Swiftを試した人の中の一定数がObjCへ出戻って来た影響じゃないか
347デフォルトの名無しさん
2016/02/15(月) 12:04:03.75ID:o1yeVmO9 老害だな
根絶やしにしろ
根絶やしにしろ
348デフォルトの名無しさん
2016/02/15(月) 21:23:46.60ID:D1MmfeIO Objective-C使い=老害という思い込み
349デフォルトの名無しさん
2016/02/16(火) 04:14:06.30ID:cX0cXTkh Objective-Cはなんつーか"ちょうどいい"ポジションにいるので
ここからユーザーに移行を促すのは大変だよなぁ…
ほぼApple専用でなかったら、これいまのJavaの位置だったろ?ってぐらい
わかりやすいC+オブジェクト指向っぷりだし。
ここからユーザーに移行を促すのは大変だよなぁ…
ほぼApple専用でなかったら、これいまのJavaの位置だったろ?ってぐらい
わかりやすいC+オブジェクト指向っぷりだし。
350デフォルトの名無しさん
2016/02/16(火) 07:44:17.75ID:T8OiCwB/351デフォルトの名無しさん
2016/02/16(火) 08:11:08.67ID:5UqE7wWz こんないい言語がApple専用なのは本当に惜しい
352デフォルトの名無しさん
2016/02/16(火) 09:16:19.80ID:2VnsGNUc 専用では無いんじゃないの?
ランタイムはオープンだよね。
ランタイムはオープンだよね。
353デフォルトの名無しさん
2016/02/16(火) 09:31:07.69ID:cb7bLrdU ランタイムはどうか知らんがコンパイラはGNUが昔作った気がする
WinはおろかLinuxですら使う人口が少なかっただけで
WinはおろかLinuxですら使う人口が少なかっただけで
354デフォルトの名無しさん
2016/02/16(火) 09:32:29.42ID:AUXqcpoN CoreFoundationやNS系がApple専用だしなあ
AppleのソフトにはWindows用にもそういったdllが入ってたりするから移植されてるんだろうけど、SDKとしては公開されてないし
NSのつかない純Objective-Cなライブラリ体系もあるにはあるしオープンだけど、実用上は全く嬉しくないだろ
AppleのソフトにはWindows用にもそういったdllが入ってたりするから移植されてるんだろうけど、SDKとしては公開されてないし
NSのつかない純Objective-Cなライブラリ体系もあるにはあるしオープンだけど、実用上は全く嬉しくないだろ
355デフォルトの名無しさん
2016/02/16(火) 10:47:44.05ID:L1d/icCk smalltalkがもうちょっと一般的だったらObjective-Cも入りやすかったかもね
356デフォルトの名無しさん
2016/02/16(火) 17:16:47.78ID:cb7bLrdU スクイークが変態環境じゃなかったら良かったな
357デフォルトの名無しさん
2016/02/16(火) 18:20:06.54ID:tCTD475N >>354
昔のGNUにはNSがなかったけど、後で付け足した
昔のGNUにはNSがなかったけど、後で付け足した
358デフォルトの名無しさん
2016/02/16(火) 18:40:44.24ID:PkVX6tWn swiftで実装したFoundation開発中だけどgithubにリポジトリ置いているってことは
次のFoundationは最初からクロスプラットフォームでオープンってことかね
次のFoundationは最初からクロスプラットフォームでオープンってことかね
359デフォルトの名無しさん
2016/02/16(火) 20:29:36.88ID:uEcJx/Is360デフォルトの名無しさん
2016/02/17(水) 10:38:58.04ID:NWAA8GlY iOS8切れないプロジェクトはobjCしかない。
そのうち3.0出るでしょ。
そのうち3.0出るでしょ。
361デフォルトの名無しさん
2016/02/17(水) 14:48:04.74ID:4kmV8BWa >>360
iOS7も切れないのに8と9の機能使いたいとか言うともうソースコードが大変 orz
iOS7も切れないのに8と9の機能使いたいとか言うともうソースコードが大変 orz
362デフォルトの名無しさん
2016/02/17(水) 16:57:00.36ID:243ZLeyW Foundationのみでどこまでの事が出来るだろう。通信系とデータベース系のフレームワークもマルチプラットフォームで用意してくれればありがたい。
363デフォルトの名無しさん
2016/02/17(水) 22:23:22.16ID:HWKatSeL 明確な必要性がないのに言語を変えようとしたら、そりゃ歪みは生じるわな
364デフォルトの名無しさん
2016/02/18(木) 22:02:44.40ID:ThW4WIO9 メッセージ式好き
メッセージ式に返り値使うの嫌い
[[obj alloc] init]ですら嫌い
メッセージ式に返り値使うの嫌い
[[obj alloc] init]ですら嫌い
365デフォルトの名無しさん
2016/02/18(木) 22:19:30.54ID:ncbtGfJT [obj new];
366デフォルトの名無しさん
2016/02/18(木) 22:46:51.93ID:ThW4WIO9367デフォルトの名無しさん
2016/02/19(金) 00:56:12.38ID:u0wtznhk Objective-Cで使える公開鍵暗号方式のライブラリないですか?
RSAが使えてBSDライセンスのものを教えてください。
RSAが使えてBSDライセンスのものを教えてください。
368デフォルトの名無しさん
2016/02/19(金) 11:41:19.39ID:0R2jEsLy >>367
普通のCのライブラリでもいいじゃんよー
普通のCのライブラリでもいいじゃんよー
369デフォルトの名無しさん
2016/02/19(金) 14:00:51.88ID:hw/X0Y/j370デフォルトの名無しさん
2016/02/19(金) 14:41:54.17ID:4FbEbwSw 開発元はGNUか...寒いな > nettle
一昔前ならGNUなら信頼出来ると思ってたけど、最近のOSS財団はメンテが滞ること多数
一昔前ならGNUなら信頼出来ると思ってたけど、最近のOSS財団はメンテが滞ること多数
371デフォルトの名無しさん
2016/02/19(金) 17:32:58.13ID:hw/X0Y/j 最近っつっても20年くらい前からだろ
372デフォルトの名無しさん
2016/02/19(金) 18:03:02.88ID:v1bX/syV ここ5年(盛って10年)くらいじゃない?
金がないからメンテ出来ませんってOSSが増えたの
20年も遡ったら興味ある人がいなくてメンテ出来ませんって感じだった気がする
AppleがObj-CでSSL実装作らねーかな
openSSLはバグ指摘多くてイヤになったろ
金がないからメンテ出来ませんってOSSが増えたの
20年も遡ったら興味ある人がいなくてメンテ出来ませんって感じだった気がする
AppleがObj-CでSSL実装作らねーかな
openSSLはバグ指摘多くてイヤになったろ
373デフォルトの名無しさん
2016/02/19(金) 21:23:00.58ID:dtTvn/Wc374デフォルトの名無しさん
2016/02/20(土) 05:51:57.06ID:KGb8ZGMM > RSAが使えてBSDライセンス
何に使うつもりなんだろう
何に使うつもりなんだろう
375デフォルトの名無しさん
2016/02/23(火) 06:47:28.40ID:Ic+Y0zem objective-c#まだかな・・
376デフォルトの名無しさん
2016/02/23(火) 08:57:37.54ID:EdYfjdOn いやC#はちょっと。。C++よりはマシかもしれんが
377デフォルトの名無しさん
2016/02/26(金) 09:04:15.07ID:fCSgBQdM swiftからoptional型やmapを省いた
swift--
だろ
swift--
だろ
378デフォルトの名無しさん
2016/02/26(金) 10:23:32.68ID:AEppvgmX 素直にObjective-C without Cの言葉通り、静的型付きSmalltalkが出てればな
379デフォルトの名無しさん
2016/02/26(金) 10:46:13.53ID:EcLgMPIl Smalltalk++
Smalltalk#
Smalltalk#
380デフォルトの名無しさん
2016/02/26(金) 11:09:00.81ID:B7GtwkvN Smalltalk.NET
381デフォルトの名無しさん
2016/02/27(土) 07:43:20.45ID:zwwRZ2hM 記述中のこの安心感はすごい。
382デフォルトの名無しさん
2016/02/29(月) 11:46:19.31ID:+6pgi266 NSObject
↓
Zukei
↓
Sankaku
継承していった場合、Zukeiっていらないですよね?
Zukeiって何に使うの?
↓
Zukei
↓
Sankaku
継承していった場合、Zukeiっていらないですよね?
Zukeiって何に使うの?
383デフォルトの名無しさん
2016/02/29(月) 11:58:49.67ID:rONM9FLT >>382
そんなの設計者によるとしか。
そんなの設計者によるとしか。
384デフォルトの名無しさん
2016/02/29(月) 21:32:03.37ID:g6U0QDaU Shikakuを定義するときじゃ無いかな
385デフォルトの名無しさん
2016/02/29(月) 22:33:15.39ID:AGSlA4Px >>382
Zukeiで実装されてる機能もいらないまたは一から作るならいらないね
Zukeiで実装されてる機能もいらないまたは一から作るならいらないね
386デフォルトの名無しさん
2016/03/01(火) 10:05:50.59ID:Y4Aw5jZp 勇者と僧侶がいて、2人とも勇者だったら困るだろ?
387デフォルトの名無しさん
2016/03/01(火) 19:28:43.56ID:oKiiXTzA NSColorが持ってるCGColorプロパティっていつのまにINNER_POINTERになったんだ。
これインナーポインターってことは、NSColorが自動的にリリースしてくれるってことでいいのかな。
これインナーポインターってことは、NSColorが自動的にリリースしてくれるってことでいいのかな。
388デフォルトの名無しさん
2016/03/02(水) 07:36:13.29ID:vYYDvy9N389デフォルトの名無しさん
2016/03/02(水) 11:33:42.75ID:6RTODWst initWith と 変数宣言って何が違うの?
390デフォルトの名無しさん
2016/03/03(木) 07:33:32.75ID:v0X4WZo1 変数宣言は単に箱用意するだけじゃないの
391デフォルトの名無しさん
2016/03/03(木) 11:22:52.73ID:sxVc5uct initWithは?
392デフォルトの名無しさん
2016/03/03(木) 11:34:11.40ID:LQKVhEqg インスタンスメソッドだ。
393デフォルトの名無しさん
2016/03/03(木) 13:58:32.20ID:jykHRqX5 // Swift
let s = self.window!.rootViewController as! UISplitViewController
let n = s.viewControllers[s.viewControllers.count-1] as! UINavigationController
n.topViewController!.navigationItem.leftBarButtonItem = s.displayModeButtonItem()
// Objective-C
id s = self.window.rootViewController;
id n = [s viewControllers][[s viewControllers].count-1];
[n topViewController].navigationItem.leftBarButtonItem = s.displayModeButtonItem;
let s = self.window!.rootViewController as! UISplitViewController
let n = s.viewControllers[s.viewControllers.count-1] as! UINavigationController
n.topViewController!.navigationItem.leftBarButtonItem = s.displayModeButtonItem()
// Objective-C
id s = self.window.rootViewController;
id n = [s viewControllers][[s viewControllers].count-1];
[n topViewController].navigationItem.leftBarButtonItem = s.displayModeButtonItem;
394デフォルトの名無しさん
2016/03/03(木) 15:01:47.17ID:LQKVhEqg s, nはid型だから、メソッド呼ぼうにもXcodeに注意されるぞ。
395デフォルトの名無しさん
2016/03/03(木) 17:29:19.39ID:NI2A9sOU >>389
C言語の文法レベルで変数を宣言してるか
フレームワークレベルでクラスに命令して作らせてるかじゃね?
銀行に借金頼みに行くのと
かーちゃんに「金貸して」では
前者が厳格で融通が利かないけど細かい問題が少ないのに対して
後者が融通が利いて楽だけど相互の了解で成り立ってる的な。
C言語の文法レベルで変数を宣言してるか
フレームワークレベルでクラスに命令して作らせてるかじゃね?
銀行に借金頼みに行くのと
かーちゃんに「金貸して」では
前者が厳格で融通が利かないけど細かい問題が少ないのに対して
後者が融通が利いて楽だけど相互の了解で成り立ってる的な。
396デフォルトの名無しさん
2016/03/04(金) 07:50:35.47ID:A7nrOp7k397デフォルトの名無しさん
2016/03/04(金) 12:15:52.50ID:ws81OHPW398デフォルトの名無しさん
2016/03/04(金) 12:39:05.31ID:JDwO95i7 UISplitViewController *s = …
UINavigationController *n = …
こう宣言しないとだめだよ。
UINavigationController *n = …
こう宣言しないとだめだよ。
399デフォルトの名無しさん
2016/03/05(土) 00:53:47.62ID:Y+yze1Qk400デフォルトの名無しさん
2016/03/05(土) 01:23:19.93ID:y3HtH6T+ >>399
???
???
401デフォルトの名無しさん
2016/03/05(土) 01:32:10.69ID:Y+yze1Qk402デフォルトの名無しさん
2016/03/05(土) 01:34:19.82ID:Y+yze1Qk だとすると、例えばC言語でも、
hoge()の戻り値が配列(ポインタ)だとして、
hoge()[index]とかやったら添え字アクセスできちゃうわけ?
今手元に環境がないから試せないんだけど
hoge()の戻り値が配列(ポインタ)だとして、
hoge()[index]とかやったら添え字アクセスできちゃうわけ?
今手元に環境がないから試せないんだけど
403デフォルトの名無しさん
2016/03/05(土) 01:35:06.51ID:Y+yze1Qk やるとしたら
(hoge())[index]
か?
できたとしてもこんな変態的な表現見たことない…
(hoge())[index]
か?
できたとしてもこんな変態的な表現見たことない…
404デフォルトの名無しさん
2016/03/05(土) 01:35:30.03ID:5URH9rpB >>401
[s viewControllers] は NSArray*返すんだからあってるじゃん
[s viewControllers] は NSArray*返すんだからあってるじゃん
405デフォルトの名無しさん
2016/03/05(土) 01:36:18.69ID:zjxr8oeE UISplitViewController *s = (UISplitViewController *)(self.window.rootViewController);
UINavigationController *n = (UINavigationController *)(s.viewControllers[s.viewControllers.count - 1]);
n.topViewController.navigationItem.leftBarButtonItem = s.displayModeButtonItem;
こうだな
UINavigationController *n = (UINavigationController *)(s.viewControllers[s.viewControllers.count - 1]);
n.topViewController.navigationItem.leftBarButtonItem = s.displayModeButtonItem;
こうだな
406デフォルトの名無しさん
2016/03/05(土) 01:38:21.94ID:5URH9rpB NSArray* array=[s viewControllers];
って時に
array[index] は [array objectAtIndex:index]になるんよ
コンパイラの方で補間してくれてる。
同じように
NSDictionary* dic;にたいして
dic[@"key"] は [dic objectForKey:@"key"]って読み替えしてくれるよ
って時に
array[index] は [array objectAtIndex:index]になるんよ
コンパイラの方で補間してくれてる。
同じように
NSDictionary* dic;にたいして
dic[@"key"] は [dic objectForKey:@"key"]って読み替えしてくれるよ
407デフォルトの名無しさん
2016/03/05(土) 01:40:23.17ID:zjxr8oeE UISplitViewController *s = (UISplitViewController *)([[self window] rootViewController]);
UINavigationController *n = (UINavigationController *)([[s viewControllers] objectAtIndex:[[s viewControllers] count] - 1]);
[[[n topViewController] navigationItem] setLeftBarButtonItem:[s displayModeButtonItem]];
古い書き方したらこうか
UINavigationController *n = (UINavigationController *)([[s viewControllers] objectAtIndex:[[s viewControllers] count] - 1]);
[[[n topViewController] navigationItem] setLeftBarButtonItem:[s displayModeButtonItem]];
古い書き方したらこうか
408デフォルトの名無しさん
2016/03/05(土) 01:41:05.38ID:Y+yze1Qk409デフォルトの名無しさん
2016/03/05(土) 01:43:00.37ID:Y+yze1Qk410デフォルトの名無しさん
2016/03/05(土) 01:46:11.56ID:zjxr8oeE ていうかこのサンプルコード?
self.windowってことは、UIViewのサブクラスの中から
UINavigationControllerのleftBarButtonItem変更してるんか
かなり糞コードな気が
self.windowってことは、UIViewのサブクラスの中から
UINavigationControllerのleftBarButtonItem変更してるんか
かなり糞コードな気が
411デフォルトの名無しさん
2016/03/05(土) 01:50:46.16ID:Y+yze1Qk >>393
つーか、メッセージ式の戻り値でダイレクトに後置[]で要素アクセスしちゃうのもアレだけど、
Objective-Cにおいてオブジェクトのメンバーをドットで直接参照するなんてのも
書き方としてあり得るの?
つーか、メッセージ式の戻り値でダイレクトに後置[]で要素アクセスしちゃうのもアレだけど、
Objective-Cにおいてオブジェクトのメンバーをドットで直接参照するなんてのも
書き方としてあり得るの?
412デフォルトの名無しさん
2016/03/05(土) 01:52:24.95ID:Y+yze1Qk しかも、仮に強いて直接参照するとしても演算子は->じゃない?
謎が多すぎる
謎が多すぎる
413デフォルトの名無しさん
2016/03/05(土) 01:56:08.96ID:zjxr8oeE ドットはメンバーにアクセスしてるんじゃなくてプロパティのシンタックスシュガー
配列辞書の[]は最近だけどドット記法はだいぶ前からある
[o hoge] は o.hoge
[o setHoge:h] は o.hoge = h
と書ける
->とは全然別物
配列辞書の[]は最近だけどドット記法はだいぶ前からある
[o hoge] は o.hoge
[o setHoge:h] は o.hoge = h
と書ける
->とは全然別物
414デフォルトの名無しさん
2016/03/05(土) 02:05:55.05ID:Y+yze1Qk415デフォルトの名無しさん
2016/03/05(土) 02:13:33.21ID:Y+yze1Qk 思い出してきたが、@propertyってちょうどやらなくなったくらいで出てきた気がする
だいぶ昔だよね確かにorz
だいぶ昔だよね確かにorz
416デフォルトの名無しさん
2016/03/05(土) 02:28:25.53ID:Y+yze1Qk やっぱAppleがObjective-Cを収束する方針なのは残念だわ
(Swiftが軌道に乗るのかは微妙だけど)
世界初のWebブラウザもObjective-Cで書かれたんだよね
https://www.w3.org/History/1991-WWW-NeXT/Implementation/
(Swiftが軌道に乗るのかは微妙だけど)
世界初のWebブラウザもObjective-Cで書かれたんだよね
https://www.w3.org/History/1991-WWW-NeXT/Implementation/
417デフォルトの名無しさん
2016/03/05(土) 02:30:28.15ID:jb1F0oyu それはかなり前からやってないことにならないか?
今はジェネリクスとかNonNullableとかあるで。
今はジェネリクスとかNonNullableとかあるで。
418デフォルトの名無しさん
2016/03/05(土) 02:33:47.98ID:y3HtH6T+ かなり古いところで知識が止まってる人やったんやな。
419デフォルトの名無しさん
2016/03/05(土) 02:47:18.67ID:Y+yze1Qk420デフォルトの名無しさん
2016/03/05(土) 02:54:21.39ID:5URH9rpB421デフォルトの名無しさん
2016/03/05(土) 02:54:51.89ID:y3HtH6T+ >>5
> Objective-C Literals ― Clang 3.9 documentation
> http://clang.llvm.org/docs/ObjectiveCLiterals.html
今の Obj-C はいろいろなリテラルが導入されてるんやで。
> Objective-C Literals ― Clang 3.9 documentation
> http://clang.llvm.org/docs/ObjectiveCLiterals.html
今の Obj-C はいろいろなリテラルが導入されてるんやで。
422デフォルトの名無しさん
2016/03/05(土) 03:00:27.20ID:Y+yze1Qk423デフォルトの名無しさん
2016/03/05(土) 03:29:49.20ID:Y+yze1Qk >>421
NSNumberのリテラルはさすがに最近の話ですよね
自分の無知を痛感してきた
これって内部実装はマクロ的に組まれてて数値の範囲はLongLongやDoubleまで
あらゆる数値が可能なのかな
それともコンパイラがやってくれてるんですかね
NSNumberのリテラルはさすがに最近の話ですよね
自分の無知を痛感してきた
これって内部実装はマクロ的に組まれてて数値の範囲はLongLongやDoubleまで
あらゆる数値が可能なのかな
それともコンパイラがやってくれてるんですかね
424デフォルトの名無しさん
2016/03/05(土) 03:49:29.29ID:y3HtH6T+ NSNumber リテラルは2012年の Clang 3.1 からあるで。
425デフォルトの名無しさん
2016/03/05(土) 04:09:14.03ID:Y+yze1Qk そうですか…
もはやブランクというレベルじゃない気がしてきましたね
ノリノリでやってた時って、まだProject BuilderとInterface Builderの時代だったし…
でもやっぱり楽しいですねObjective-Cって
もはやブランクというレベルじゃない気がしてきましたね
ノリノリでやってた時って、まだProject BuilderとInterface Builderの時代だったし…
でもやっぱり楽しいですねObjective-Cって
426デフォルトの名無しさん
2016/03/05(土) 08:30:43.19ID:xdiHToCv (おれ、1990年代頭にK&RでC学んだから、ずっとポインタは整数型だと思ってて
いつのまにかポインタ型ってのになってるの2010年ごろまで知らんかったでw)
いつのまにかポインタ型ってのになってるの2010年ごろまで知らんかったでw)
427デフォルトの名無しさん
2016/03/05(土) 09:33:32.85ID:C6PXQEiT Objective-Cはここ数年で劇的に変わったからな。
といかお前ら絶対Objective-C 2.0とか知らないだろ。
2010年:Objective-C 最速基礎文法マスター
http://d.hatena.ne.jp/fn7/20100203/1265207098
2015年:Objective-C 2.0 基礎文法最速マスター
http://marycore.jp/prog/objective-c/basic-syntax/
といかお前ら絶対Objective-C 2.0とか知らないだろ。
2010年:Objective-C 最速基礎文法マスター
http://d.hatena.ne.jp/fn7/20100203/1265207098
2015年:Objective-C 2.0 基礎文法最速マスター
http://marycore.jp/prog/objective-c/basic-syntax/
428デフォルトの名無しさん
2016/03/05(土) 09:40:03.49ID:y3HtH6T+ Obj-C 2.0 なんて 9 年前の言葉持ち出してきてどうした
429デフォルトの名無しさん
2016/03/05(土) 09:57:04.10ID:C6PXQEiT たしかにObjective-C 2.0以前にXcode側の対応が充実したって言ったほうがいいかもな。
あとマイナーアップデートもちょくちょくあった気がする。
@implementation側でインスタンス変数宣言出来るようになったし
ジェネリックスも最近入ってきた。
あとマイナーアップデートもちょくちょくあった気がする。
@implementation側でインスタンス変数宣言出来るようになったし
ジェネリックスも最近入ってきた。
430デフォルトの名無しさん
2016/03/05(土) 10:02:21.11ID:xdiHToCv >>427
上でも出てるが詳解Objective-C2.0(萩原本)は2008年やで。
俺もcocoaやろうと買ってて、それを2009年のiPhone開発解禁で
本格的に読み始めたから、基本的にiOSやってるやつはみんな2.0からやで。
上でも出てるが詳解Objective-C2.0(萩原本)は2008年やで。
俺もcocoaやろうと買ってて、それを2009年のiPhone開発解禁で
本格的に読み始めたから、基本的にiOSやってるやつはみんな2.0からやで。
431デフォルトの名無しさん
2016/03/05(土) 11:55:02.65ID:UYtB00OI Objective-Cじゃダメな理由って何なのそれ?
432デフォルトの名無しさん
2016/03/05(土) 12:29:52.33ID:jb1F0oyu >>416
あと2.0?になってからpublicとかprivateキーワードも使わなくなったよね。
ヘッダファイル記載したプロパティはpublic
.m側にカテゴリとして記載したプロパティがprivateみたいな方針が標準になった
syhthsizeとかも直接使わなくなってプロバティを宣言すると裏で勝手に
_変数 がつくられてsetterとgetterが自動生成されるとか
暗黙的なことがごちゃごちゃ増えたね。
後から入った人にはマジカルすぎるかもしれない
あと2.0?になってからpublicとかprivateキーワードも使わなくなったよね。
ヘッダファイル記載したプロパティはpublic
.m側にカテゴリとして記載したプロパティがprivateみたいな方針が標準になった
syhthsizeとかも直接使わなくなってプロバティを宣言すると裏で勝手に
_変数 がつくられてsetterとgetterが自動生成されるとか
暗黙的なことがごちゃごちゃ増えたね。
後から入った人にはマジカルすぎるかもしれない
433デフォルトの名無しさん
2016/03/05(土) 13:18:46.27ID:Y+yze1Qk 少しずつ読み進めてますが、Objective-Cらしくない感じがしちゃうけど@propertyは便利ですね
ただ、
@public
@private
@protected
はわかりやすかった気がするけど、ヘッダファイルにprivateメンバの情報を
載せないで済むようにしたかったってことなのかな
ただ、
@public
@private
@protected
はわかりやすかった気がするけど、ヘッダファイルにprivateメンバの情報を
載せないで済むようにしたかったってことなのかな
434デフォルトの名無しさん
2016/03/05(土) 14:18:12.35ID:mFk1f1pP ヘッダに書くのはパブリックメソッドのみ。これが合理的で非常にわかりやすい。
もっともOOPに適した言語だと思う。
もっともOOPに適した言語だと思う。
435デフォルトの名無しさん
2016/03/05(土) 14:35:34.86ID:HF+l0CAH ここはいつから日記帳になったんだ
436デフォルトの名無しさん
2016/03/05(土) 18:16:16.08ID:jb1F0oyu437デフォルトの名無しさん
2016/03/06(日) 00:41:20.28ID:5qJ91+Ie >>427
NeXTのOpticalDrive版もってましたがなにか?
NeXTのOpticalDrive版もってましたがなにか?
438デフォルトの名無しさん
2016/03/06(日) 11:35:02.88ID:g15wMUfE439デフォルトの名無しさん
2016/03/10(木) 14:37:18.03ID:OLUNjZSr うちは未だに[NSArray arrayWithObjects:@"", nil]とか[NSNumber initWithInteger:0]使ってるコードあるけどな。
テストが面倒なのでTo Modern Objective-C Syntax...機能は使わないという方針なんだよ。
ウォーターフォール型でモバイルアプリ開発始めるとこうなる。
テストが面倒なのでTo Modern Objective-C Syntax...機能は使わないという方針なんだよ。
ウォーターフォール型でモバイルアプリ開発始めるとこうなる。
440デフォルトの名無しさん
2016/03/10(木) 17:40:00.03ID:yfQIYaI+ なんでテストが面倒なの?
441デフォルトの名無しさん
2016/03/11(金) 16:33:44.79ID:kWA4jyXp 日本のウォーターフォール開発にはエビデンスというものがあってだな。
とりあえず責任のなすりつけあいをするために大掛かりな改修が入ると1からテストし直す所は多いよ
とりあえず責任のなすりつけあいをするために大掛かりな改修が入ると1からテストし直す所は多いよ
442デフォルトの名無しさん
2016/03/17(木) 01:04:45.68ID:7hhawqio > To Modern Objective-C Syntax...機能
ああXcodeの一括置換機能か
意味がわかった
ああXcodeの一括置換機能か
意味がわかった
443デフォルトの名無しさん
2016/04/06(水) 03:45:31.16ID:HJm2wRVw NSMatrixでハマってしまいました、お知恵をお貸しください。
NSMatrixで複数選択した時の選択されている箇所を調べる方法なんですが
NSMatrixのアクションを以下のようにしてみたのですがオン時はうまく行きますがオフ時にNSCellのstateが変わらずオンの値のままになってしまいます。
オフにしてから他のcellの値を変えると適用された値になります。
原因分かりますか?
- (IBAction)choiceMatrix:(NSMatrix *)sender {
BOOL c1, c2, c3, c4;
for (NSCell *cell in [sender cells]) {
switch ([cell tag]) {
case 0:
c1=[cell state];
break;
case 1:
c2=[cell state];
break;
〜〜〜〜〜〜〜〜
default:
break;
}
}
NSLog(@"[%d, %d, %d, %d]",c1, c2, c3, c4);
}
NSMatrixで複数選択した時の選択されている箇所を調べる方法なんですが
NSMatrixのアクションを以下のようにしてみたのですがオン時はうまく行きますがオフ時にNSCellのstateが変わらずオンの値のままになってしまいます。
オフにしてから他のcellの値を変えると適用された値になります。
原因分かりますか?
- (IBAction)choiceMatrix:(NSMatrix *)sender {
BOOL c1, c2, c3, c4;
for (NSCell *cell in [sender cells]) {
switch ([cell tag]) {
case 0:
c1=[cell state];
break;
case 1:
c2=[cell state];
break;
〜〜〜〜〜〜〜〜
default:
break;
}
}
NSLog(@"[%d, %d, %d, %d]",c1, c2, c3, c4);
}
444デフォルトの名無しさん
2016/05/01(日) 14:30:22.53ID:tKi6j9CT 匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw
The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
う
BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw
The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
う
445デフォルトの名無しさん
2016/05/21(土) 21:08:51.89ID:oKW2aYRF iosって標準で何かデータベース使えるの?
androidはsqliteが使えるけど
androidはsqliteが使えるけど
446デフォルトの名無しさん
2016/05/21(土) 22:23:35.91ID:CpbYB6Dd sqlite入ってますよ
447デフォルトの名無しさん
2016/05/22(日) 01:54:16.39ID:gQDMaR5e ありがとうございます!
448デフォルトの名無しさん
2016/05/23(月) 11:26:40.41ID:VJZJx6HE 安心してください
2016/07/10(日) 10:00:08.73ID:mg7VERF+
オーバーライドの意味がわかりません
スーパークラス
メソッドA
サブクラス
メソッドA
サブクラスのメソッドAをオーバーライドします
スーパースラスは、どうやって使うの?
スーパークラス
メソッドA
サブクラス
メソッドA
サブクラスのメソッドAをオーバーライドします
スーパースラスは、どうやって使うの?
2016/07/10(日) 11:33:19.16ID:BZS6mtB9
[super メソッドA];
451デフォルトの名無しさん
2016/08/08(月) 14:05:28.43ID:hWjiE75J __strong
__weak
__unsafe_unretained
__autoreleasing
Obj-C2.0で、これ使いますか?
__weak
__unsafe_unretained
__autoreleasing
Obj-C2.0で、これ使いますか?
452デフォルトの名無しさん
2016/08/09(火) 02:55:35.50ID:MqKY0R2e 使う事もあるよ
453デフォルトの名無しさん
2016/08/10(水) 14:13:19.69ID:5T/jHI7m カテゴリって、戻り値しかない関数って思えばいいの?
454デフォルトの名無しさん
2016/08/10(水) 17:39:43.18ID:62x+4tTI 凄い。全然違う。いわゆる trait
455デフォルトの名無しさん
2016/09/16(金) 11:26:49.35ID:L/lkPp6y 継承って、C言語の標準関数って思っていいの?
456デフォルトの名無しさん
2016/09/16(金) 11:32:41.83ID:uFIaMsTW すまん言いたいことの意味がわからない
457デフォルトの名無しさん
2016/09/16(金) 11:59:46.56ID:Uoij9LZq クラスの場合はサブクラス化のこと。多重継承はできない。
プロトコルの場合は多重継承できる。
プロトコルの場合は多重継承できる。
458デフォルトの名無しさん
2016/09/18(日) 16:19:24.88ID:9KaldL8I459デフォルトの名無しさん
2016/09/18(日) 16:21:49.97ID:V608H0Yq つまんね
460デフォルトの名無しさん
2016/09/18(日) 16:22:34.65ID:+iC0HZAY おつおつ
461デフォルトの名無しさん
2016/09/19(月) 06:53:12.40ID:ze/R6ozd >>438とか言ってるからどれ程に有識かと思ったら
バズワードでしかObjCの機能を説明できない奴らばかりかよ、、、
バズワードでしかObjCの機能を説明できない奴らばかりかよ、、、
462デフォルトの名無しさん
2016/09/19(月) 08:04:00.68ID:W9V/RaHi まじでカテゴリとは何かってことか?
既存のクラスに宣言(.h)と実装(.m)を追加するObj-Cのミラクル機能だよ。
例えばNSArrayにobjectAtIndexSafety:を追加する。
oreore.h
@interface NSArray (oreore)
- (id) objectAtIndexSafety:(NSUInteger)index;
@end
oreore.m
@implementation NSArray(oreore)
- (id) objectAtIndexSafety:(NSUInteger)index
{
if (index < [self count]) {
return [self objectAtIndex:index];
}
return nil;
}
@end
既存のクラスに宣言(.h)と実装(.m)を追加するObj-Cのミラクル機能だよ。
例えばNSArrayにobjectAtIndexSafety:を追加する。
oreore.h
@interface NSArray (oreore)
- (id) objectAtIndexSafety:(NSUInteger)index;
@end
oreore.m
@implementation NSArray(oreore)
- (id) objectAtIndexSafety:(NSUInteger)index
{
if (index < [self count]) {
return [self objectAtIndex:index];
}
return nil;
}
@end
463デフォルトの名無しさん
2016/09/19(月) 17:58:43.86ID:gQRJTUbC javaスレでメソッドってなに?って聞いてるようなもんだから
みんな釣りとしてスルーしてた。
みんな釣りとしてスルーしてた。
464デフォルトの名無しさん
2016/09/19(月) 18:02:17.52ID:VA/o11o6 Objective-CがsmalltalkとCのハイブリッドなので
僕はカテゴリとかの単語の意味含めてメソッド呼び出しの仕組みとかを理解しやすくするにはsmalltalkを体験すべきだと思うのだけどどう?
僕はカテゴリとかの単語の意味含めてメソッド呼び出しの仕組みとかを理解しやすくするにはsmalltalkを体験すべきだと思うのだけどどう?
465デフォルトの名無しさん
2016/09/19(月) 22:24:00.74ID:KnX9vMV5 >>464
んー、SmalltalkはObj-Cの [ ] の中身だけでコードを全て記述するような感じの言語で、動的性を学ぶのにいいので
「Smalltalkを体験すべき」っていうのには大筋では賛成。こちら↓はその際の参考まで。
▼Smalltalkをちょっとかじってみたい人のための、チュートリアルまとめ
http://qiita.com/sumim/items/6bed17961bd57daf88a3
でもカテゴリはSmalltalkでは対応するのはトレイトだし、Smalltalkでカテゴリはプロトコルの意味でも使われたり
そのプロトコルもObj-Cのプロトコルとは(名前の由来にはなっているけれど)別物だったりと食い違いもあり
「メソッド呼び出しの仕組み」はともかく、こと「単語(用語)の意味」を知る目的では必ずしもお薦めできない。
んー、SmalltalkはObj-Cの [ ] の中身だけでコードを全て記述するような感じの言語で、動的性を学ぶのにいいので
「Smalltalkを体験すべき」っていうのには大筋では賛成。こちら↓はその際の参考まで。
▼Smalltalkをちょっとかじってみたい人のための、チュートリアルまとめ
http://qiita.com/sumim/items/6bed17961bd57daf88a3
でもカテゴリはSmalltalkでは対応するのはトレイトだし、Smalltalkでカテゴリはプロトコルの意味でも使われたり
そのプロトコルもObj-Cのプロトコルとは(名前の由来にはなっているけれど)別物だったりと食い違いもあり
「メソッド呼び出しの仕組み」はともかく、こと「単語(用語)の意味」を知る目的では必ずしもお薦めできない。
466デフォルトの名無しさん
2016/09/20(火) 09:47:32.51ID:noK0zumc 似てるってだけでハイブリッド(キリっ)とか
頭湧いてんな
頭湧いてんな
467デフォルトの名無しさん
2016/09/20(火) 21:20:03.95ID:cQ8uMGBS ObjcのハイブリッドはSmalltailkのコンセプトとC言語の処理系のハイブリッドのことだと思うんだけど
そういう意味ならSmalltalkの思想やコンセプトを理解する価値はある気がする。
でもObjcはそんなに難しい言語でもないしそこまでする必要は無い気もする。
そういう意味ならSmalltalkの思想やコンセプトを理解する価値はある気がする。
でもObjcはそんなに難しい言語でもないしそこまでする必要は無い気もする。
468デフォルトの名無しさん
2016/09/21(水) 15:26:58.49ID:S1SFikQD objcらしさはトレンドが早いから今更Smalltalkはどうなのよ
原典の一つではあろうがobjcで学ぶべきじゃね
原典の一つではあろうがobjcで学ぶべきじゃね
469デフォルトの名無しさん
2016/09/25(日) 19:25:14.70ID:+js0BgEk いつの間にか NSArray<NSString *> *names; みたいな記法が可能に。
470デフォルトの名無しさん
2016/09/25(日) 19:39:59.75ID:sZGCwOzX ジェネリクスは去年からだろ
今年はクラス変数(Type Property)が追加された
今年はクラス変数(Type Property)が追加された
471デフォルトの名無しさん
2016/10/06(木) 22:17:15.09ID:Ppn//x8R すいません、objective-c触れたばっかで全然勝手が分からないんですが、
void play_sound(NSString* str)
{
NSSound* sound = [NSSound soundNamed : str];
[sound play];
}
int main()
{
play_sound(@
void play_sound(NSString* str)
{
NSSound* sound = [NSSound soundNamed : str];
[sound play];
}
int main()
{
play_sound(@
472デフォルトの名無しさん
2016/10/06(木) 22:19:20.70ID:Ppn//x8R473デフォルトの名無しさん
2016/10/07(金) 00:37:46.25ID:yL88npXy 2chのバグだろ
書き込み確認画面が出る際、" を使うと、そこで文字列の終了とみなされる。
" を、\" とエスケープすれば、どうだろう?
書き込み確認画面が出る際、" を使うと、そこで文字列の終了とみなされる。
" を、\" とエスケープすれば、どうだろう?
474デフォルトの名無しさん
2016/10/07(金) 00:40:22.25ID:X6DZ7p2C 普通"に実体参照でエスケープして書き込むだろ
475デフォルトの名無しさん
2016/10/07(金) 00:46:39.49ID:X6DZ7p2C476デフォルトの名無しさん
2016/10/07(金) 00:48:31.69ID:A3oY7q9i test1
477デフォルトの名無しさん
2016/10/07(金) 00:49:01.66ID:A3oY7q9i478デフォルトの名無しさん
2016/10/07(金) 00:55:53.92ID:UYUTVtAf >>475
回答あざっす
pool処理ってこんな感じでいいんでしょうか?
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
/--------ここに処理を記述---------/
[pool release];
回答あざっす
pool処理ってこんな感じでいいんでしょうか?
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
/--------ここに処理を記述---------/
[pool release];
479デフォルトの名無しさん
2016/10/07(金) 00:58:48.10ID:X6DZ7p2C >>478
@autoreleasepool{
}
でいいよ
てかsoundならallocでイニシャライズして好きなタイミングでリリースした方がいいんじゃない
以前のOSではNSSoundのautorelease不具合あったし
@autoreleasepool{
}
でいいよ
てかsoundならallocでイニシャライズして好きなタイミングでリリースした方がいいんじゃない
以前のOSではNSSoundのautorelease不具合あったし
480デフォルトの名無しさん
2016/10/07(金) 01:04:41.28ID:UYUTVtAf481デフォルトの名無しさん
2016/10/07(金) 01:11:24.99ID:UYUTVtAf openglいじってて、サウンドもつけたくなり
でもそれだとCocoaFramework必要になって
ほんとはcで済ませたかったんですが、objective-cじゃないとCocoa使えないからということで
ほんとに無知ですんません
でもそれだとCocoaFramework必要になって
ほんとはcで済ませたかったんですが、objective-cじゃないとCocoa使えないからということで
ほんとに無知ですんません
482デフォルトの名無しさん
2016/10/07(金) 01:19:10.67ID:X6DZ7p2C >>480
NSSoundDelegateで再生終了時のdidFinishPlayingを拾ってリリーすれば良いんじゃない
-(void)playSE{
NSString*path= @"音パス";
NSSound *se = [[NSSound alloc] initWithContentsOfFile:path byReference:YES];
[se setDelegate:self];
[se play];
}
-(void)sound:(NSSound *)sound didFinishPlaying:(BOOL)aBool{
[sound release];
}
NSSoundDelegateで再生終了時のdidFinishPlayingを拾ってリリーすれば良いんじゃない
-(void)playSE{
NSString*path= @"音パス";
NSSound *se = [[NSSound alloc] initWithContentsOfFile:path byReference:YES];
[se setDelegate:self];
[se play];
}
-(void)sound:(NSSound *)sound didFinishPlaying:(BOOL)aBool{
[sound release];
}
483デフォルトの名無しさん
2016/10/07(金) 01:20:54.04ID:UYUTVtAf >>482
凄く分かりやすいです!本当にありがとうございます
凄く分かりやすいです!本当にありがとうございます
484デフォルトの名無しさん
2016/10/07(金) 01:22:54.60ID:X6DZ7p2C ゲームかなんか?
それならエフェクト追加とかミキサーで多重再生とかしたくなるだろうから
AudioUnitでやると便利だよ
それならエフェクト追加とかミキサーで多重再生とかしたくなるだろうから
AudioUnitでやると便利だよ
485デフォルトの名無しさん
2016/10/07(金) 01:29:40.94ID:UYUTVtAf >>484
ゲームってわけじゃないんですが
一応ゲーム作るなら情報豊富なdxlib使おうかと思いますし・・・
ほんとに軽くSEほしいなぐらいなんで
でも一応検討します
回答わかりやすかったです
何回も言ってますけどw本当にありがとうございます
ゲームってわけじゃないんですが
一応ゲーム作るなら情報豊富なdxlib使おうかと思いますし・・・
ほんとに軽くSEほしいなぐらいなんで
でも一応検討します
回答わかりやすかったです
何回も言ってますけどw本当にありがとうございます
486デフォルトの名無しさん
2016/10/07(金) 01:33:04.00ID:X6DZ7p2C そこはdirectXなのかよwww
ドザーなのか
ドザーなのか
487デフォルトの名無しさん
2016/10/07(金) 01:35:22.75ID:UYUTVtAf488デフォルトの名無しさん
2016/10/07(金) 01:38:54.58ID:UYUTVtAf iOSだと大量のリファレンスそれも日本語の(英語でも一応なんとかなりますけど・・・
があるのにOSXのほうはなかなか見つけるのが難しくて苦労してます(探し方わるいのかもしれんけど)
があるのにOSXのほうはなかなか見つけるのが難しくて苦労してます(探し方わるいのかもしれんけど)
489デフォルトの名無しさん
2016/10/12(水) 21:41:24.49ID:fMOTdRji クラスを配列で作りたいんだけどこれって大丈夫?
@interface myclass : NSObject{
int kazu;
}
-(void)set : (int) i;
-(void)print;
@end
@implementation myclass
-(void)set : (int) i
{
self->kazu = i;
}
-(void)print
{
printf(”%d\n”, kazu);
}
@end
int main()
{
@autoreleasepool
{
myclass* obj[3];
for(int i=0; i<3; ++i)
obj[i] = [ [myclass alloc]init ];
for(int i=0; i<3; ++i)
[obj[i]set : i*10];
for(int i=0; i<3; ++i)
[obj[i]print];
}
return 0;
}
@interface myclass : NSObject{
int kazu;
}
-(void)set : (int) i;
-(void)print;
@end
@implementation myclass
-(void)set : (int) i
{
self->kazu = i;
}
-(void)print
{
printf(”%d\n”, kazu);
}
@end
int main()
{
@autoreleasepool
{
myclass* obj[3];
for(int i=0; i<3; ++i)
obj[i] = [ [myclass alloc]init ];
for(int i=0; i<3; ++i)
[obj[i]set : i*10];
for(int i=0; i<3; ++i)
[obj[i]print];
}
return 0;
}
490デフォルトの名無しさん
2016/10/12(水) 23:42:00.99ID:GIO3EA35 構造体と配列はARCが効かないからメモリーリークするんじゃなかったっけ?
autoreleasepool抜けた後
-(void) dealloc {} ちゃんと呼ばれる?
autoreleasepool抜けた後
-(void) dealloc {} ちゃんと呼ばれる?
491デフォルトの名無しさん
2016/10/13(木) 00:28:51.23ID:d0+eFHBu492デフォルトの名無しさん
2016/10/13(木) 00:34:33.56ID:d0+eFHBu 間違えた
[obj[i] dealloc];ってことになるのか?
[obj[i] dealloc];ってことになるのか?
493デフォルトの名無しさん
2016/10/13(木) 00:41:30.99ID:5gkYrLUa いや、やるとしても
[obj[i] release];
でしょ
メモリー管理のポリシー的にdeallocメソッドは滅多なことでは使わない
[obj[i] release];
でしょ
メモリー管理のポリシー的にdeallocメソッドは滅多なことでは使わない
494デフォルトの名無しさん
2016/10/13(木) 00:45:19.72ID:d0+eFHBu 了解、あんまこういうの載ってるとこなくて質問させてもらいました
ありがと
ありがと
495デフォルトの名無しさん
2016/10/13(木) 00:47:40.63ID:d0+eFHBu ってかこういう処理ってobj-cで普通どうやるの?
C++だったらvectorにぶち込むとか
javaだったらガンガンnewしちゃうけど・・・
C++だったらvectorにぶち込むとか
javaだったらガンガンnewしちゃうけど・・・
496デフォルトの名無しさん
2016/10/13(木) 00:54:16.14ID:d0+eFHBu (別にvectorにぶち込まなくても普通に配列で作れたわ 恥ずかしい・・・)
497デフォルトの名無しさん
2016/10/13(木) 01:30:12.49ID:TfTkEqcE >>489
大丈夫。
myclass* obj[3]; //ポインタ型の配列 省略されてるがstrong
ARC有効なのでmainのスコープを抜けた時に解放される。
@autoreleasepoolは要らない。
大丈夫。
myclass* obj[3]; //ポインタ型の配列 省略されてるがstrong
ARC有効なのでmainのスコープを抜けた時に解放される。
@autoreleasepoolは要らない。
498デフォルトの名無しさん
2016/10/13(木) 01:33:33.88ID:TfTkEqcE ARCだからreleaseは呼べないので、解放されるかチェックするなら
@implementation myclass
- (void)dealloc
{
NSLog(@“%s”, __func__);
}
@end
@implementation myclass
- (void)dealloc
{
NSLog(@“%s”, __func__);
}
@end
499デフォルトの名無しさん
2016/10/13(木) 01:55:06.63ID:d0+eFHBu500デフォルトの名無しさん
2016/10/13(木) 01:59:27.13ID:d0+eFHBu あと、ARCなしだったら
-(void)deallocに[super dealloc];必要だよね
-(void)deallocに[super dealloc];必要だよね
501デフォルトの名無しさん
2016/10/13(木) 02:02:15.85ID:d0+eFHBu >499
ごめん変なこと書いた
objective-c始めたばっかだからおかしなこと書いてスマソ
ってことはARC効かなかったら手動でreleaseしないといけないってことだよね
[obj[i] release];
ごめん変なこと書いた
objective-c始めたばっかだからおかしなこと書いてスマソ
ってことはARC効かなかったら手動でreleaseしないといけないってことだよね
[obj[i] release];
502デフォルトの名無しさん
2016/10/13(木) 02:11:12.99ID:TfTkEqcE >>495
これで動作確認してみたよ。(ARC)
-deallocも呼ばれる。
int main()
{
myclass* obj[3];
for(int i=0; i<3; ++i) {
obj[i] = [ [myclass alloc]init ];
[obj[i]set : i*10];
[obj[i]print];
}
return 0;
}
>>500
MRCなら[super dealloc]; を末尾で呼びます。
>>501
手動でretain, releaseなんだけど、init系はretain済みを返すとか、
コンビニエンスコンストラクタはautorelease済みを返すとか、
ViewにaddSubviewしたらretainされるとか、いろいろややこしいかもよw
あと、Xcodeのテンプレではmain()に@autoreleasepoolがあるけど、
ARCなら上記のとおり解放されるし、どのみちmainを抜けたらアプリ終了で解放されるんだよね。
これで動作確認してみたよ。(ARC)
-deallocも呼ばれる。
int main()
{
myclass* obj[3];
for(int i=0; i<3; ++i) {
obj[i] = [ [myclass alloc]init ];
[obj[i]set : i*10];
[obj[i]print];
}
return 0;
}
>>500
MRCなら[super dealloc]; を末尾で呼びます。
>>501
手動でretain, releaseなんだけど、init系はretain済みを返すとか、
コンビニエンスコンストラクタはautorelease済みを返すとか、
ViewにaddSubviewしたらretainされるとか、いろいろややこしいかもよw
あと、Xcodeのテンプレではmain()に@autoreleasepoolがあるけど、
ARCなら上記のとおり解放されるし、どのみちmainを抜けたらアプリ終了で解放されるんだよね。
503デフォルトの名無しさん
2016/10/13(木) 02:18:38.99ID:d0+eFHBu >>502
ほんとに助かります ありがと
ってか素直にxcode使いますw
OSXとiOS意外の環境にObjective-c流行らないのって
これ関係だよね(メモリの管理)
GNUstepも確か手動でしょ?メモリ解放
むしろなれてるcの方がメモリ管理楽に感じる(小声
ほんとに助かります ありがと
ってか素直にxcode使いますw
OSXとiOS意外の環境にObjective-c流行らないのって
これ関係だよね(メモリの管理)
GNUstepも確か手動でしょ?メモリ解放
むしろなれてるcの方がメモリ管理楽に感じる(小声
504デフォルトの名無しさん
2016/10/13(木) 02:32:47.05ID:TfTkEqcE505デフォルトの名無しさん
2016/10/14(金) 14:48:31.14ID:v9j5dzmv 教えてください。
詳解Objective-C2.0第3版を読んでいます。ランタイムシステムってのが出てくるんですけど、これはアプリ1つに一個起動されるのでしょうか?それとも、OSの起動毎に一個起動されるのでしょうか?
詳解Objective-C2.0第3版を読んでいます。ランタイムシステムってのが出てくるんですけど、これはアプリ1つに一個起動されるのでしょうか?それとも、OSの起動毎に一個起動されるのでしょうか?
506デフォルトの名無しさん
2016/10/14(金) 14:59:05.79ID:v9j5dzmv Objective-Cのランタイムってのは<objc/runtime.h>に定義されている、Cの関数郡って事らしい。木下本に記載があるらしい。たとえば、objc_setAssociatedObject() / objc_getAssociatedObject() ってのがあるって事だ。
507デフォルトの名無しさん
2016/10/14(金) 15:32:44.99ID:lawu0WKC >>505
これ読んでみて
Objective-Cランタイムシステムは、すべてのクラスオブジェクトに対してinitializeメッセージを送信します。
各クラスは、ほかのいずれのメッセージよりも先にこのメッセージを受け取ります。
その結果、クラスの使用に先立ってクラス独自のランタイム環境を準備できます。
https://developer.apple.com/jp/documentation/Multithreading.pdf
これ読んでみて
Objective-Cランタイムシステムは、すべてのクラスオブジェクトに対してinitializeメッセージを送信します。
各クラスは、ほかのいずれのメッセージよりも先にこのメッセージを受け取ります。
その結果、クラスの使用に先立ってクラス独自のランタイム環境を準備できます。
https://developer.apple.com/jp/documentation/Multithreading.pdf
508デフォルトの名無しさん
2016/10/14(金) 23:13:42.95ID:lawu0WKC >>505
まずアプリごとに別プロセスであって、その上でスレッドを実行している。
ランタイム自体はCの関数群なので、アプリがマルチスレッドの場合はスレッドごとにスタックを確保し実行される。
なので、ランタイムはアプリに1個ではなくスレッドに1個ということだね。
スレッドごとにプライオリティが違うのでランタイムの実行速度も違うわけだし。
あんまり詳しく無いけどこんな感じだと思います。
まずアプリごとに別プロセスであって、その上でスレッドを実行している。
ランタイム自体はCの関数群なので、アプリがマルチスレッドの場合はスレッドごとにスタックを確保し実行される。
なので、ランタイムはアプリに1個ではなくスレッドに1個ということだね。
スレッドごとにプライオリティが違うのでランタイムの実行速度も違うわけだし。
あんまり詳しく無いけどこんな感じだと思います。
509デフォルトの名無しさん
2016/10/15(土) 08:39:31.98ID:KMpEggfz510デフォルトの名無しさん
2016/10/15(土) 08:59:48.13ID:dlnFVU64 なんかおかしくないかと思ったが、質問者が納得したならいいか
511デフォルトの名無しさん
2016/10/15(土) 09:12:48.51ID:3zvDUrQk ランタイムって起動時にクラス登録したりメソッド登録したりして、
メソッド呼び出し時にメソッド解決するためのシステムやろ。
アプリに1つずつじゃないの。
メソッド呼び出し時にメソッド解決するためのシステムやろ。
アプリに1つずつじゃないの。
512508
2016/10/15(土) 09:29:45.08ID:dk6au9gQ スレッドに1個というのは、スレッド毎にスタックメモリを確保してるという意味で、
ただの関数なんだからそうなるよね。
ソースまだ読んで無いけどw
ただの関数なんだからそうなるよね。
ソースまだ読んで無いけどw
513デフォルトの名無しさん
2016/10/15(土) 10:10:00.08ID:dk6au9gQ 時間ある人読んでみて。違ったら教えてw
ダイナミックObjective-C
http://news.mynavi.jp/column/objc/014/
ソース
http://opensource.apple.com/source/objc4/objc4-267/runtime/
ダイナミックObjective-C
http://news.mynavi.jp/column/objc/014/
ソース
http://opensource.apple.com/source/objc4/objc4-267/runtime/
514デフォルトの名無しさん
2016/10/15(土) 10:11:59.38ID:KMpEggfz >>511
根拠やソースをどうぞ!
ランタイムって言葉は、乱用されてるので、誤解を招きやすいよねぇ。
Visual Basicランタイムてのは、実態はdll(osxでいうとdylib)で、具体的には
Msvbvm60.dll
vb6jp.dll
Stdole2.tlb
Oleaut32.dll
Olepro32.dll
Comcat.dll
Asycfilt.dll
Ctl3d32.dll
ですよねぇ。
同様に、Obj-Cのランタイムは、libobjc.A.dylibってことですね。
Objective-C Runtime Reference - Developer - Apple
Objective-C runtime library support functions are implemented in the shared library found at /usr/lib/libobjc.A.dylib.
根拠やソースをどうぞ!
ランタイムって言葉は、乱用されてるので、誤解を招きやすいよねぇ。
Visual Basicランタイムてのは、実態はdll(osxでいうとdylib)で、具体的には
Msvbvm60.dll
vb6jp.dll
Stdole2.tlb
Oleaut32.dll
Olepro32.dll
Comcat.dll
Asycfilt.dll
Ctl3d32.dll
ですよねぇ。
同様に、Obj-Cのランタイムは、libobjc.A.dylibってことですね。
Objective-C Runtime Reference - Developer - Apple
Objective-C runtime library support functions are implemented in the shared library found at /usr/lib/libobjc.A.dylib.
515デフォルトの名無しさん
2016/10/15(土) 10:17:34.69ID:KMpEggfz >>511
この人は多分こんな誤解をしている。
ランタイムシステムっていうプロセスがアプリが起動される度にfork(生成されて)されて、「xxxやyyyって仕事をしている」
だから、アプリが複数起動されると、メモリはランタイムシステムで溢れかえる。
androidでは、アプリが起動される度にVMがforkされる様に。
この人は多分こんな誤解をしている。
ランタイムシステムっていうプロセスがアプリが起動される度にfork(生成されて)されて、「xxxやyyyって仕事をしている」
だから、アプリが複数起動されると、メモリはランタイムシステムで溢れかえる。
androidでは、アプリが起動される度にVMがforkされる様に。
516デフォルトの名無しさん
2016/10/15(土) 10:26:13.78ID:KMpEggfz こんな理解で、ええんでっしゃろか?
libobjc.A.dylib ― obj-c runtime
libobjc.B.dylib ― core foundation
libobjc.A.dylib ― obj-c runtime
libobjc.B.dylib ― core foundation
517デフォルトの名無しさん
2016/10/15(土) 10:32:53.00ID:3zvDUrQk なんでプロセスの話になってんの。お前が何を言ってるのかまるで分からない。
518デフォルトの名無しさん
2016/10/15(土) 11:01:56.05ID:fVu0gjAI obj-c runtimeは、dylibとして実装されている。通常、OS起動時に仮装メモリ上にロードされるので、アプリ起動時に新たにロードされることはない。
Cocoa/Foundationにリンクしてコンパイルされたバイナリがメモリ上にロードされると、仮装メモリ上のdylibイメージがプロセスのメモリ空間にマップされ、objc runtimeとして利用出来るようになる。
ランタイムの初期化はプロセス毎だが、独立したプロセスとして実装されている訳ではない。
Cocoa/Foundationにリンクしてコンパイルされたバイナリがメモリ上にロードされると、仮装メモリ上のdylibイメージがプロセスのメモリ空間にマップされ、objc runtimeとして利用出来るようになる。
ランタイムの初期化はプロセス毎だが、独立したプロセスとして実装されている訳ではない。
519デフォルトの名無しさん
2016/10/15(土) 11:28:07.92ID:KMpEggfz >>518
なんがと!
メモリへのマップはshmat(shared memory attatch)で行われるって理解でOK?
man shmat
BSD System Calls Manual SHMAT(2)
DESCRIPTION
shmat() maps the shared memory segment associated with the shared memory
identifier shmid into the address space of the calling process.
なんがと!
メモリへのマップはshmat(shared memory attatch)で行われるって理解でOK?
man shmat
BSD System Calls Manual SHMAT(2)
DESCRIPTION
shmat() maps the shared memory segment associated with the shared memory
identifier shmid into the address space of the calling process.
520デフォルトの名無しさん
2016/10/15(土) 14:20:50.64ID:5BWmrAPA それはプロセス間共有メモリで別物かと。
キチンと調べるならMACH-O binaryとかかな?
http://www.m4b.io/reverse/engineering/mach/binaries/2015/03/29/mach-binaries.html
記憶ではApple のmach-O file format referenceとかあったはずだが検索で見つからない。
キチンと調べるならMACH-O binaryとかかな?
http://www.m4b.io/reverse/engineering/mach/binaries/2015/03/29/mach-binaries.html
記憶ではApple のmach-O file format referenceとかあったはずだが検索で見つからない。
521デフォルトの名無しさん
2016/10/16(日) 10:35:31.41ID:FpSgdyT6 基本的にクラス(インスタンス)のプロセスを動的に管理するOSのようなものが
Objective-Cのアプリが動作している間中必要なので
ずっとそこに基本管理プログラムとして居続けてるかと。
(アプリが動作してない時もアプリが起動した途端にいるから常駐してる)
Objective-Cのアプリが動作している間中必要なので
ずっとそこに基本管理プログラムとして居続けてるかと。
(アプリが動作してない時もアプリが起動した途端にいるから常駐してる)
522デフォルトの名無しさん
2016/10/16(日) 11:28:22.44ID:xF5nqLB3 >>521
意味不明!
クラス(インスタンス)のプロセスってなに?
プロセスを動的に管理するOSのようなものって?
ずっとそこに基本管理プログラムとして居続けてるかと?
一体何が、いると思ってるんだ?
意味不明!
クラス(インスタンス)のプロセスってなに?
プロセスを動的に管理するOSのようなものって?
ずっとそこに基本管理プログラムとして居続けてるかと?
一体何が、いると思ってるんだ?
523デフォルトの名無しさん
2016/10/16(日) 11:50:42.07ID:3UpkNFG/ 普通、コンパイル言語のランタイムというとその言語の機能を実現するための低レベルのライブラリの事。
これらのライブラリを呼ぶコードはコンパイラが生成するが、ユーザーが明示的にこれらを呼ぶ事はない。
また、ユーザーのプログラムのmainに飛ぶ前にこのランタイム環境は初期化され、普通は単に
アプリケーションプロセスの一部でしかない。
例えばObjective-Cのランタイムにはダイナミックなメッセージングを実現するためのAPIが含まれる。
Objective-C Runtime
https://developer.apple.com/reference/objectivec/1657527-objective_c_runtime
これらのライブラリを呼ぶコードはコンパイラが生成するが、ユーザーが明示的にこれらを呼ぶ事はない。
また、ユーザーのプログラムのmainに飛ぶ前にこのランタイム環境は初期化され、普通は単に
アプリケーションプロセスの一部でしかない。
例えばObjective-Cのランタイムにはダイナミックなメッセージングを実現するためのAPIが含まれる。
Objective-C Runtime
https://developer.apple.com/reference/objectivec/1657527-objective_c_runtime
524デフォルトの名無しさん
2016/10/16(日) 13:08:49.80ID:vrM29RHh PCあぷり屋さんって、どのようにしてアプリがCPUで実行されてるのか知らない人多いよねたぶん
525デフォルトの名無しさん
2016/10/16(日) 16:25:18.60ID:xF5nqLB3 >>524
では、どの様にして、知る事になりました?
何か良い教科書あります?
俺が良かったのは、パタヘネ、最初の数章でもすげー役立つ。
それから、オブジェクト指向でなぜつくるのか。
良書があれば、紹介よろしくお願いします。
では、どの様にして、知る事になりました?
何か良い教科書あります?
俺が良かったのは、パタヘネ、最初の数章でもすげー役立つ。
それから、オブジェクト指向でなぜつくるのか。
良書があれば、紹介よろしくお願いします。
526デフォルトの名無しさん
2016/10/16(日) 18:02:27.53ID:LrWAw6Fi このランタイム質問者、ちょっと頭変だな。
527デフォルトの名無しさん
2016/10/16(日) 18:43:10.86ID:ffIkMhfP >>522
いったい何が?もなにも、Objective-Cは[[class alloc] init]の形で動的にメッセージを受け取ってインスタンスを生成するので
クラスにメッセージを受け渡してメモリ配置などを管理する"誰か"がいないと動かないが。
たぶん根本的に君が"動的"の概念を理解していないか、"ちょっと頭変"なのかどちらか。
いったい何が?もなにも、Objective-Cは[[class alloc] init]の形で動的にメッセージを受け取ってインスタンスを生成するので
クラスにメッセージを受け渡してメモリ配置などを管理する"誰か"がいないと動かないが。
たぶん根本的に君が"動的"の概念を理解していないか、"ちょっと頭変"なのかどちらか。
528デフォルトの名無しさん
2016/10/16(日) 21:29:21.51ID:TQzOcNUQ みんな少しずつおかしいなw
ランタイムは常駐はしてないし、別プロセスや別スレッドで動くようなもんでもないし、dylibの形をしているとは限らないぞ
ただ暗黙に呼び出されてるだけで単なる関数群の事だよ
ランタイムは常駐はしてないし、別プロセスや別スレッドで動くようなもんでもないし、dylibの形をしているとは限らないぞ
ただ暗黙に呼び出されてるだけで単なる関数群の事だよ
529デフォルトの名無しさん
2016/10/16(日) 21:41:55.63ID:3UpkNFG/ >>527
objective-c のメッセージングは最終的には関数呼び出しでしかない。
class_getInstanceMethodでクラスとセレクタ名からメソッドを得て
それを呼び出すだけ。
「メッセージを受け取る」というのは言語の概念的なイメージであって
実装とは乖離している。
objective-c のメッセージングは最終的には関数呼び出しでしかない。
class_getInstanceMethodでクラスとセレクタ名からメソッドを得て
それを呼び出すだけ。
「メッセージを受け取る」というのは言語の概念的なイメージであって
実装とは乖離している。
530デフォルトの名無しさん
2016/10/17(月) 05:56:51.62ID:ur/Bh7VH frameworkのサポートは単なるラッパで実態はdylibだとずっと思ってたんだけど...実装違うのか?だとしたらごめん。
531デフォルトの名無しさん
2016/10/17(月) 06:14:09.00ID:yAttM8H1 いやframeworkは確かにdylibとヘッダその他をまとめたもんだけと
今話している「言語」ランタイムはframeworkのことじゃないから
frameworkのことを、例えばQuickTimeランタイムみたいに呼ぶこともあるからややこしいけど
今話している「言語」ランタイムはframeworkのことじゃないから
frameworkのことを、例えばQuickTimeランタイムみたいに呼ぶこともあるからややこしいけど
532デフォルトの名無しさん
2016/10/17(月) 09:31:44.72ID:v6qceZ1M >>529
うん!素晴らしい説明ありがとう。
うん!素晴らしい説明ありがとう。
533デフォルトの名無しさん
2016/10/17(月) 10:00:29.08ID:v6qceZ1M534デフォルトの名無しさん
2016/10/17(月) 10:16:02.28ID:v6qceZ1M >>530
ほぼ合ってるでしょ!
frameworkの実態は複数のdylib。というよりdylibそのもの。
単なるwrapperってのは、違うかな。
dylibはobjective-cのクラスやグローバル関数などなどをアーカイブたライブラリー。このobjective-cのライブラリーは、core foundationやrun timeと呼ばれるC言語関数群のwrapperとなっている。
core foundationやrun timeは
>>516
>libobjc.A.dylib ― obj-c runtime
>libobjc.B.dylib ― core foundation
に入っている。
hello worldプログラムをコンパイルしてa.outを作成し、otool -L a.outコマンドを打ってみると判る。
a.out:
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)
と思ったけど、libobjc.B.dylibなんで出てこず、libSystem.B.dylibって表示された?
ほぼ合ってるでしょ!
frameworkの実態は複数のdylib。というよりdylibそのもの。
単なるwrapperってのは、違うかな。
dylibはobjective-cのクラスやグローバル関数などなどをアーカイブたライブラリー。このobjective-cのライブラリーは、core foundationやrun timeと呼ばれるC言語関数群のwrapperとなっている。
core foundationやrun timeは
>>516
>libobjc.A.dylib ― obj-c runtime
>libobjc.B.dylib ― core foundation
に入っている。
hello worldプログラムをコンパイルしてa.outを作成し、otool -L a.outコマンドを打ってみると判る。
a.out:
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)
と思ったけど、libobjc.B.dylibなんで出てこず、libSystem.B.dylibって表示された?
535デフォルトの名無しさん
2016/10/17(月) 10:18:49.39ID:v6qceZ1M Objective-C runtime library support functions are implemented in the shared library found at /usr/lib/libobjc.A.dylib.
https://developer.apple.com/reference/objectivec/1657527-objective_c_runtime
https://developer.apple.com/reference/objectivec/1657527-objective_c_runtime
536デフォルトの名無しさん
2016/10/17(月) 10:22:05.11ID:v6qceZ1M >>531
ランタイムは、ランタイムライブラリーを省略した文言で、ちゃんとdylibの形をしているんちゃうんか?
だって、AppleのサイトでObjective-C Runtimeって検索するとruntime libraryって書いてあるし。
ランタイムは、ランタイムライブラリーを省略した文言で、ちゃんとdylibの形をしているんちゃうんか?
だって、AppleのサイトでObjective-C Runtimeって検索するとruntime libraryって書いてあるし。
537デフォルトの名無しさん
2016/10/17(月) 10:34:16.48ID:vi4PRwIq >>534
> hello worldプログラムを
俺のには含まれてるぞ
$ otool -L a.out
a.out:
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1154.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1153.18.0)
ソースは単に
//hello.m
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[])
{
NSLog (@"Hello, World!");
return 0;
}
> hello worldプログラムを
俺のには含まれてるぞ
$ otool -L a.out
a.out:
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1154.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1153.18.0)
ソースは単に
//hello.m
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[])
{
NSLog (@"Hello, World!");
return 0;
}
538537
2016/10/17(月) 10:40:26.72ID:vi4PRwIq >>534
ひょっとして、.mファイルだけど中身はまったくCのhello worldをコンパイルしたんじゃないか?
objective-CはCはそのままコンパイルできる。 Objective-cの機能を使ってなければobjective-Cの
ランタイムをリンクしなくてもそのまま走る。
ひょっとして、.mファイルだけど中身はまったくCのhello worldをコンパイルしたんじゃないか?
objective-CはCはそのままコンパイルできる。 Objective-cの機能を使ってなければobjective-Cの
ランタイムをリンクしなくてもそのまま走る。
539537
2016/10/17(月) 10:54:39.51ID:vi4PRwIq >>537
ごめん、その例では悪かった。 それもobjective-Cの機能は使ってない。 使った例としては:
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSLog (@"Hello, World!");
[pool drain];
return 0;
}
コマンドラインでobjcのコンパイルの仕方で
cc -lobjc …
という例を見たのでそれを付けてたら強制的にobjcランタイムをリンクしてた。
objc機能を使ってなければこれを明記しなくても自動的にリンクされる。
ごめん、その例では悪かった。 それもobjective-Cの機能は使ってない。 使った例としては:
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSLog (@"Hello, World!");
[pool drain];
return 0;
}
コマンドラインでobjcのコンパイルの仕方で
cc -lobjc …
という例を見たのでそれを付けてたら強制的にobjcランタイムをリンクしてた。
objc機能を使ってなければこれを明記しなくても自動的にリンクされる。
540デフォルトの名無しさん
2016/10/17(月) 11:25:21.72ID:v6qceZ1M >>538
ご明答
ccなんてコマンドあるのね。
ls -l `which cc`
lrwxr-xr-x 1 root wheel 5B 6 13 13:50 /usr/bin/cc -> clang
clangへのaliasなのね。知らんかった。Obj-Cなんて極最近触り始めて
良く知らんのだ。
ご明答
ccなんてコマンドあるのね。
ls -l `which cc`
lrwxr-xr-x 1 root wheel 5B 6 13 13:50 /usr/bin/cc -> clang
clangへのaliasなのね。知らんかった。Obj-Cなんて極最近触り始めて
良く知らんのだ。
541デフォルトの名無しさん
2016/10/17(月) 11:37:03.04ID:4hpKEwJL ccそのものは昔からあるCのコンパイラでしょ、今はgccにリンクしてることが多いが
542デフォルトの名無しさん
2016/10/17(月) 11:59:05.64ID:v6qceZ1M 俺的メモ
gccとcc(clang)との違い。
ccはコマンドalias。
gccはclangのwrapperコマンド(俺の推測)
gcc -v, cc ―versionは、どちらもApple LLVMだと答えてくれる。
cc -framework Foundation hello.m
gcc -framework Foundation hello.m
と打ってコンパイルして得られるバイナリは同サイズだ。
ll a.out*
-rwxr-xr-x 1 ad staff 8.3K 10 17 11:54 a.out
-rwxr-xr-x 1 ad staff 8.3K 10 17 11:53 a.out-cc
gccとcc(clang)との違い。
ccはコマンドalias。
gccはclangのwrapperコマンド(俺の推測)
gcc -v, cc ―versionは、どちらもApple LLVMだと答えてくれる。
cc -framework Foundation hello.m
gcc -framework Foundation hello.m
と打ってコンパイルして得られるバイナリは同サイズだ。
ll a.out*
-rwxr-xr-x 1 ad staff 8.3K 10 17 11:54 a.out
-rwxr-xr-x 1 ad staff 8.3K 10 17 11:53 a.out-cc
543デフォルトの名無しさん
2016/10/17(月) 13:01:16.77ID:v6qceZ1M ちなみに
libobjc.A.dylib
libSystem.B.dylib
の中にいったいどんなCの関数が入っているのか?classdumpってフリーのコマンドラインツールで調べる事ができるはず。俺、やった事無いけど。
libobjc.A.dylib
libSystem.B.dylib
の中にいったいどんなCの関数が入っているのか?classdumpってフリーのコマンドラインツールで調べる事ができるはず。俺、やった事無いけど。
544デフォルトの名無しさん
2016/10/17(月) 13:15:29.63ID:v6qceZ1M せっかくだから、
class-dump /usr/lib/libobjc.A.dylib
やってみた。
@protocol NSObject
@property(readonly, copy) NSString *description;
@property(readonly) Class superclass;
@property(readonly) unsigned long long hash;
- (struct _NSZone *)zone;
- (unsigned long long)retainCount;
以下略
Cの関数は入ってなくて、Obj-Cのクラスとか、構造体とかが、入っていた。
class-dump /usr/lib/libobjc.A.dylib
やってみた。
@protocol NSObject
@property(readonly, copy) NSString *description;
@property(readonly) Class superclass;
@property(readonly) unsigned long long hash;
- (struct _NSZone *)zone;
- (unsigned long long)retainCount;
以下略
Cの関数は入ってなくて、Obj-Cのクラスとか、構造体とかが、入っていた。
545デフォルトの名無しさん
2016/10/17(月) 13:24:24.90ID:v6qceZ1M ついでに、
nm -o /usr/lib/libSystem.B.dylib | less
こいつの最初の数行は、
/usr/lib/libSystem.B.dylib: 0000000000001abb T R8289209$_pthread_attr_destroy
/usr/lib/libSystem.B.dylib: 0000000000001ac0 T R8289209$_pthread_attr_init
/usr/lib/libSystem.B.dylib: 0000000000001ac5 T R8289209$_pthread_attr_setdetachstate
/usr/lib/libSystem.B.dylib: 0000000000001aca T R8289209$_pthread_create
以下略
nm -o /usr/lib/libSystem.B.dylib | less
こいつの最初の数行は、
/usr/lib/libSystem.B.dylib: 0000000000001abb T R8289209$_pthread_attr_destroy
/usr/lib/libSystem.B.dylib: 0000000000001ac0 T R8289209$_pthread_attr_init
/usr/lib/libSystem.B.dylib: 0000000000001ac5 T R8289209$_pthread_attr_setdetachstate
/usr/lib/libSystem.B.dylib: 0000000000001aca T R8289209$_pthread_create
以下略
546デフォルトの名無しさん
2016/10/17(月) 13:32:18.66ID:yAttM8H1 >>536
それはたまたまOSX上のObjective-Cでそうなってるだけ
大抵の言語では「言語」ランタイムはスタティックリンクされるし
Objective-Cでもlibobjc.aがある環境ならスタティックリンクできる
/usr/lib/の下に.oがいくつかあるけど、こいつらも「C言語の」ランタイムでmain関数よりも前の処理になってて
大抵の実行ファイルにはどれかが暗黙にスタティックリンクされてる
それはたまたまOSX上のObjective-Cでそうなってるだけ
大抵の言語では「言語」ランタイムはスタティックリンクされるし
Objective-Cでもlibobjc.aがある環境ならスタティックリンクできる
/usr/lib/の下に.oがいくつかあるけど、こいつらも「C言語の」ランタイムでmain関数よりも前の処理になってて
大抵の実行ファイルにはどれかが暗黙にスタティックリンクされてる
547デフォルトの名無しさん
2016/10/17(月) 13:39:16.83ID:yAttM8H1 あとlibSystem.B.dylibはシステムコールラッパーとC言語の標準ライブラリの一部(libcと分割)なんで
ランタイム(実行時)ライブラリであることには間違いはないけど
C言語のランタイムというと、普通はスタートアップ(*.o)やlibgccの方を指すと思う
ランタイム(実行時)ライブラリであることには間違いはないけど
C言語のランタイムというと、普通はスタートアップ(*.o)やlibgccの方を指すと思う
548デフォルトの名無しさん
2016/10/17(月) 14:05:08.33ID:v6qceZ1M >>547
nm libSystem.B.dylibの結果はほとんど’U’タイプのSymbolでした。
man nmによると
Symbol type ‘U’ = undefinedで、実装は別ファイル、参照だけ!、って事らしいので、
実装はたとえば、libcにあるんだと思います。
nm -o libSystem.B.dylib | grep -v ‘U’すると、出力は極わずかでした。
nm libSystem.B.dylibの結果はほとんど’U’タイプのSymbolでした。
man nmによると
Symbol type ‘U’ = undefinedで、実装は別ファイル、参照だけ!、って事らしいので、
実装はたとえば、libcにあるんだと思います。
nm -o libSystem.B.dylib | grep -v ‘U’すると、出力は極わずかでした。
549デフォルトの名無しさん
2016/10/20(木) 17:05:03.85ID:8PkcGQMJ MRC時代のOSXプログラミングの書籍ってなにがありますか?(何を買えばいいですか?)
今はAppleのオンラインドキュメントなどはほとんどARC前提で記述されてるので
ネット探してもなかなか見つけられません
今はAppleのオンラインドキュメントなどはほとんどARC前提で記述されてるので
ネット探してもなかなか見つけられません
550デフォルトの名無しさん
2016/10/20(木) 17:35:44.02ID:v715sDMz 古い版の萩原本でもよみゃいいだろ。
551デフォルトの名無しさん
2016/10/20(木) 19:00:37.37ID:8PkcGQMJ >>550
https://www.amazon.co.jp/Objective‐C―MacOS-Xプログラミング入門-荻原-剛志/dp/4877780688/ref=sr_1_6?s=books&ie=UTF8&qid=1476957557&sr=1-6
これとかか?
https://www.amazon.co.jp/Objective‐C―MacOS-Xプログラミング入門-荻原-剛志/dp/4877780688/ref=sr_1_6?s=books&ie=UTF8&qid=1476957557&sr=1-6
これとかか?
552デフォルトの名無しさん
2016/10/20(木) 20:24:30.68ID:ifLlZ1yA553デフォルトの名無しさん
2016/10/25(火) 13:48:49.63ID:aBo6S+EN @interface
@implementation
これに変数2回宣言するだろ?
違いってなんですか?
@implementation
これに変数2回宣言するだろ?
違いってなんですか?
554デフォルトの名無しさん
2016/10/25(火) 14:18:03.51ID:OZkbpJ7G >>553
必要なスコープに1回宣言すればいい。
というか、外部に変数を公開する事は、特殊な事情以外ありえないから、
ヘッダにはアクセサ即ちプロパティを書けばいい。
つまりインスタンス変数なら@implementation{ } のブロックで宣言すればいいよ。
継承した子クラスからその変数へは、親クラスのアクセサ経由でアクセスするのが普通。
こうすると、ヘッダには外部に公開する情報しか現れない。
どうしても子クラスから親クラスの変数に直接触りたい場合は、
親クラスの@interface{ }ブロックで宣言する。
その場合はデフォルトでアクセス制限が@protectedになる。
必要なスコープに1回宣言すればいい。
というか、外部に変数を公開する事は、特殊な事情以外ありえないから、
ヘッダにはアクセサ即ちプロパティを書けばいい。
つまりインスタンス変数なら@implementation{ } のブロックで宣言すればいいよ。
継承した子クラスからその変数へは、親クラスのアクセサ経由でアクセスするのが普通。
こうすると、ヘッダには外部に公開する情報しか現れない。
どうしても子クラスから親クラスの変数に直接触りたい場合は、
親クラスの@interface{ }ブロックで宣言する。
その場合はデフォルトでアクセス制限が@protectedになる。
555デフォルトの名無しさん
2016/10/25(火) 14:31:48.57ID:OZkbpJ7G556デフォルトの名無しさん
2016/11/17(木) 12:45:51.00ID:0S40a4Cy インスタンスメソッドの実行に関して教えてください。
// message sending
[obj say: @
// message sending
[obj say: @
557デフォルトの名無しさん
2016/11/17(木) 13:13:08.74ID:Psw7U5GH 事切れたか
558デフォルトの名無しさん
2016/11/17(木) 13:29:09.43ID:5aO/SijD ダブルクオートとかで切れるのよく見かけるけど、@ でも切れるんかな
559デフォルトの名無しさん
2016/11/17(木) 13:29:10.81ID:0S40a4Cy ソースコードが勝手に切られちゃう(サニタイズ関係?)みたいなので画像で失礼します。
インスタンスメソッドの実行に関して教えてください。
message sending / function pointer
どちらの方法でもちゃんと動くのは確認できましたが、
なぜ後者はSELパラメータが必須(この場合selector) な仕様になっているんでしょう?
冗長に見えますが何か意味があるんでしょうか。
インスタンスメソッドの実行に関して教えてください。
message sending / function pointer
どちらの方法でもちゃんと動くのは確認できましたが、
なぜ後者はSELパラメータが必須(この場合selector) な仕様になっているんでしょう?
冗長に見えますが何か意味があるんでしょうか。
560デフォルトの名無しさん
2016/11/17(木) 13:30:21.21ID:5aO/SijD @ の次は当然 " がくるだろうけど、今まで1個目の"が表示されて切れるんだよなあ
561デフォルトの名無しさん
2016/11/17(木) 13:33:39.43ID:0S40a4Cy > SELパラメータが必須
instanceMethodForSelector: の時点で伝えてあるのに、なぜ実行時にも必要になるのかという事です。
instanceMethodForSelector: の時点で伝えてあるのに、なぜ実行時にも必要になるのかという事です。
562デフォルトの名無しさん
2016/11/17(木) 13:40:44.67ID:+o4tuiiL >>561
1.instanceMethodForSelectorでメソッドの実体である関数のポインタを取得(IMP func)
2.funcをキャストして呼び出し
2のときに、メソッドの暗黙の第1,第2引数である id obj, SEL selectorを渡してます。
1.instanceMethodForSelectorでメソッドの実体である関数のポインタを取得(IMP func)
2.funcをキャストして呼び出し
2のときに、メソッドの暗黙の第1,第2引数である id obj, SEL selectorを渡してます。
563デフォルトの名無しさん
2016/11/17(木) 13:54:11.06ID:0S40a4Cy ありがとうございます。それでは改めて聞き直します。
メソッドの暗黙の第2引数が SEL である、そもそもの設計の意図はなんなんでしょう。
内部で振り分ければいいので複数のメソッドに対して一つの関数(ポインタ)が共通で対応可能とか?
それが実際にできたとして何かメリットがあるんでしょうか。
メソッドの暗黙の第2引数が SEL である、そもそもの設計の意図はなんなんでしょう。
内部で振り分ければいいので複数のメソッドに対して一つの関数(ポインタ)が共通で対応可能とか?
それが実際にできたとして何かメリットがあるんでしょうか。
564デフォルトの名無しさん
2016/11/17(木) 14:00:22.50ID:f6OBJy8Y セレクタを見て他のメソッドにデリゲートするとか。
565デフォルトの名無しさん
2016/11/17(木) 14:05:35.87ID:+o4tuiiL ランタイムは、渡されたセレクタをメソッドリストから検索して、有れば実行、無ければエラー。
ってことかな。
ってことかな。
566デフォルトの名無しさん
2016/11/17(木) 14:28:15.44ID:+o4tuiiL IMP使った場合はランタイムは経由しないでダイレクトに関数コールするけど、
通常は動的にメソッド呼び出しをするのでそういう仕様になってる。
のではないだろうか。
通常は動的にメソッド呼び出しをするのでそういう仕様になってる。
のではないだろうか。
567デフォルトの名無しさん
2016/11/17(木) 18:17:20.63ID:ZyPoEOxl サブクラスでのオーバーライドをサポートするために
だと思うよ。
だと思うよ。
568デフォルトの名無しさん
2016/11/17(木) 21:32:33.37ID:XVALpd1q Smalltalkで、実行中メソッドのコンテキスト内からそのセレクタを得ることができる機構を
Objective-Cでも_cmdパラメーターを介して模したかったからなのでは?
Object subclass: Foo [ bar [ thisContext method selector displayNl ] ]
Foo new bar "=> #bar "
Objective-Cでも_cmdパラメーターを介して模したかったからなのでは?
Object subclass: Foo [ bar [ thisContext method selector displayNl ] ]
Foo new bar "=> #bar "
569デフォルトの名無しさん
2016/11/17(木) 23:13:49.69ID:+o4tuiiL だいたいその辺の、実行時解決を実現したかったという理由だと思うけど、
ランタイムがメソッド呼び出しするときの動作は
1.レシーバがnilかどうか
2.レシーバのメソッドリストに該当メソッドがあるか
3.なければスーパークラスにあるか
4.なければthrow exception
だよね。
だからメソッド呼ぶときはランタイムにレシーバとselectorを渡して調べてもらう必要が有るんですよ。
ランタイムがメソッド呼び出しするときの動作は
1.レシーバがnilかどうか
2.レシーバのメソッドリストに該当メソッドがあるか
3.なければスーパークラスにあるか
4.なければthrow exception
だよね。
だからメソッド呼ぶときはランタイムにレシーバとselectorを渡して調べてもらう必要が有るんですよ。
570デフォルトの名無しさん
2016/11/17(木) 23:51:59.51ID:8N+auLd3 レシーバはselfとして使うから必要なのはわかるんだけど、セレクタはいつ必要になるの?
ランタイムに調べてもらうのは関数(メソッド実体)コールの前だろうから、コール時にはすでに不要な情報だよね
ランタイムに調べてもらうのは関数(メソッド実体)コールの前だろうから、コール時にはすでに不要な情報だよね
571デフォルトの名無しさん
2016/11/18(金) 00:08:47.34ID:QxITf25H572デフォルトの名無しさん
2016/11/18(金) 02:19:58.76ID:QxITf25H >>570
ちなみにこれでも動作する。id,SELは渡してない。
void(*f)(void) = [ViewController instanceMethodForSelector:@selector(hoge)];
f();
- (void)hoge
{
NSLog(@"%@", NSStringFromSelector(_cmd));
}
SELを渡してないので null と出力される
idも渡してないので、hoge内でselfにアクセスすると落ちる。
ちなみにこれでも動作する。id,SELは渡してない。
void(*f)(void) = [ViewController instanceMethodForSelector:@selector(hoge)];
f();
- (void)hoge
{
NSLog(@"%@", NSStringFromSelector(_cmd));
}
SELを渡してないので null と出力される
idも渡してないので、hoge内でselfにアクセスすると落ちる。
573デフォルトの名無しさん
2016/11/18(金) 08:55:20.76ID:1f4/DDXi なるほどこれはわかりやすい
574デフォルトの名無しさん
2016/11/18(金) 09:33:05.33ID:sBZu/NEl BathyScapheっていう2ch Viewer使ってます。
>>559
みたいな画像をuploadするにはどうすればいいっすか?
2chのサイトではdrawツールがブラウザ内にあって、それで落書きはできるみたいですが、pngとかgif画像をuploadしたいのです。
>>559
みたいな画像をuploadするにはどうすればいいっすか?
2chのサイトではdrawツールがブラウザ内にあって、それで落書きはできるみたいですが、pngとかgif画像をuploadしたいのです。
575デフォルトの名無しさん
2016/11/18(金) 11:55:15.19ID:U2qFJJrM576デフォルトの名無しさん
2016/11/18(金) 11:57:16.56ID:U2qFJJrM まあ、すぐにサイズオーバーになるのでごく簡単な絵しかアップできません。
577デフォルトの名無しさん
2016/11/18(金) 12:14:37.99ID:8cb+/Ta9 消せないから気軽にあげられないのがちょっとあれよね
プログラム板なんだから自分で書けば良いよ
てことでobjcで書いてみた
サイズの頭打ちがあるからと思ってインデックスカラーに圧縮したけど弾かれるのね
プログラム板なんだから自分で書けば良いよ
てことでobjcで書いてみた
サイズの頭打ちがあるからと思ってインデックスカラーに圧縮したけど弾かれるのね
578デフォルトの名無しさん
2016/11/18(金) 12:22:18.47ID:U2qFJJrM IMP関数ポインタの SELパラメターの件
正直言うと、自分にはコメの意見の善し悪しを判断する能力ありません...。
ググるとこれ使って >>559 で書いたような事ができるようですが (参考:class_addMethod)
設計側はそういう用途まで考慮していたのかは、よく分かりませんでした。
シグネチャを共通にしたかった? どうなんでしょう、それって何か気持ちいいから以上の理由はあるんですかね。
正直言うと、自分にはコメの意見の善し悪しを判断する能力ありません...。
ググるとこれ使って >>559 で書いたような事ができるようですが (参考:class_addMethod)
設計側はそういう用途まで考慮していたのかは、よく分かりませんでした。
シグネチャを共通にしたかった? どうなんでしょう、それって何か気持ちいいから以上の理由はあるんですかね。
579デフォルトの名無しさん
2016/11/18(金) 12:39:28.44ID:QxITf25H >>578
シグネチャが共通というより、同一の関数なので同じシグネチャなんですよ。
ランタイムが呼ぶメソッドの実体も、IMPを取得してダイレクトに呼ぶ関数も、「同じ関数」です。
その関数の引数が (id, SEL, …) なんですね。
シグネチャが共通というより、同一の関数なので同じシグネチャなんですよ。
ランタイムが呼ぶメソッドの実体も、IMPを取得してダイレクトに呼ぶ関数も、「同じ関数」です。
その関数の引数が (id, SEL, …) なんですね。
580デフォルトの名無しさん
2016/11/18(金) 12:42:31.61ID:QxITf25H で、自分はIMPは使いません。
IMPを使うくらいならCの関数を書けばいいだけなので。
IMPを使うくらいならCの関数を書けばいいだけなので。
581デフォルトの名無しさん
2016/11/18(金) 12:51:34.13ID:QxITf25H Objective-Cは、以前はメソッド呼び出しのオーバーヘッドがネックになってたようなので、
IMPのAPIは、既存クラスのメソッドを高速に呼び出すために作ったんじゃないですかね。
IMPのAPIは、既存クラスのメソッドを高速に呼び出すために作ったんじゃないですかね。
582デフォルトの名無しさん
2016/11/18(金) 13:05:14.30ID:sBZu/NEl >>576
いやぁ、うれしい。
秘伝のテクを開陳してくれて、あんがとう。
けど、JavaSou苦手なんすよねぇ。
tarea(text area)を取得して、その直前にinput, script要素を挿入してinputボタンの押下で
foo関数を呼ぶ様にしてるって事みたい。
FireFoxもGeasemonkeyも使った事無いっす。
Safari, Chromeでも同じ事できるんでしょうか?
Geasemonkey for Safari, Chromeを探せって事なんすね。
いま、WKWebViewでもloadしたhtml, cssを書き換えられないか?調べてます。
Geasemonkey likeな動作をどうやってさせようかと!
いやぁ、うれしい。
秘伝のテクを開陳してくれて、あんがとう。
けど、JavaSou苦手なんすよねぇ。
tarea(text area)を取得して、その直前にinput, script要素を挿入してinputボタンの押下で
foo関数を呼ぶ様にしてるって事みたい。
FireFoxもGeasemonkeyも使った事無いっす。
Safari, Chromeでも同じ事できるんでしょうか?
Geasemonkey for Safari, Chromeを探せって事なんすね。
いま、WKWebViewでもloadしたhtml, cssを書き換えられないか?調べてます。
Geasemonkey likeな動作をどうやってさせようかと!
583デフォルトの名無しさん
2016/11/18(金) 21:20:02.14ID:U2qFJJrM ObjCスレだからObjCで頑張るのはアリかもしれませんけど、物事には適材適所ってもんがあるとおも...。
584デフォルトの名無しさん
2016/11/19(土) 03:19:56.84ID:vr8hDAX5 適材適所かどうかは自明ではないね
585デフォルトの名無しさん
2016/11/26(土) 10:43:02.50ID:EbyefIsj みんなSwiftに移行しちゃったの?
Swift始めた頃、小さな仕様がコロコロ変わるからObj-Cに戻ってきてたけど
もう安定したのかな。
Swift始めた頃、小さな仕様がコロコロ変わるからObj-Cに戻ってきてたけど
もう安定したのかな。
586デフォルトの名無しさん
2016/11/28(月) 16:59:47.56ID:AK2eqXeC >>585
Swift3でメソッド名の整理が行われて、短くなった。
"Taylor".writeToFile("filename", atomically: true, encoding: NSUTF8StringEncoding)
"Taylor".write(toFile: "somefile", atomically: true, encoding: String.Encoding.utf8)
上2.3/下3
Swift3が良さげに見えるのでObj-Cからの移行者がボチボチ増えてるかも。
Swift3でメソッド名の整理が行われて、短くなった。
"Taylor".writeToFile("filename", atomically: true, encoding: NSUTF8StringEncoding)
"Taylor".write(toFile: "somefile", atomically: true, encoding: String.Encoding.utf8)
上2.3/下3
Swift3が良さげに見えるのでObj-Cからの移行者がボチボチ増えてるかも。
587デフォルトの名無しさん
2016/11/30(水) 23:57:30.93ID:48Nf+yqm588デフォルトの名無しさん
2016/12/01(木) 09:30:20.02ID:RHRo1hP4 コンパイラとしての安定性は最初から問題無いんじゃない?
コンパイラが原因でアプリが落ちるっては経験無いなぁ。
C++、Javaが最近仕様変更が激しいのと同じく、Swiftだって言語仕様変更があるって事で、コンパイラとしては安定してると思う。
例:C++TR1, C++11, C++14
JavaSE6, 7, 8, 9
Swift3の言語仕様変更は、現在アナウンスされてないんじゃないのか?Swift4ってのはABIの導入って事で、言語仕様の変更じゃ無いし。
コンパイラが原因でアプリが落ちるっては経験無いなぁ。
C++、Javaが最近仕様変更が激しいのと同じく、Swiftだって言語仕様変更があるって事で、コンパイラとしては安定してると思う。
例:C++TR1, C++11, C++14
JavaSE6, 7, 8, 9
Swift3の言語仕様変更は、現在アナウンスされてないんじゃないのか?Swift4ってのはABIの導入って事で、言語仕様の変更じゃ無いし。
589デフォルトの名無しさん
2016/12/01(木) 12:10:25.84ID:5zfWITAP ぬるぽで落ちてもコンパイラのせいです(kr
590デフォルトの名無しさん
2016/12/01(木) 12:43:47.19ID:RHRo1hP4 >>589
それは、nil guardしてないコードのせい!
それは、nil guardしてないコードのせい!
591デフォルトの名無しさん
2016/12/01(木) 17:17:16.90ID:ODvXgIaxキチガイの集まり・創価学会・公明党!
人殺しの殺人鬼が政治活動・創価学会・公明党!
池田大作・人殺しの殺人鬼・創価学会・公明党!
あやかりドチンピラの池田糞作・創価学会・公明党!
592デフォルトの名無しさん
2016/12/02(金) 10:10:54.60ID:84dQUHiS 禁止語句、に追加すれば、見なくてすむよ!
593デフォルトの名無しさん
2016/12/03(土) 14:45:44.29ID:rA9b0IH0 孔明党ならゆるされるのだろうか?
仲達「ゆるさないぞ!」
仲達「ゆるさないぞ!」
594デフォルトの名無しさん
2016/12/07(水) 10:42:29.07ID:iWjUJEoY メッセージをたくさん送る時、[[[なるじゃん?
みなさんどう打ってます?Xcodeに自動補完とかあるの?
みなさんどう打ってます?Xcodeに自動補完とかあるの?
595デフォルトの名無しさん
2016/12/07(水) 11:09:26.74ID:lAZ4q7Te596デフォルトの名無しさん
2016/12/07(水) 12:37:41.63ID:YlvsrELD597デフォルトの名無しさん
2016/12/07(水) 15:21:19.56ID:iWjUJEoY ありがとうございます!
SwiftからCocoaプログラミングを始めて、その背景を知りたかったのでObjective-Cをちょこっと調べてました。
そこで、気になって質問しました^_^
SwiftからCocoaプログラミングを始めて、その背景を知りたかったのでObjective-Cをちょこっと調べてました。
そこで、気になって質問しました^_^
598デフォルトの名無しさん
2016/12/07(水) 15:35:56.63ID:lAZ4q7Te >>597
俺と同じパターンだね。
Objective-Cのサンプルを読む事もあるしね。
Swift -> Objective-Cって人も最近は居るだろうね。
Swift3からObjective-Cを見ると、冗長な部分が目立ってしまう。
例:
obj-c: dissmissViewControllerAnimated: complition
swift3: dismiss#animated:
Objective-Cはコンパイル早いっていうメリットがあるけどね。
俺と同じパターンだね。
Objective-Cのサンプルを読む事もあるしね。
Swift -> Objective-Cって人も最近は居るだろうね。
Swift3からObjective-Cを見ると、冗長な部分が目立ってしまう。
例:
obj-c: dissmissViewControllerAnimated: complition
swift3: dismiss#animated:
Objective-Cはコンパイル早いっていうメリットがあるけどね。
599デフォルトの名無しさん
2016/12/07(水) 15:48:24.59ID:iWjUJEoY600デフォルトの名無しさん
2016/12/07(水) 16:09:27.53ID:lAZ4q7Te >>599
Swift3からiOSいじり始めた俺からすると、obj-Cは怖いわぁ。
Swiftにおけるnilに相当するのがobj-Cには、
nil、Nil、NULL、NSNullと4つもある。
Frameworkにあるメソッドにnilを返すものとerrorをthrowするものと混在するのも
おれは混乱するわ。
それから、未だにOptionalが返って来た時に、どうやってunwrapするか、
すなわちnon-Optionalにするのかも混乱する。
1. if let or guard letを使う
2. coaleasing opperator ??を使う
3. forced unwrappingする
Swift3からiOSいじり始めた俺からすると、obj-Cは怖いわぁ。
Swiftにおけるnilに相当するのがobj-Cには、
nil、Nil、NULL、NSNullと4つもある。
Frameworkにあるメソッドにnilを返すものとerrorをthrowするものと混在するのも
おれは混乱するわ。
それから、未だにOptionalが返って来た時に、どうやってunwrapするか、
すなわちnon-Optionalにするのかも混乱する。
1. if let or guard letを使う
2. coaleasing opperator ??を使う
3. forced unwrappingする
601デフォルトの名無しさん
2016/12/09(金) 00:46:26.18ID:68yJ6/bb602デフォルトの名無しさん
2016/12/15(木) 13:46:48.92ID:7KRIzock603デフォルトの名無しさん
2016/12/16(金) 09:51:52.86ID:6vWCzpx7 Bool areInst(int thing1, int thing2)
{
return(thing1 - thing2)
}
これ、YESかNOが返されるんだけど
0か1が返ってくるには、どうすればいい?
{
return(thing1 - thing2)
}
これ、YESかNOが返されるんだけど
0か1が返ってくるには、どうすればいい?
604デフォルトの名無しさん
2016/12/16(金) 10:15:26.25ID:OzPYYpv3605デフォルトの名無しさん
2017/02/14(火) 17:11:03.02ID:qY2M4Y7r aac→pcmの変換について教えて。
ネット上のファイルからaacのデータ取ってきて、
1.AudioFileStreamにデータ食わせてAudioFileStreamPropertyListenerProcを受けてからASBDを取得。
2.1.のASBDをAudioConverterのインプットに設定。アウトプットはAudioUnitのインプットと同じ設定。
3.AudioConverterFillComplexBufferを呼び出してAudioConverterComplexInputDataProcのコールバックで、AudioFileStreamPacketsProcで通知されたデータを渡す。
という流れでデータを処理してるんだけどいくつかのコンテンツでAudioConverterFillComplexBufferがエラー(1852797029)で帰ってくるんたが理由がわからん。何でかわかる?
ネット上のファイルからaacのデータ取ってきて、
1.AudioFileStreamにデータ食わせてAudioFileStreamPropertyListenerProcを受けてからASBDを取得。
2.1.のASBDをAudioConverterのインプットに設定。アウトプットはAudioUnitのインプットと同じ設定。
3.AudioConverterFillComplexBufferを呼び出してAudioConverterComplexInputDataProcのコールバックで、AudioFileStreamPacketsProcで通知されたデータを渡す。
という流れでデータを処理してるんだけどいくつかのコンテンツでAudioConverterFillComplexBufferがエラー(1852797029)で帰ってくるんたが理由がわからん。何でかわかる?
606デフォルトの名無しさん
2017/02/22(水) 21:35:58.65ID:bVPEWVD2607デフォルトの名無しさん
2017/02/24(金) 09:40:08.04ID:hWTo6NC+ >>605
解決した。データが微妙におかしかった。
解決した。データが微妙におかしかった。
608デフォルトの名無しさん
2017/07/09(日) 12:41:36.82ID:GCKhJDjB gfortranでコンパイルしたfortran subroutineをObjCから呼べますか?
609デフォルトの名無しさん
2017/07/09(日) 17:45:16.59ID:8iS3GcZb Objective-CというかCからで、gcc(gfortran)はCへのインターフェースを用意してるし、gccといえどもプラットフォームOSのオブジェクトを吐き出すんだから、clangでのオブジェクトとつーかーでリンクできるから呼べるだろ
610デフォルトの名無しさん
2017/07/09(日) 19:25:46.94ID:XPzyjd3D Cでできることはすべてできる
そう、Objective-Cならね
そう、Objective-Cならね
611デフォルトの名無しさん
2017/07/09(日) 19:30:40.19ID:GCKhJDjB gfortran -c test.f
をコンパイルしてtest.oを得たとします。test.fに入ったsubroutineをObjCのmain.mから呼ぶことができますか?
clang main.m test.o -framework Foundation -o a.out
こうやってコンパイルできるのでしょうか?
調べると、binary compatibilityがあるよ!って話がヒットします。
をコンパイルしてtest.oを得たとします。test.fに入ったsubroutineをObjCのmain.mから呼ぶことができますか?
clang main.m test.o -framework Foundation -o a.out
こうやってコンパイルできるのでしょうか?
調べると、binary compatibilityがあるよ!って話がヒットします。
612デフォルトの名無しさん
2017/07/09(日) 19:47:18.04ID:8iS3GcZb コンパイルというかリンクできるかリンカーのお仕事
リンカーの理解できるオブジェクトはGCCでも排出できる。言語の違いはCのインターフェースで共通。なのでできるだろ
やってみろよwやってできなかったらこっちで検証してみてやるよ(えらそうw)
リンカーの理解できるオブジェクトはGCCでも排出できる。言語の違いはCのインターフェースで共通。なのでできるだろ
やってみろよwやってできなかったらこっちで検証してみてやるよ(えらそうw)
613デフォルトの名無しさん
2017/08/04(金) 11:02:58.83ID:Xk8/NaTI swfit4も結構変更があるみたいだね。
swift5もでるみたいだし、objcでいいや
swift5もでるみたいだし、objcでいいや
614デフォルトの名無しさん
2017/08/04(金) 11:16:18.04ID:PF1N3/4o615デフォルトの名無しさん
2017/08/04(金) 12:00:05.92ID:CVNSY5Yd 今まで通りObjective-Cでは困らないんだよね..
616デフォルトの名無しさん
2017/08/04(金) 13:36:11.66ID:ZGf6UrbU もう俺kotlinのiosサポート待ちなんだが
617デフォルトの名無しさん
2017/08/04(金) 17:00:30.23ID:Xk8/NaTI XcodeProjAdder
618デフォルトの名無しさん
2017/08/05(土) 09:11:30.54ID:AGcDSNVp 結局Objective-Cがなんだかんだ柔軟性があって使いやすい
619デフォルトの名無しさん
2017/08/05(土) 09:30:13.70ID:ocnuRu9M Objective-Cをディスってるやつらが理解できないな
C言語使ったことないのかね
C言語使ったことないのかね
620デフォルトの名無しさん
2017/08/05(土) 09:53:25.64ID:t7RO58+g Cをと言ったら老害扱いするヤツもいるからなw
621デフォルトの名無しさん
2017/08/05(土) 10:41:10.52ID:XESdgnCd Cを使ってたから[インスタンス メソッド:引数 キーワード:引数]の冗長になる表記が鬱陶しかった
ObjCを絶賛してる奴らはC言語を使ったことないのかね、とは思う
しかし、最近追加された_Nullable, _Nonnullはどうにかならんものかのう
アンダーバー一つなのと大文字で始めるのが気に入らねぇ、nullable, nonnullだけにできなかったものか
Apple様がサードパーティライブラリなんて気にしてるんじゃねぇよ
ObjCを絶賛してる奴らはC言語を使ったことないのかね、とは思う
しかし、最近追加された_Nullable, _Nonnullはどうにかならんものかのう
アンダーバー一つなのと大文字で始めるのが気に入らねぇ、nullable, nonnullだけにできなかったものか
Apple様がサードパーティライブラリなんて気にしてるんじゃねぇよ
622デフォルトの名無しさん
2017/08/05(土) 12:50:06.76ID:x2WXXz7r >>621
#defineマクロ使ってnullableって書けば良いじゃん。
#defineマクロ使ってnullableって書けば良いじゃん。
623デフォルトの名無しさん
2017/08/05(土) 12:59:54.68ID:x2WXXz7r #define nullable _Nullable
624デフォルトの名無しさん
2017/08/05(土) 15:28:20.27ID:AGcDSNVp >>621
わろた
まあ、そのメッセージ記法は最初見たときはその変態的な表記方法に非常に面食らった
なんせその[や]を使うのは配列だと決まっていたからな
でもとりあえず使っているうちに、Cの関数表記とObjectiveな部分が非常にわかりやすく共存できるという事実に気づいたとき一気に好きになったのを思い出した
わろた
まあ、そのメッセージ記法は最初見たときはその変態的な表記方法に非常に面食らった
なんせその[や]を使うのは配列だと決まっていたからな
でもとりあえず使っているうちに、Cの関数表記とObjectiveな部分が非常にわかりやすく共存できるという事実に気づいたとき一気に好きになったのを思い出した
625デフォルトの名無しさん
2017/08/05(土) 15:30:37.83ID:Xkpybudy この言語完全にオワコン
626デフォルトの名無しさん
2017/08/05(土) 15:31:16.18ID:AGcDSNVp >>625
Swift使ってればいいと思うよ
Swift使ってればいいと思うよ
627デフォルトの名無しさん
2017/08/05(土) 15:35:09.48ID:v6ezSTSe628デフォルトの名無しさん
2017/08/05(土) 16:01:05.93ID:QC2awpIr どうとでもなることはどうでもいいんだよ
一度__nullableで切っておいて、サードパーティライブラリと競合するから_Nullableにするわって仕様変更した上に
_Nullableとnullableをダブルスタンダードで生かす仕様としていることが可笑しいんだよ
昔のAppleなら__nullableを残したままnullableがモダンだからってnullableの利用を推してたと思うんだけどなぁ
__nullableから_Nullableへの仕様変更とか訳わからんことするのは、やっぱりジョブズがいなくなった弊害か
一度__nullableで切っておいて、サードパーティライブラリと競合するから_Nullableにするわって仕様変更した上に
_Nullableとnullableをダブルスタンダードで生かす仕様としていることが可笑しいんだよ
昔のAppleなら__nullableを残したままnullableがモダンだからってnullableの利用を推してたと思うんだけどなぁ
__nullableから_Nullableへの仕様変更とか訳わからんことするのは、やっぱりジョブズがいなくなった弊害か
629デフォルトの名無しさん
2017/08/05(土) 16:09:21.82ID:UQl/9zAR 定期的に「変態表記だから〜」って人が湧くけれど
わけのわからん重箱的なとこにいちゃもんつけてる人は
だいたい不満を持ってるのは本人が言ってるそこではないのが普通なので
すると、どこだ?って発言を追った時に透けてくるのが
「メッセージングが気に入らない」で
これ結局オブジェクト指向なんて〜おじさんなんじゃwwwとw
わけのわからん重箱的なとこにいちゃもんつけてる人は
だいたい不満を持ってるのは本人が言ってるそこではないのが普通なので
すると、どこだ?って発言を追った時に透けてくるのが
「メッセージングが気に入らない」で
これ結局オブジェクト指向なんて〜おじさんなんじゃwwwとw
630デフォルトの名無しさん
2017/08/05(土) 16:25:52.03ID:AGcDSNVp >>629
メッセージングとはいっても結局事実上メソッド呼び出しとなんら変わらんからな
メッセージングとはいっても結局事実上メソッド呼び出しとなんら変わらんからな
631デフォルトの名無しさん
2017/08/05(土) 16:56:54.30ID:QC2awpIr [や]は重箱的じゃなく大局的な表記の問題だと思うんだけど、それは・・・
そして、_NullableはObjC変態表記を問題視してるんじゃないよ、Appleのスタンスを問題視してるんだよ
「メッセージングが気に入らない」はDynamic Dispatchなのが嫌なんでない?
事実上はコストが上乗せされる別処理になってるわけだし
# アンチObjCもObjC信者もそこまで考えてない気がしなくもない
そして、_NullableはObjC変態表記を問題視してるんじゃないよ、Appleのスタンスを問題視してるんだよ
「メッセージングが気に入らない」はDynamic Dispatchなのが嫌なんでない?
事実上はコストが上乗せされる別処理になってるわけだし
# アンチObjCもObjC信者もそこまで考えてない気がしなくもない
632デフォルトの名無しさん
2017/08/05(土) 17:27:05.60ID:GxOZ02Sj [r method:x label:y];
func(r, x, y);
func(r, x, y);
633デフォルトの名無しさん
2017/08/05(土) 17:31:27.19ID:GxOZ02Sj r.func(label:x, label:y)
634デフォルトの名無しさん
2017/08/05(土) 18:04:47.25ID:AGcDSNVp635デフォルトの名無しさん
2017/08/05(土) 18:13:52.73ID:GxOZ02Sj 大した違いじゃない
だが「この変態!」という根強い意見にも耳を傾けなければならない
だが「この変態!」という根強い意見にも耳を傾けなければならない
636デフォルトの名無しさん
2017/08/05(土) 19:23:41.38ID:AGcDSNVp >>635
だからSwift使ってればいいと思うの...
だからSwift使ってればいいと思うの...
637デフォルトの名無しさん
2017/08/05(土) 19:39:40.05ID:QC2awpIr Swiftが出る前から Objective-C 2.0 を Modern Objective-C と銘打ってモダンを追求してたし、それについてはいつものAppleよな
SwiftはDynamic Dispatchを減らす機構を入れてObjCに比べて速度向上を図ったらしいから、ObjCにもバックポートして欲しい
OptionalやGenericsと同様、Swiftで試作してObjCに取り込めば皆ハッピーなんだよなぁ
SwiftはDynamic Dispatchを減らす機構を入れてObjCに比べて速度向上を図ったらしいから、ObjCにもバックポートして欲しい
OptionalやGenericsと同様、Swiftで試作してObjCに取り込めば皆ハッピーなんだよなぁ
638デフォルトの名無しさん
2017/08/05(土) 19:40:24.64ID:GxOZ02Sj639デフォルトの名無しさん
2017/08/05(土) 19:42:36.20ID:AGcDSNVp640デフォルトの名無しさん
2017/08/05(土) 19:46:59.94ID:GxOZ02Sj641デフォルトの名無しさん
2017/08/05(土) 20:03:05.50ID:AGcDSNVp Objective-Cが当初敬遠されたのはObjective部分のsyntaxというよりはメモリ管理だと思ったが
まあそれに追い打ちをかけるようにallocとinitの組み合わせが普通に頻出したもんだから変態的だと思う人が多かったのだろう
さらにオブジェクト変数がポインタともなればなおさらだろうな
Object *obj = [[Object alloc] initWithParam: a];
まあそれに追い打ちをかけるようにallocとinitの組み合わせが普通に頻出したもんだから変態的だと思う人が多かったのだろう
さらにオブジェクト変数がポインタともなればなおさらだろうな
Object *obj = [[Object alloc] initWithParam: a];
642デフォルトの名無しさん
2017/08/05(土) 20:28:36.38ID:GxOZ02Sj 俺は別に、Obj-Cは実引数の順番が変わるぐらいで変態だとは思わんね
ラベルは有った方がいいし、第一引数は省略可とすべきだし
今風のシンタックスにするとあら不思議Swiftみたいだね
ラベルは有った方がいいし、第一引数は省略可とすべきだし
今風のシンタックスにするとあら不思議Swiftみたいだね
643デフォルトの名無しさん
2017/08/05(土) 20:34:58.96ID:AGcDSNVp >>642
だったらこんなところにいないで、あなたがイメージした理想syntaxと近いSwift使えばいいじゃん...
だったらこんなところにいないで、あなたがイメージした理想syntaxと近いSwift使えばいいじゃん...
644デフォルトの名無しさん
2017/08/05(土) 20:45:40.97ID:NrXpiBRr 何かおもしろいやつがいるな
>>642を意訳すると
Swift使ったこともないから全然知らないんだけど、普通に自分で今風の文法みたいの考えてみたら謀らずともSwiftになっちゃった
俺でも思い浮かぶほどSwiftって自然な文法だっんだ!Swift最高じゃん!
でおk?
>>642を意訳すると
Swift使ったこともないから全然知らないんだけど、普通に自分で今風の文法みたいの考えてみたら謀らずともSwiftになっちゃった
俺でも思い浮かぶほどSwiftって自然な文法だっんだ!Swift最高じゃん!
でおk?
645デフォルトの名無しさん
2017/08/05(土) 20:50:17.10ID:GxOZ02Sj646デフォルトの名無しさん
2017/08/05(土) 20:53:47.23ID:AGcDSNVp647デフォルトの名無しさん
2017/08/05(土) 20:56:12.81ID:QC2awpIr メモリ管理のalloc/freeやポインタ変数なんてそれこそCをやってたら気にならないでしょ...
>>640
本当に性能良くなるのは特定条件下でさほど影響が出るものじゃないよなw
それでもまぁObjCがSwiftに劣っている点ではあるので、気が向いたら対応して欲しいものよ
>>640
本当に性能良くなるのは特定条件下でさほど影響が出るものじゃないよなw
それでもまぁObjCがSwiftに劣っている点ではあるので、気が向いたら対応して欲しいものよ
648デフォルトの名無しさん
2017/08/05(土) 20:59:57.92ID:GxOZ02Sj649デフォルトの名無しさん
2017/08/05(土) 21:00:23.43ID:AGcDSNVp >>647
いやそのはずなんだけど、結局Objective-Cをディスってる人がけっこういるのは、純粋なCをちゃんと使ってた人が殊PCアプリプログラマにおいては少なかったってことなのかね?
いやそのはずなんだけど、結局Objective-Cをディスってる人がけっこういるのは、純粋なCをちゃんと使ってた人が殊PCアプリプログラマにおいては少なかったってことなのかね?
650デフォルトの名無しさん
2017/08/05(土) 21:05:32.04ID:GxOZ02Sj >>647
コンパイル時に静的に解決したいメソッド呼び出しには、たぶんレシーバにnonnull必須になるのかな
それがSwiftにnonnullが必要だった理由かも
Obj-Cで高速化が必要な場合は、Cで書いちゃえばいいのでいらんと思うけどね
コンパイル時に静的に解決したいメソッド呼び出しには、たぶんレシーバにnonnull必須になるのかな
それがSwiftにnonnullが必要だった理由かも
Obj-Cで高速化が必要な場合は、Cで書いちゃえばいいのでいらんと思うけどね
651デフォルトの名無しさん
2017/08/05(土) 21:09:23.61ID:NrXpiBRr とりあえずSwift使ったことないとか言ってるわりにわりと細かいSwiftネタ挟んできてて草
652デフォルトの名無しさん
2017/08/05(土) 21:10:26.33ID:GxOZ02Sj >>651
気にしすぎだってw
気にしすぎだってw
653デフォルトの名無しさん
2017/08/05(土) 21:15:06.89ID:NrXpiBRr654デフォルトの名無しさん
2017/08/05(土) 21:19:04.08ID:GxOZ02Sj655デフォルトの名無しさん
2017/08/05(土) 21:21:37.41ID:NrXpiBRr >>654
嘘に嘘の上塗りをしてるようで芝居臭いが、まあじゃあ嫌いなSwiftみたくならないようせいぜい参考にしていい言語作ってくれ
嘘に嘘の上塗りをしてるようで芝居臭いが、まあじゃあ嫌いなSwiftみたくならないようせいぜい参考にしていい言語作ってくれ
656デフォルトの名無しさん
2017/08/05(土) 21:23:19.82ID:GxOZ02Sj >>655
大嘘ってことにしといてくれww
大嘘ってことにしといてくれww
657デフォルトの名無しさん
2017/08/05(土) 21:26:46.26ID:NrXpiBRr >>656
わかったよ、嘘つき
わかったよ、嘘つき
658デフォルトの名無しさん
2017/08/05(土) 21:40:23.31ID:AGcDSNVp (^_^;
659デフォルトの名無しさん
2017/08/05(土) 21:53:47.03ID:QC2awpIr >>649
いやだから、メモリ管理は問題じゃなくて、文法が変態的だからディスられてるんじゃないの
[ ]とか、@とか、冗長な命名規則とか、純粋なCをちゃんと使ってた人ほど辛いわ
CのコードはObjC上にコピペで動くけど、ObjCのコードはC上にコピペでは全然動かないよね
それくらいにCとObjCは別物になってて、他に類を見ない独自文化を作り上げてるから取り回しの悪い言語だとディスられる
いやだから、メモリ管理は問題じゃなくて、文法が変態的だからディスられてるんじゃないの
[ ]とか、@とか、冗長な命名規則とか、純粋なCをちゃんと使ってた人ほど辛いわ
CのコードはObjC上にコピペで動くけど、ObjCのコードはC上にコピペでは全然動かないよね
それくらいにCとObjCは別物になってて、他に類を見ない独自文化を作り上げてるから取り回しの悪い言語だとディスられる
660デフォルトの名無しさん
2017/08/05(土) 22:03:06.65ID:AGcDSNVp >>659
事実上Objective-Cの文法で書くところはCocoaフレームワークを使う部分だからそれをCで書きたいケースはないと思うけど
よりprimitiveな処理をする部分について資産流用したくてCソースをインポートしたいことはあると思うけど
自分はこれくらい明確に違う方がCとCocoa部分がはっきりわかっていいと思ったけどな
命名規則はObjective-CというよりCocoaの約束かと
@やコンパイラディレクティブを多用してるのはObjective-Cが純粋なCのスーパーセットであるという仕様上仕方ないと思うけど確かに正直変態的だと自分も感じたのは事実だが...
事実上Objective-Cの文法で書くところはCocoaフレームワークを使う部分だからそれをCで書きたいケースはないと思うけど
よりprimitiveな処理をする部分について資産流用したくてCソースをインポートしたいことはあると思うけど
自分はこれくらい明確に違う方がCとCocoa部分がはっきりわかっていいと思ったけどな
命名規則はObjective-CというよりCocoaの約束かと
@やコンパイラディレクティブを多用してるのはObjective-Cが純粋なCのスーパーセットであるという仕様上仕方ないと思うけど確かに正直変態的だと自分も感じたのは事実だが...
661デフォルトの名無しさん
2017/08/05(土) 22:08:18.49ID:AGcDSNVp まあかく言うおれも最初Objective-Cのソースに触れた時は[ ]とかいうわけわからん記法でメソッド呼び出ししてるかと思えばNSLog(@"hoge¥d", n);とかも同じソースに書かれてたりして、はぁ?どっちだよとは思ったけどなw
662デフォルトの名無しさん
2017/08/05(土) 22:09:17.65ID:AGcDSNVp ああ、%d...
663デフォルトの名無しさん
2017/08/05(土) 22:25:34.05ID:ydBhceAI Objevtive-Cが変態的と言われるのは、まあ、しょうがないが、すぐに慣れることだな。_がどうとかもどうでもいい細かいことにこだわるなあw
664デフォルトの名無しさん
2017/08/05(土) 22:29:47.63ID:ggnuHEiJ NSObjectってC側から見ると構造体にすぎないから
cから触ることが可能って聞いたけど本当?
cから触ることが可能って聞いたけど本当?
665デフォルトの名無しさん
2017/08/05(土) 22:33:45.97ID:ydBhceAI >>659
>CのコードはObjC上にコピペで動くけど、ObjCのコードはC上にコピペでは全然動かないよね
こんなアホ(失礼)なこと言ってるんじゃ、その下や上の「純粋なC」どうとか言える立場になさげ/知識がほとんどなさげにしか見えない
>CのコードはObjC上にコピペで動くけど、ObjCのコードはC上にコピペでは全然動かないよね
こんなアホ(失礼)なこと言ってるんじゃ、その下や上の「純粋なC」どうとか言える立場になさげ/知識がほとんどなさげにしか見えない
666デフォルトの名無しさん
2017/08/05(土) 22:37:31.68ID:GxOZ02Sj >>664
@def使えばコンパイル時に構造体と見なしてメンバーフィールドを直接触れたはずだが、
非推奨なんで使用禁止になったかもw わからん
不透過型構造体のポインタだから普通には無理
ややこしいことをすればできたと思うが、普通はやらない
@def使えばコンパイル時に構造体と見なしてメンバーフィールドを直接触れたはずだが、
非推奨なんで使用禁止になったかもw わからん
不透過型構造体のポインタだから普通には無理
ややこしいことをすればできたと思うが、普通はやらない
667デフォルトの名無しさん
2017/08/05(土) 23:01:09.52ID:GxOZ02Sj ああメンバーじゃなくオブジェクト自体のポインタのことなら触れるよ
そもそもObj-Cがポインタ渡しだし
そもそもObj-Cがポインタ渡しだし
668デフォルトの名無しさん
2017/08/05(土) 23:10:37.16ID:slWszTbQ 急に盛り上がってる
669デフォルトの名無しさん
2017/08/06(日) 02:17:31.34ID:5hrgPajG とりあえずここまでをまとめるとObjective-Cは変態的だけど柔軟性は半端ないでいい?
670デフォルトの名無しさん
2017/08/06(日) 02:40:44.78ID:EhIWQ3kd 「おれけっこう柔道やってたからさーグレイシー柔術が変態にしか見えないのよねー」
(…そもそも違うものやんwwwなにが言いたいんやこのオッサンw)
だいたいこんな。
(…そもそも違うものやんwwwなにが言いたいんやこのオッサンw)
だいたいこんな。
671デフォルトの名無しさん
2017/08/06(日) 08:16:47.23ID:A+R4LQxw >>645
それ判る。
C言語の関数と一緒にSwiftを使うのは大変。
構造体へのポインタを引数に取るC言語の関数を、Swiftで呼び出すの、
どうすんだ?
UnsafeRawPointer<XXX>とか使うんだろうけど。
それ判る。
C言語の関数と一緒にSwiftを使うのは大変。
構造体へのポインタを引数に取るC言語の関数を、Swiftで呼び出すの、
どうすんだ?
UnsafeRawPointer<XXX>とか使うんだろうけど。
672デフォルトの名無しさん
2017/08/06(日) 08:18:51.28ID:5hrgPajG >>671
SwiftとCを一緒に使うくらいならObjective-Cでいいよね
SwiftとCを一緒に使うくらいならObjective-Cでいいよね
673デフォルトの名無しさん
2017/08/06(日) 08:22:40.12ID:5hrgPajG >>670
すまん、よくわからんw
すまん、よくわからんw
674デフォルトの名無しさん
2017/08/06(日) 10:45:42.87ID:/dqOVGNE ポインタがないSwiftだとCの関数呼ぶ時そこそこ面倒なんだな
675デフォルトの名無しさん
2017/08/06(日) 13:23:04.82ID:h75sRnvC >>669
クラスとクロージャが使えるメモリ管理不要のC言語(C++も使えるよ)
クラスとクロージャが使えるメモリ管理不要のC言語(C++も使えるよ)
676デフォルトの名無しさん
2017/08/06(日) 13:31:20.41ID:h75sRnvC ああ根本の動的ディスパッチが抜けてたな
677デフォルトの名無しさん
2017/08/06(日) 15:30:44.79ID:5hrgPajG678デフォルトの名無しさん
2017/08/06(日) 15:51:16.15ID:6obaa7Zo objcの一番のやばい所は実行中にコードの変更が出来ちゃう事だろ
そのせいでAppleもカーネル関係ではobjc使えなくてc++使ってんだから
そのせいでAppleもカーネル関係ではobjc使えなくてc++使ってんだから
679デフォルトの名無しさん
2017/08/06(日) 16:03:11.05ID:5hrgPajG >>678
Could you tell me the details?
Could you tell me the details?
680デフォルトの名無しさん
2017/08/06(日) 16:21:29.43ID:h75sRnvC681デフォルトの名無しさん
2017/08/06(日) 16:27:58.98ID:5hrgPajG682デフォルトの名無しさん
2017/08/06(日) 16:32:36.09ID:ZQYigHRc プラグインでメソッド交換出来るのを知らんのか。
683デフォルトの名無しさん
2017/08/06(日) 16:47:40.53ID:5hrgPajG すまん知らん(爆
でもそれはあくまでそう作ればでしょ?
逆に他の言語だとできないの?
でもそれはあくまでそう作ればでしょ?
逆に他の言語だとできないの?
684デフォルトの名無しさん
2017/08/06(日) 16:59:14.99ID:h75sRnvC685デフォルトの名無しさん
2017/08/06(日) 17:15:30.25ID:ZQYigHRc >>683
作れば、じゃなくてObjC のメソッド呼出しは最初からそうなってる。
古い情報だがここら辺読めば分かる
http://news.mynavi.jp/column/objc/043/
がお前は何も分かってないみたいだから読んでも無理か。
作れば、じゃなくてObjC のメソッド呼出しは最初からそうなってる。
古い情報だがここら辺読めば分かる
http://news.mynavi.jp/column/objc/043/
がお前は何も分かってないみたいだから読んでも無理か。
686デフォルトの名無しさん
2017/08/06(日) 17:28:11.19ID:uZylSw7t >>665
お前、ObjC使ってるのに[や]を使わないのかよwww面白いなwww
お前、ObjC使ってるのに[や]を使わないのかよwww面白いなwww
687デフォルトの名無しさん
2017/08/06(日) 17:37:29.52ID:uZylSw7t >>675
C++が全く同じこと出来てるんだよねぇ
常に動的ディスパッチという点は実現してないけども
まぁC++の機能をモダン()に文法ラップした言語がObjCだから当然なんだよな
変態文法でC使ってると取っ掛かりは辛いけど、まぁ慣れれば使えなくはない言語よ
C++が全く同じこと出来てるんだよねぇ
常に動的ディスパッチという点は実現してないけども
まぁC++の機能をモダン()に文法ラップした言語がObjCだから当然なんだよな
変態文法でC使ってると取っ掛かりは辛いけど、まぁ慣れれば使えなくはない言語よ
688デフォルトの名無しさん
2017/08/06(日) 17:57:03.87ID:5hrgPajG689デフォルトの名無しさん
2017/08/06(日) 18:06:37.63ID:h75sRnvC >>688
その辺は悪意を持って追求した事無いけど、やり方は色々あるだろうね
その辺は悪意を持って追求した事無いけど、やり方は色々あるだろうね
690デフォルトの名無しさん
2017/08/06(日) 18:08:19.22ID:5hrgPajG >>687
Objective-CとC++でほぼ同時期に独立して開発されたんじゃなかったっけ
Objective-CとC++でほぼ同時期に独立して開発されたんじゃなかったっけ
691デフォルトの名無しさん
2017/08/06(日) 18:09:36.01ID:5hrgPajG >>689
仮にセレクタ文字列がそのまま一意にマシン語にコーディングされてるとなると、なんかJavaのバイトコードみたいで微妙だなぁ
仮にセレクタ文字列がそのまま一意にマシン語にコーディングされてるとなると、なんかJavaのバイトコードみたいで微妙だなぁ
692デフォルトの名無しさん
2017/08/06(日) 18:35:06.60ID:0XdHuxlK693デフォルトの名無しさん
2017/08/06(日) 18:54:49.85ID:0XdHuxlK >>678
そのせいではなくて、単に速度やコードの重さからだろう。言っているのはIOKitのことか?カーネルの部分ではC++でさえなくCだし
Objective-Cのその部分でナニかあったというのは聞いたことは無いなあ。なぜかw
フックするのは簡単だが、フックするコードが活性化するのは簡単じゃないし。まあまだ簡単ぽいのは閉じる生きづらい方向にはしているけど
そのせいではなくて、単に速度やコードの重さからだろう。言っているのはIOKitのことか?カーネルの部分ではC++でさえなくCだし
Objective-Cのその部分でナニかあったというのは聞いたことは無いなあ。なぜかw
フックするのは簡単だが、フックするコードが活性化するのは簡単じゃないし。まあまだ簡単ぽいのは閉じる生きづらい方向にはしているけど
694デフォルトの名無しさん
2017/08/06(日) 19:09:48.12ID:5hrgPajG >>693
すまん日本語で頼むわ
すまん日本語で頼むわ
695デフォルトの名無しさん
2017/08/06(日) 19:34:46.57ID:0XdHuxlK696デフォルトの名無しさん
2017/08/06(日) 19:36:00.87ID:5hrgPajG >>695
>まあまだ簡単ぽいのは閉じる生きづらい方向にはしているけど
>まあまだ簡単ぽいのは閉じる生きづらい方向にはしているけど
697デフォルトの名無しさん
2017/08/06(日) 19:47:33.45ID:0XdHuxlK >>696
ああ
前のはIM plugin(だったけ)で簡単に、それが閉じられてScriptプラグインでとか。それもrootlessになってrootless解除してからじゃなきゃという、
(ある意味)まっとうなプロダクトであるSIMBLが/を使えるようにするのがめんどくさくなってるというのが代表的かな
ああ
前のはIM plugin(だったけ)で簡単に、それが閉じられてScriptプラグインでとか。それもrootlessになってrootless解除してからじゃなきゃという、
(ある意味)まっとうなプロダクトであるSIMBLが/を使えるようにするのがめんどくさくなってるというのが代表的かな
698デフォルトの名無しさん
2017/08/06(日) 20:19:06.33ID:uZylSw7t699デフォルトの名無しさん
2017/08/06(日) 20:22:06.82ID:0XdHuxlK700デフォルトの名無しさん
2017/08/06(日) 20:27:26.94ID:5hrgPajG お前ら何を言い合ってるんだよ。。
701デフォルトの名無しさん
2017/08/06(日) 20:28:29.68ID:0XdHuxlK >>698
メッセージ式だのObjective-C固有/追加された部分があるから、Objective-CをCにコピペってもCコンパイラが理解できるわけないじゃん。んなこと言うのもなんか恥ずかしいw当たり前のことをさも言うのはナニもわかってないんだろな
(そうでないからCじゃなーいとか言いそう/言いたいのかもだが)
っていうのがそもそもの意味なんだが。なんでそんなトンチンカンすぎるキモい絡み方を続ける意味がわからん。同一人物だったらありそうだがww
これ以上イミフすぎのレスするなら、真性とみなすぞ
メッセージ式だのObjective-C固有/追加された部分があるから、Objective-CをCにコピペってもCコンパイラが理解できるわけないじゃん。んなこと言うのもなんか恥ずかしいw当たり前のことをさも言うのはナニもわかってないんだろな
(そうでないからCじゃなーいとか言いそう/言いたいのかもだが)
っていうのがそもそもの意味なんだが。なんでそんなトンチンカンすぎるキモい絡み方を続ける意味がわからん。同一人物だったらありそうだがww
これ以上イミフすぎのレスするなら、真性とみなすぞ
702デフォルトの名無しさん
2017/08/06(日) 20:29:43.72ID:0XdHuxlK >>700
しらんwwまったくわからん。そりゃお前にもそう見えてもしょうがないww
しらんwwまったくわからん。そりゃお前にもそう見えてもしょうがないww
703デフォルトの名無しさん
2017/08/06(日) 20:30:22.17ID:m6etrNEf オブシー使ってるやつはキチガイってよくわかるスレ
704デフォルトの名無しさん
2017/08/06(日) 20:32:05.49ID:5hrgPajG >>703
世界中にどんだけキチガイがいるんだよ。。。
世界中にどんだけキチガイがいるんだよ。。。
705デフォルトの名無しさん
2017/08/06(日) 20:33:41.03ID:h75sRnvC キチガイは褒め言葉だぞ
706デフォルトの名無しさん
2017/08/06(日) 20:34:37.21ID:uZylSw7t ObjCコードがCコードにコピペできるって愉快な信者をからかって遊んでる
多分、NSLogとかのC関数だけ使って
NSObject *object = [NSObject new];
なんて[]を使うコードは書かない変態なんだよ
やっぱりObjC信者は変態ばかりだな(褒め言葉
多分、NSLogとかのC関数だけ使って
NSObject *object = [NSObject new];
なんて[]を使うコードは書かない変態なんだよ
やっぱりObjC信者は変態ばかりだな(褒め言葉
707デフォルトの名無しさん
2017/08/06(日) 20:38:13.55ID:5hrgPajG まあなんだろうな
conventionalなC言語のソースコードはObjective-Cのソースコードでもある
なぜならObjective-CはCの純粋なスーパーセットだから
conventionalなC言語のソースコードはObjective-Cのソースコードでもある
なぜならObjective-CはCの純粋なスーパーセットだから
708デフォルトの名無しさん
2017/08/06(日) 20:40:19.87ID:0XdHuxlK >>706
はあ?遊んでるww
「読めない」のはわかったし、それはしょうがないし特にとは思わないが、そこまでんなこと言った覚えは全く無いことをさもなのは自分の脳内で閉じてるという真性に近しい人でしかないと思うぞ。なんの為にレスしてんだか…そか、真性だからか?w
はあ?遊んでるww
「読めない」のはわかったし、それはしょうがないし特にとは思わないが、そこまでんなこと言った覚えは全く無いことをさもなのは自分の脳内で閉じてるという真性に近しい人でしかないと思うぞ。なんの為にレスしてんだか…そか、真性だからか?w
709デフォルトの名無しさん
2017/08/06(日) 20:42:18.48ID:uZylSw7t >>701
でだ、元々はCとObjCが全然違うもので、CやってたからってObjCが素直に慣れられるものじゃないって話をしてたわけでな
その話の流れを見てないで、「ObjCがCにコピペできるわけない」の部分だけ取り上げて云々ってのは話がズレてるわけよ
そのズレを笑いどころにネタを振ってくれてるんじゃないの?本気でそこを指摘してるの?
でだ、元々はCとObjCが全然違うもので、CやってたからってObjCが素直に慣れられるものじゃないって話をしてたわけでな
その話の流れを見てないで、「ObjCがCにコピペできるわけない」の部分だけ取り上げて云々ってのは話がズレてるわけよ
そのズレを笑いどころにネタを振ってくれてるんじゃないの?本気でそこを指摘してるの?
710デフォルトの名無しさん
2017/08/06(日) 20:42:20.49ID:0XdHuxlK >>707
元々はCのプリコンパイラでなかったっけ?
確か、今でも、Objective-CのソースからCのソースを捌けるはず。なので、CでObjective-Cクラス/機能をバリバリ扱えないこともない。それをするのは人間業ではないけど
元々はCのプリコンパイラでなかったっけ?
確か、今でも、Objective-CのソースからCのソースを捌けるはず。なので、CでObjective-Cクラス/機能をバリバリ扱えないこともない。それをするのは人間業ではないけど
711デフォルトの名無しさん
2017/08/06(日) 20:45:20.71ID:0XdHuxlK >>709
お前にとってはそうかもしれないが、そんな当たり前すぎることを言うこと自体がって話だよ。普通は言わないと思うぞ。んなこというヤツの知性が疑われるからな
で、お前が言う元々の話も、お前はそうかもしれないでしかない。Objevtive-Cのよほど初心者の本でなければ、Cを知っているのが前提だからな。お前の論で言えばCを知っているのが前提ってありえないだろう
お前にとってはそうかもしれないが、そんな当たり前すぎることを言うこと自体がって話だよ。普通は言わないと思うぞ。んなこというヤツの知性が疑われるからな
で、お前が言う元々の話も、お前はそうかもしれないでしかない。Objevtive-Cのよほど初心者の本でなければ、Cを知っているのが前提だからな。お前の論で言えばCを知っているのが前提ってありえないだろう
712デフォルトの名無しさん
2017/08/06(日) 20:51:12.38ID:A+R4LQxw >>706
NSLogはC言語の関数ではないだろう!
Objective-Cのグローバル関数。
書式文字列なんて、C言語とは全く別。%@とか。
引数も、Objective-Cのインスタンスが必要。
@“OK”とか!
NSLogはC言語の関数ではないだろう!
Objective-Cのグローバル関数。
書式文字列なんて、C言語とは全く別。%@とか。
引数も、Objective-Cのインスタンスが必要。
@“OK”とか!
713デフォルトの名無しさん
2017/08/06(日) 20:52:15.75ID:A+R4LQxw >>712
ぁぁ、間違えた。@“OK”はNSStringのインスタンスね。
ぁぁ、間違えた。@“OK”はNSStringのインスタンスね。
714デフォルトの名無しさん
2017/08/06(日) 20:54:43.07ID:/dqOVGNE 久々にObjective-Cでググったらこんなページが
http://qiita.com/koher/items/4aea541fd0f0d8a9a166
こんなあからさまに臭いことするからSwiftはゴリ押しとかいわれるんだよな..
http://qiita.com/koher/items/4aea541fd0f0d8a9a166
こんなあからさまに臭いことするからSwiftはゴリ押しとかいわれるんだよな..
715デフォルトの名無しさん
2017/08/06(日) 20:57:10.69ID:A+R4LQxw おっと、NSLogってのはFoundation Functionってカテゴロリに分類されてるね。
NSAssert, NSLogvとかと同じなかまかぁ。あまり意識した事なかったけど。
NSAssert, NSLogvとかと同じなかまかぁ。あまり意識した事なかったけど。
716デフォルトの名無しさん
2017/08/06(日) 21:00:36.71ID:5hrgPajG >>712
その話は微妙なところだな
ある意味でObjective-Cたらしめてる部分でもあるんだが、関数はCといってもいいんじゃないだろうか
まあCはObjective-Cに完全に内包されているのでObjective-Cの関数という表現も正しいと思うが
結局引数としてわたされるのはNSStringのオブジェクトであるとはいえ実態はただのポインタな訳で、ポインタを引数にとるただのC関数とも言える
その話は微妙なところだな
ある意味でObjective-Cたらしめてる部分でもあるんだが、関数はCといってもいいんじゃないだろうか
まあCはObjective-Cに完全に内包されているのでObjective-Cの関数という表現も正しいと思うが
結局引数としてわたされるのはNSStringのオブジェクトであるとはいえ実態はただのポインタな訳で、ポインタを引数にとるただのC関数とも言える
717デフォルトの名無しさん
2017/08/06(日) 21:02:32.09ID:5hrgPajG >>710
まあObjectiveな部分の記述はコンパイラディレクティブを使って分離してるからね
まあObjectiveな部分の記述はコンパイラディレクティブを使って分離してるからね
718デフォルトの名無しさん
2017/08/06(日) 21:04:51.33ID:0XdHuxlK >>712
まあ、インターフェースがCなんだからCでええやん。CoreもCじゃないとか言うと、pure C (?)と C がごっちゃすぎ。まあ元々は pure C のことを言い出してるっぽいが、本人自体があやふやなので…w
>>714
なんか前に読んだことある
>nil に対するメソッドコールはエラーにならずに無視されるという悪しき仕様
ってとこで、ああ、この人は「そういうコード書く人」なんだなと。読むに値しないと判断したので、そんな単に個人のご意見に「臭いとかゴリ押し」とか噛み付くほどでも無いだろう
(「そういう〜」というのは、逐次nilか注意してないでコードを書く人。意識してたら普通にその動作で問題無いのだがな)
まあ、インターフェースがCなんだからCでええやん。CoreもCじゃないとか言うと、pure C (?)と C がごっちゃすぎ。まあ元々は pure C のことを言い出してるっぽいが、本人自体があやふやなので…w
>>714
なんか前に読んだことある
>nil に対するメソッドコールはエラーにならずに無視されるという悪しき仕様
ってとこで、ああ、この人は「そういうコード書く人」なんだなと。読むに値しないと判断したので、そんな単に個人のご意見に「臭いとかゴリ押し」とか噛み付くほどでも無いだろう
(「そういう〜」というのは、逐次nilか注意してないでコードを書く人。意識してたら普通にその動作で問題無いのだがな)
719デフォルトの名無しさん
2017/08/06(日) 21:07:13.58ID:5hrgPajG >>715
カテゴロリwww
カテゴロリwww
720デフォルトの名無しさん
2017/08/06(日) 21:26:34.09ID:uZylSw7t >>711
うーん、論旨が変わってしまってネタが分からなくなってしまった, >>709のマジレスをなかったことにしたい
何かが間違っていてアホ(失礼)にあたるというツッコミ?ボケ?(>>665)で、それが「ObjCのコードはC上にコピペでは全然動かない」じゃなかったのかいな
純粋なCをちゃんと使ってた人ほど文法がゴロっと変わるObjCは辛い、が当たり前のことでそれが誰かの失礼に当たる?
まー、当たり前のことでもいいんだけど、それじゃObjCを擁護出来てないからそう言う意見じゃないよな
・Cの文法とObjCの(変態)文法は全然別物である
・純粋なCをやっているとObjC文法は素直に習得できる
この二つを矛盾せずObjC擁護してくれるとありがたいんだが出来そうかね
うーん、論旨が変わってしまってネタが分からなくなってしまった, >>709のマジレスをなかったことにしたい
何かが間違っていてアホ(失礼)にあたるというツッコミ?ボケ?(>>665)で、それが「ObjCのコードはC上にコピペでは全然動かない」じゃなかったのかいな
純粋なCをちゃんと使ってた人ほど文法がゴロっと変わるObjCは辛い、が当たり前のことでそれが誰かの失礼に当たる?
まー、当たり前のことでもいいんだけど、それじゃObjCを擁護出来てないからそう言う意見じゃないよな
・Cの文法とObjCの(変態)文法は全然別物である
・純粋なCをやっているとObjC文法は素直に習得できる
この二つを矛盾せずObjC擁護してくれるとありがたいんだが出来そうかね
721デフォルトの名無しさん
2017/08/06(日) 21:26:49.45ID:6obaa7Zo >>693
まぁIOKitもそうだけど
内部でC++は結構使ってるよね
KEXTだってKernel EXTensionなんだからカーネルと言ってもいんじゃん?
少しでも拡張性を持ってかつハックされたくない所のライブラリとかC++使わざるおえない感じを受けたよ
てかmac自体初期から組み込みの色が強いからC++よく見るし親和性も高いイメージあるわ
あと関係ないけどクリエイティブ関連って言うとあれだけどOpenGLとかCinderとかそういうのと同じ匂いがする
objcはメソッドや昔はクラスごと入れ替え出来るからハッキングや割れが簡単なのが問題になったな
セキュリティやシリアルの発行をobjcだけでやるようなエンジニアがアホなだけだけど
今でもSafariのハックは盛んだし昔はFinderにタブ付けたりしてたでしょ公式で対応しちゃったけど
まぁIOKitもそうだけど
内部でC++は結構使ってるよね
KEXTだってKernel EXTensionなんだからカーネルと言ってもいんじゃん?
少しでも拡張性を持ってかつハックされたくない所のライブラリとかC++使わざるおえない感じを受けたよ
てかmac自体初期から組み込みの色が強いからC++よく見るし親和性も高いイメージあるわ
あと関係ないけどクリエイティブ関連って言うとあれだけどOpenGLとかCinderとかそういうのと同じ匂いがする
objcはメソッドや昔はクラスごと入れ替え出来るからハッキングや割れが簡単なのが問題になったな
セキュリティやシリアルの発行をobjcだけでやるようなエンジニアがアホなだけだけど
今でもSafariのハックは盛んだし昔はFinderにタブ付けたりしてたでしょ公式で対応しちゃったけど
722デフォルトの名無しさん
2017/08/06(日) 21:27:32.73ID:/dqOVGNE723デフォルトの名無しさん
2017/08/06(日) 21:33:58.82ID:/dqOVGNE >>720
語弊を恐れずにいうとObjective-CのCはまったく別物でありながら同じでもあるといえると思う
正確にはCにまったく別の文法を使ってオブジェクト指向を純粋に足したものがObjective-C
語弊を恐れずにいうとObjective-CのCはまったく別物でありながら同じでもあるといえると思う
正確にはCにまったく別の文法を使ってオブジェクト指向を純粋に足したものがObjective-C
724デフォルトの名無しさん
2017/08/06(日) 21:36:01.59ID:/dqOVGNE ああ、肝心なところtypoした
×Objective-CのC
○Objective-CとC
×Objective-CのC
○Objective-CとC
725デフォルトの名無しさん
2017/08/06(日) 21:39:48.15ID:/dqOVGNE726デフォルトの名無しさん
2017/08/06(日) 21:45:13.30ID:/dqOVGNE >>721
まだCocoaが発展途上だった時代にCarbonとの親和性を確保する意味でもObjective-Cは都合がよかったんだろう
まだCocoaが発展途上だった時代にCarbonとの親和性を確保する意味でもObjective-Cは都合がよかったんだろう
727デフォルトの名無しさん
2017/08/06(日) 21:49:46.04ID:0XdHuxlK >>721
骨幹から(?) C -+-> C++ -+-> Objective-C かな
KEXTはカーネルにすごい近いからカーネルと言ってもいいじゃんというまさしくそれに沿って別に簡単にフックできるから危ないからじゃなくてC++なんだろうという
いろいろなプラグインなんて、それこそ今でもハッキングや割れ(?)が簡単にやり放題にできるけどね。だが、いまだにそんなのが無いんだな、これが。まあサンドボックスやrootlessでやりづらくはなってはいるけど
んなとこから、IOKitがC++なのはObjective-Cが危ないからって話では無いだろうという俺論
>>723
一行で素晴らしいw彼もわかってくれればいいがw
骨幹から(?) C -+-> C++ -+-> Objective-C かな
KEXTはカーネルにすごい近いからカーネルと言ってもいいじゃんというまさしくそれに沿って別に簡単にフックできるから危ないからじゃなくてC++なんだろうという
いろいろなプラグインなんて、それこそ今でもハッキングや割れ(?)が簡単にやり放題にできるけどね。だが、いまだにそんなのが無いんだな、これが。まあサンドボックスやrootlessでやりづらくはなってはいるけど
んなとこから、IOKitがC++なのはObjective-Cが危ないからって話では無いだろうという俺論
>>723
一行で素晴らしいw彼もわかってくれればいいがw
728デフォルトの名無しさん
2017/08/06(日) 22:07:37.99ID:5hrgPajG >>720
>・純粋なCをやっているとObjC文法は素直に習得できる
の部分については、オブジェクト思考部分以外はCそのものなので、単純に追加されたオブジェクト思考部分を記述する文法さえ覚えればいいので、Cをやっていた人からすると習得コストが低いと言えるんじゃないかな
もちろんオブジェクト思考部分を記述する文法(=ObjC文法というのかな?)はCをやってた人からすると「変態的」なので最初は面食らった人がほとんどだと思うけど
ただやって実際見たらそんなに覚えることそんなにないじゃん的な感じかと
>・純粋なCをやっているとObjC文法は素直に習得できる
の部分については、オブジェクト思考部分以外はCそのものなので、単純に追加されたオブジェクト思考部分を記述する文法さえ覚えればいいので、Cをやっていた人からすると習得コストが低いと言えるんじゃないかな
もちろんオブジェクト思考部分を記述する文法(=ObjC文法というのかな?)はCをやってた人からすると「変態的」なので最初は面食らった人がほとんどだと思うけど
ただやって実際見たらそんなに覚えることそんなにないじゃん的な感じかと
729デフォルトの名無しさん
2017/08/07(月) 00:31:33.61ID:j1CBqyDH >>727
いまだに無いって世間知らずにもほどがあるだろ?
appStoreに移行しても被害額減るどころか増えてるんだから
まあメソッド名隠さないで簡単に推理出来る名前のまま公開してる奴は擁護出来ないが
objcは簡単に中身を書き換えられる&覗かれるってことを理解した上で書いてないシェアウェアが多いよね
ただmac自体ユーザーが極端に少ないからそれらをやる人間も必要としている人間も少ないわけで目立たないだけだろう
SIMBLだって今後使えなくなったとしても同じプロセス上にロードするだけで良いだけだから
動的なリダイレクトが出来る今のobjcの設計ならいくらでもやりようはあるからな
カラーピッカープラグインでもロードされるタイミングでスウィズル出来るわけだし
ただ結局それらは個ソフトウェア内だけだからあまり問題視されてないのが現状だろう、結局エンジニア次第だからな
これがOSの根幹で出来るとなったらやばいどころじゃ無いのは簡単に想像出来るだろう
いまだに無いって世間知らずにもほどがあるだろ?
appStoreに移行しても被害額減るどころか増えてるんだから
まあメソッド名隠さないで簡単に推理出来る名前のまま公開してる奴は擁護出来ないが
objcは簡単に中身を書き換えられる&覗かれるってことを理解した上で書いてないシェアウェアが多いよね
ただmac自体ユーザーが極端に少ないからそれらをやる人間も必要としている人間も少ないわけで目立たないだけだろう
SIMBLだって今後使えなくなったとしても同じプロセス上にロードするだけで良いだけだから
動的なリダイレクトが出来る今のobjcの設計ならいくらでもやりようはあるからな
カラーピッカープラグインでもロードされるタイミングでスウィズル出来るわけだし
ただ結局それらは個ソフトウェア内だけだからあまり問題視されてないのが現状だろう、結局エンジニア次第だからな
これがOSの根幹で出来るとなったらやばいどころじゃ無いのは簡単に想像出来るだろう
730デフォルトの名無しさん
2017/08/07(月) 00:48:46.15ID:fzx+TAun >>729
知らん。例えば具体的にどんな?ニュースになるような被害って?例え少ないのでもMac関係では大いに報道するだろ(アンチなのは妙に誇大にするからアレだがw)
あんな簡単に外部コードロード&フックできる仕組みなら、例えユーザ数が少なくたってある程度/かなりあっても不思議ではないだろ
別にObjective-Cに限らず、トロイにしろなんにしろ、なんでもできるのはそりゃそうだろ。そうじゃないと困るわ、生きづらいw
だからそもそもナニかする手段はあるって言ってるだろ。それが具体的に悪用されてるのがどんだけあるのかって話だよ
ネイティブコードが読み込まれるなら、Objective-CでなくてもMach-Oなプラグインだったら何でもできるだろうに、
なぜかObjective-Cだけ(危険/C++は安全??)とか、Objective-Cが簡単にフックできるからってのに捕らわれ、そうだからそうに違いないと言ってるだけにしか見えないな
そういえば、iOSは頑なに内製Framework(というか、dylib/別にObjective-Cなdylibでなくてもいろいろできる)を認めなかったが、
なんかいきなりあっさり認めるようになったな。お前の言っていることとは逆じゃね?より厳しいiOSでなのに
知らん。例えば具体的にどんな?ニュースになるような被害って?例え少ないのでもMac関係では大いに報道するだろ(アンチなのは妙に誇大にするからアレだがw)
あんな簡単に外部コードロード&フックできる仕組みなら、例えユーザ数が少なくたってある程度/かなりあっても不思議ではないだろ
別にObjective-Cに限らず、トロイにしろなんにしろ、なんでもできるのはそりゃそうだろ。そうじゃないと困るわ、生きづらいw
だからそもそもナニかする手段はあるって言ってるだろ。それが具体的に悪用されてるのがどんだけあるのかって話だよ
ネイティブコードが読み込まれるなら、Objective-CでなくてもMach-Oなプラグインだったら何でもできるだろうに、
なぜかObjective-Cだけ(危険/C++は安全??)とか、Objective-Cが簡単にフックできるからってのに捕らわれ、そうだからそうに違いないと言ってるだけにしか見えないな
そういえば、iOSは頑なに内製Framework(というか、dylib/別にObjective-Cなdylibでなくてもいろいろできる)を認めなかったが、
なんかいきなりあっさり認めるようになったな。お前の言っていることとは逆じゃね?より厳しいiOSでなのに
731デフォルトの名無しさん
2017/08/07(月) 01:04:19.31ID:fzx+TAun >>729
・コードをシステムなりに入れて起動できれば、そんなのObjective-Cだろうが他の言語だろうが関係ない、別のこと
・そのアプリの機能に介在するナニかをしたい場合にObjective-Cでフック機能が便利
・アプリの機能に関係なくなら、別にObjective-Cでなくても同じ危険性があるだけ
アプリの機能に介在してナニかあくどいすることなんてそもそもそんなありえるのか?関係なくの方が多いだろう。トロイ的にだが、その手法はあることはあるし
なんだかよくわからんが「これがOSの根幹で出来ると」いう、さもObjective-CでOSの根幹がありきのような話だが、そんなこと最初からないって言っているのがわからんのかなあ
アプリレベルプログラマでもCoreとかObjective-Cの同クラスより高機能なのが並列している時点で、
Objective-Cはアプリ/サービスレベルのフレームワーク用=OSの根幹でんなことしてられねえ(めんどくさいのだか何だかわからんがw)ってわかると思うだが、なぜかそこがObjective-Cであったらという前提はただの妄想にすぎないと思うよ
・コードをシステムなりに入れて起動できれば、そんなのObjective-Cだろうが他の言語だろうが関係ない、別のこと
・そのアプリの機能に介在するナニかをしたい場合にObjective-Cでフック機能が便利
・アプリの機能に関係なくなら、別にObjective-Cでなくても同じ危険性があるだけ
アプリの機能に介在してナニかあくどいすることなんてそもそもそんなありえるのか?関係なくの方が多いだろう。トロイ的にだが、その手法はあることはあるし
なんだかよくわからんが「これがOSの根幹で出来ると」いう、さもObjective-CでOSの根幹がありきのような話だが、そんなこと最初からないって言っているのがわからんのかなあ
アプリレベルプログラマでもCoreとかObjective-Cの同クラスより高機能なのが並列している時点で、
Objective-Cはアプリ/サービスレベルのフレームワーク用=OSの根幹でんなことしてられねえ(めんどくさいのだか何だかわからんがw)ってわかると思うだが、なぜかそこがObjective-Cであったらという前提はただの妄想にすぎないと思うよ
732デフォルトの名無しさん
2017/08/07(月) 06:19:41.05ID:1ENgAefL この流れがつまらない。
仮定の話で盛り上がるならオフ会でも行けば。
仮定の話で盛り上がるならオフ会でも行けば。
733デフォルトの名無しさん
2017/08/07(月) 06:41:26.11ID:n0QtNiqf 物知らずの無知無知ボーイ ID:5hrgPajG が声高に頑張ってたせい。
734デフォルトの名無しさん
2017/08/07(月) 07:26:00.83ID:nZ0RU5t+ 「酔っ払いの喧嘩は外でやっとくれ!」
酔っ払いの一方:「あいつが悪いんだ!」
酔っ払いの一方:「あいつが悪いんだ!」
735デフォルトの名無しさん
2017/08/07(月) 08:04:58.98ID:a1ES+HTw >>733
は?関係なくね?
は?関係なくね?
736デフォルトの名無しさん
2017/08/07(月) 09:16:12.87ID:zZbb3/ny >>733
何かした?
何かした?
737デフォルトの名無しさん
2017/08/07(月) 10:19:38.86ID:0r/N/mwc >>733
俺にも構ってくれよ
俺にも構ってくれよ
738デフォルトの名無しさん
2017/08/07(月) 10:43:49.21ID:GHOXhqb3739デフォルトの名無しさん
2017/08/07(月) 12:30:02.80ID:fzx+TAun740デフォルトの名無しさん
2017/08/07(月) 14:09:29.67ID:GHOXhqb3 >>739
マジレスっつーことは意図することはこういうことか
> 純粋なCをちゃんと使ってた人ほど文法がゴロっと変わるObjCは辛い、が当たり前のことでそれが誰かの失礼に当たる?
誰に何が失礼にあたるのか相変わらず分からないけど、共感してくれてるようで良かったよ
Cと同じじゃなきゃダメだって言ってるんじゃないよ、共感してくれてる通りCと違いすぎてるから純粋なCやってるとObjCが辛いって言ってるんだよ
マジレスっつーことは意図することはこういうことか
> 純粋なCをちゃんと使ってた人ほど文法がゴロっと変わるObjCは辛い、が当たり前のことでそれが誰かの失礼に当たる?
誰に何が失礼にあたるのか相変わらず分からないけど、共感してくれてるようで良かったよ
Cと同じじゃなきゃダメだって言ってるんじゃないよ、共感してくれてる通りCと違いすぎてるから純粋なCやってるとObjCが辛いって言ってるんだよ
741デフォルトの名無しさん
2017/08/07(月) 14:12:34.97ID:0r/N/mwc 218デフォルトの名無しさん (ワッチョイ 056c-cJAr)2017/08/07(月) 09:36:54.43ID:tO02o/C10>>221
>>212
メソッド呼び出しに、ドット構文が使えればObjCも描きやすくなるよねぇ。
Objective-C 3.0に期待だね。
id a = [[NSObject alloc] init];
->id a = NSObject.alloc().init(); // こんな感じ!
221デフォルトの名無しさん (ワッチョイ d9b5-xdmZ)2017/08/07(月) 12:05:53.21ID:tDzZ+7xU0
>>218
obj-cの魅力ってあくまでcの拡張でありobj-cの世界は[]の中だけってスタンスであってほしいから
ドット構文?はあんまり増やしてほしくない
個人的にはElixrのパイプ演算子(|>)をobj-cに採用して欲しい。
(元ネタはElixirじゃないかもしれないけど。)
[NSObject alloc] |> [@ init]
みたいな感じで使う。Elixirの場合だと返却値を次のメソッドの第一引数に渡すって意味だけどobj-cでは@を置き換えるみたいな感じで
ObjCユーザ的にはこういう構文変更はあり?
>>212
メソッド呼び出しに、ドット構文が使えればObjCも描きやすくなるよねぇ。
Objective-C 3.0に期待だね。
id a = [[NSObject alloc] init];
->id a = NSObject.alloc().init(); // こんな感じ!
221デフォルトの名無しさん (ワッチョイ d9b5-xdmZ)2017/08/07(月) 12:05:53.21ID:tDzZ+7xU0
>>218
obj-cの魅力ってあくまでcの拡張でありobj-cの世界は[]の中だけってスタンスであってほしいから
ドット構文?はあんまり増やしてほしくない
個人的にはElixrのパイプ演算子(|>)をobj-cに採用して欲しい。
(元ネタはElixirじゃないかもしれないけど。)
[NSObject alloc] |> [@ init]
みたいな感じで使う。Elixirの場合だと返却値を次のメソッドの第一引数に渡すって意味だけどobj-cでは@を置き換えるみたいな感じで
ObjCユーザ的にはこういう構文変更はあり?
742デフォルトの名無しさん
2017/08/07(月) 14:32:41.53ID:fzx+TAun >>740
理解はするが、全く共感はしない
見慣れない構文に戸惑うが、そりゃ違う部分だから当たり前だろ。「辛い」なんて全くわからん。見慣れない構文もよく使うのがほとんどだから直ぐに見慣れるだろうに、なにが辛いんだか??
理解はするが、全く共感はしない
見慣れない構文に戸惑うが、そりゃ違う部分だから当たり前だろ。「辛い」なんて全くわからん。見慣れない構文もよく使うのがほとんどだから直ぐに見慣れるだろうに、なにが辛いんだか??
743デフォルトの名無しさん
2017/08/07(月) 14:40:24.16ID:fzx+TAun >>740
ああ、なんかイミフでスルーしてたが、「失礼」って、俺が書いた「(失礼)」のことか??
だとしたら、お前にだよ。で、失礼の部分はそこじゃない。アホだなと思ったが、そう直球でいきなりアホ呼ばわりするのもっていう「アホって書くけど失礼」って意味
ああ、なんかイミフでスルーしてたが、「失礼」って、俺が書いた「(失礼)」のことか??
だとしたら、お前にだよ。で、失礼の部分はそこじゃない。アホだなと思ったが、そう直球でいきなりアホ呼ばわりするのもっていう「アホって書くけど失礼」って意味
744デフォルトの名無しさん
2017/08/07(月) 15:36:57.49ID:GHOXhqb3 >>742
うんうん、理解できたのは良いことだぞ
ObjC至上の宗教家っぽいし、共感できないのは信仰が違うから仕方ないんだろうね
流石に信仰を曲げてまで共感してくれとは思ってはないよ
ただ、お前さんが共感できないからってアホとなじるのはどうかと思うし
信者がそういう言動をする所もObjCがディスられる要因なんじゃないかな
うんうん、理解できたのは良いことだぞ
ObjC至上の宗教家っぽいし、共感できないのは信仰が違うから仕方ないんだろうね
流石に信仰を曲げてまで共感してくれとは思ってはないよ
ただ、お前さんが共感できないからってアホとなじるのはどうかと思うし
信者がそういう言動をする所もObjCがディスられる要因なんじゃないかな
745デフォルトの名無しさん
2017/08/07(月) 16:33:25.65ID:fzx+TAun なぜに上から目線?wwまあ、自己脳で完結してるのは知ってるからいいけど
宗教とか信仰とかただのアンチなのか?まあ、言いぶりからはお前は使っているっぽいのかなと思ったが、ちょっとやってみただけ(/やらされたのか?辛いらしいからw)が正解かな?
自分のモノにできてないのは確かのようだけど。で、やっぱ最初の俺のレスが正解か…ww なら続けた意味は、まあ、あったようななかったような
宗教とか信仰とかただのアンチなのか?まあ、言いぶりからはお前は使っているっぽいのかなと思ったが、ちょっとやってみただけ(/やらされたのか?辛いらしいからw)が正解かな?
自分のモノにできてないのは確かのようだけど。で、やっぱ最初の俺のレスが正解か…ww なら続けた意味は、まあ、あったようななかったような
746デフォルトの名無しさん
2017/08/07(月) 17:19:28.82ID:nZ0RU5t+ 中身がCの文法で書かれたモジュールを
Cの関数なんかじゃできなかったレベルで
取り回せるのが便利で評価されてる言語に
「そのCじゃない部分が嫌なのよね俺」とか
ここで口を開くレベルにも至ってなくて草ボウボウwww
Cの関数なんかじゃできなかったレベルで
取り回せるのが便利で評価されてる言語に
「そのCじゃない部分が嫌なのよね俺」とか
ここで口を開くレベルにも至ってなくて草ボウボウwww
747デフォルトの名無しさん
2017/08/07(月) 20:29:51.10ID:zWbONOmM >>741
既に出来なかったっけ?ドット構文
既に出来なかったっけ?ドット構文
748デフォルトの名無しさん
2017/08/07(月) 20:36:52.55ID:n9zFQLuH749デフォルトの名無しさん
2017/08/07(月) 21:11:50.86ID:zWbONOmM >>748
あーそうだね スマソ
あーそうだね スマソ
750デフォルトの名無しさん
2017/08/07(月) 21:19:43.31ID:n9zFQLuH >>741
それ。俺が書いたやつだけどマジで欲しいぞ。
https://github.com/ReactiveCocoa/ReactiveObjC
これとかみてくれればわかると思うけど。
ネストが深くなると凄く書きづらくなるし。Rxの学習をobjCで始めるとマジで辛い。
swiftはopensourceになって提案できるようになってるけど
objcにそういう仕組はないのかね
それ。俺が書いたやつだけどマジで欲しいぞ。
https://github.com/ReactiveCocoa/ReactiveObjC
これとかみてくれればわかると思うけど。
ネストが深くなると凄く書きづらくなるし。Rxの学習をobjCで始めるとマジで辛い。
swiftはopensourceになって提案できるようになってるけど
objcにそういう仕組はないのかね
751デフォルトの名無しさん
2017/08/08(火) 00:11:51.35ID:fmNB/sG0 >>750
たぶんこのスレで[ ]のネストについてなんか言ったところで暖簾に腕押しだと思うけど
たぶんこのスレで[ ]のネストについてなんか言ったところで暖簾に腕押しだと思うけど
752デフォルトの名無しさん
2017/08/08(火) 04:37:18.97ID:qCAzS5bX753デフォルトの名無しさん
2017/08/08(火) 09:10:19.12ID:qTxWRpQR メッセージ構文だろうがドット構文だろうがネスト数が多いこと自体が鬱陶しいだろ
どっちかっつぅとクラス設計の問題じゃないの
どっちかっつぅとクラス設計の問題じゃないの
754デフォルトの名無しさん
2017/08/08(火) 09:54:27.79ID:Apkyawzp >>753
Rxの概念的な都合によるものだから
どうしてもネストが深くなりがちなんだよね。
そもそもパイプが使えるとデバッグが楽だったりするし
ネスト構造でログを間にはさみたいときとかどうする?
結局ネストを壊して一時変数に途中経過を代入して出力するしかないでしょ?
メソッドチェーンなりパイプ演算子が使えると間に挟むだけになるから凄く
メンテナンス性が高い
Rxの概念的な都合によるものだから
どうしてもネストが深くなりがちなんだよね。
そもそもパイプが使えるとデバッグが楽だったりするし
ネスト構造でログを間にはさみたいときとかどうする?
結局ネストを壊して一時変数に途中経過を代入して出力するしかないでしょ?
メソッドチェーンなりパイプ演算子が使えると間に挟むだけになるから凄く
メンテナンス性が高い
755デフォルトの名無しさん
2017/08/08(火) 09:55:18.73ID:N1iCp3j/ >>753
Reactive Functional Programmingは必然的に多重ネストしちゃうが、
鬱陶しいとは、初めての意見だなぁ。
variable.asObserver()
.foo()
.bar()
.baz() {|cell|
// do something
// do something
}
これって、鬱陶しいかなぁ?
Reactive Functional Programmingは必然的に多重ネストしちゃうが、
鬱陶しいとは、初めての意見だなぁ。
variable.asObserver()
.foo()
.bar()
.baz() {|cell|
// do something
// do something
}
これって、鬱陶しいかなぁ?
756デフォルトの名無しさん
2017/08/08(火) 09:55:30.87ID:Apkyawzp757デフォルトの名無しさん
2017/08/08(火) 12:01:58.34ID:qTxWRpQR ドットでも[ ]でも大して変わらないって自分は思うってだけ
758デフォルトの名無しさん
2017/08/08(火) 12:24:05.02ID:qCAzS5bX [[[[variable asObserver] foo] bar] baz:^(id cell) {
// do something
// do something
}];
ふつくしい
// do something
// do something
}];
ふつくしい
759デフォルトの名無しさん
2017/08/08(火) 13:23:55.95ID:F28KTTfx >>757
そうとも言えるし、そうとも言えない
リアルに最近、(ちょっと)ん?と思った文w
[self menuItemsForPath:[[[node attributes] getNamedItem:@"representedFile"] value]]
まあ、現在のObjective-Cでも、
[self menuitemsForPath:[node.attributes getNamedItem:@"representedFile"].value];
と書けば、全然w。ドットにしてみて、
self. menuitemsForPath(node.attributes.getNamedItem(@"representedFile").value)
まあ、あんま変わんないかな
そうとも言えないにはイマイチだったか
そうとも言えるし、そうとも言えない
リアルに最近、(ちょっと)ん?と思った文w
[self menuItemsForPath:[[[node attributes] getNamedItem:@"representedFile"] value]]
まあ、現在のObjective-Cでも、
[self menuitemsForPath:[node.attributes getNamedItem:@"representedFile"].value];
と書けば、全然w。ドットにしてみて、
self. menuitemsForPath(node.attributes.getNamedItem(@"representedFile").value)
まあ、あんま変わんないかな
そうとも言えないにはイマイチだったか
760デフォルトの名無しさん
2017/08/08(火) 13:47:41.40ID:qTxWRpQR >>758
同じように改行でもインデントでもなんでもいれれば?
同じように改行でもインデントでもなんでもいれれば?
761デフォルトの名無しさん
2017/08/08(火) 14:36:01.22ID:qCAzS5bX Apple様のXcode自動インデントに任せて baz:^ の:の所に合わせてブロック文の中身はインデントを入るよ?
ブロック処理がコード上のすごい右側に行ってしまって
もうこの美しさと言ったらObjC/Xcode以外では中々に見ることが出来ないレベルだと思ってる
ブロック処理がコード上のすごい右側に行ってしまって
もうこの美しさと言ったらObjC/Xcode以外では中々に見ることが出来ないレベルだと思ってる
762デフォルトの名無しさん
2017/08/08(火) 14:44:47.05ID:F28KTTfx Apple様とか言ってるのはお前がだぞw
有るものを受け入れるに過ぎない&有るものをいかにどう使うかがお前や俺らのやること。それを使うというのはお前や俺らが自分で決めたことなんだから。それは別にAppleのに限らず
なんか自称開発経験長いようだが、よくそんな自分では解決できない不満満々でやってるなあ。その分他に使えばいいのに。全然長いように見えないな
有るものを受け入れるに過ぎない&有るものをいかにどう使うかがお前や俺らのやること。それを使うというのはお前や俺らが自分で決めたことなんだから。それは別にAppleのに限らず
なんか自称開発経験長いようだが、よくそんな自分では解決できない不満満々でやってるなあ。その分他に使えばいいのに。全然長いように見えないな
763デフォルトの名無しさん
2017/08/08(火) 15:38:18.31ID:taAceK/L 2個目以降のblocks引数のことだろ
1個目の左側と揃えた方がいいよ
1個目の左側と揃えた方がいいよ
764デフォルトの名無しさん
2017/08/08(火) 16:10:59.77ID:F28KTTfx デフォのフォーマットでは、2個目以降のblocksも引数のblock中身はインデントひとじゃね?
いくらあろうが右へ右へとは行かないよな??
いくらあろうが右へ右へとは行かないよな??
765デフォルトの名無しさん
2017/08/08(火) 16:22:42.51ID:taAceK/L インデントは2個目で止まる
だけどシグネチャがそもそも長いから右に寄りすぎるってのはある
1個目と同じで問題なさそうなのにね
まあ別にいいんだけど気になる点ではあるな
だけどシグネチャがそもそも長いから右に寄りすぎるってのはある
1個目と同じで問題なさそうなのにね
まあ別にいいんだけど気になる点ではあるな
766デフォルトの名無しさん
2017/08/08(火) 16:29:39.36ID:F28KTTfx そもそもデフォのフォーマットが気に入らないwから、自動補完後に整形するけど、自動補完中はTab(&click)とReturnで進めばBlockの中身分インデント一つだけのような/だけだけどなあ
2つになる場合がなんかあったかもしれないが補完後に整形するから忘れてるのかもしれないけど
2つになる場合がなんかあったかもしれないが補完後に整形するから忘れてるのかもしれないけど
767デフォルトの名無しさん
2017/08/09(水) 07:47:44.63ID:EM9uH4Ru768デフォルトの名無しさん
2017/08/09(水) 11:34:46.72ID:7tAKIt6P 提供された言語仕様をあるがままに受け入れられないヤツはObjCを使うな
769デフォルトの名無しさん
2017/08/09(水) 12:55:35.37ID:a8XvE339 「俺の馴染みのない表記が混ざってるのがキモチワルイ」言われても
評価してる側は「外への働きかけが表記分けで一目瞭然なのがイイネ」だから
話が平行線というか、
むしろ、最近の言語が(swiftみたいに)すぐにどのレベルの処理も
フラットにベターッと書くのを指向していて
それよく知られてるいつもの【ダメなやつ】なのになんで
あれやりたがる開発者多いのか…
評価してる側は「外への働きかけが表記分けで一目瞭然なのがイイネ」だから
話が平行線というか、
むしろ、最近の言語が(swiftみたいに)すぐにどのレベルの処理も
フラットにベターッと書くのを指向していて
それよく知られてるいつもの【ダメなやつ】なのになんで
あれやりたがる開発者多いのか…
770デフォルトの名無しさん
2017/08/09(水) 13:23:22.09ID:qPu9JyaP Obj-Cのラインは行頭に@という手もあるぞ
771デフォルトの名無しさん
2017/08/09(水) 13:28:37.05ID:mzNn5sYF [] はコストが関数呼び出しより高いことを明示してる感じでとても良いと思う。
772デフォルトの名無しさん
2017/08/09(水) 14:34:41.41ID:7tAKIt6P プロパティとかいうドット表記が問題なんだよな, 挙句にgetter/setterのメソッドに紐づいてるし
あれをObjCに取り込んだ害悪は誰だったんだろうね
あれをObjCに取り込んだ害悪は誰だったんだろうね
773デフォルトの名無しさん
2017/08/09(水) 14:53:43.66ID:ocU/hJiZ774デフォルトの名無しさん
2017/08/09(水) 15:10:08.58ID:7tAKIt6P 230デフォルトの名無しさん (ワッチョイ 056c-cJAr)2017/08/09(水) 14:56:18.93ID:ocU/hJiZ0
>>229
Objective-Cでもジェネリクス可能なのか?
どのレベルまでできる?
1. 型汎用な関数
2. 型汎用なクラス
3. 型汎用なプロトコル
4. 型汎用なプロトコル・エクステンション
SwiftスレでObjCについて聞く前にググれ
https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/InteractingWithObjective-CAPIs.html#//apple_ref/doc/uid/TP40014216-CH4-ID173
>>229
Objective-Cでもジェネリクス可能なのか?
どのレベルまでできる?
1. 型汎用な関数
2. 型汎用なクラス
3. 型汎用なプロトコル
4. 型汎用なプロトコル・エクステンション
SwiftスレでObjCについて聞く前にググれ
https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/InteractingWithObjective-CAPIs.html#//apple_ref/doc/uid/TP40014216-CH4-ID173
775デフォルトの名無しさん
2017/08/09(水) 15:10:17.60ID:qPu9JyaP プロパティじゃなくてもシグネチャ次第でドットにできるけどね
776デフォルトの名無しさん
2017/08/09(水) 15:15:27.76ID:qPu9JyaP あゲッターだけか
777デフォルトの名無しさん
2017/08/09(水) 15:47:05.07ID:ocU/hJiZ >>774
Lightweight Generics
って書いてあるね。
Swiftから呼べるObjective-Cコードは軽量版ジェネリクスってことか?
軽量版ジェネリクスかぁ。。。なんかグッと来る日本語無いかな?
Matzだって名前重要って言ってるし。
Lightweight Generics
って書いてあるね。
Swiftから呼べるObjective-Cコードは軽量版ジェネリクスってことか?
軽量版ジェネリクスかぁ。。。なんかグッと来る日本語無いかな?
Matzだって名前重要って言ってるし。
778デフォルトの名無しさん
2017/08/09(水) 18:10:30.11ID:m222t+F2 >>772
確かそもそもは、Cocoa Binding
Cocoa Binding(内で使う/に指定する)で メンバ(のメンバ?) の表記がドット。Cocoa Bindingとして対象は当然「プロパティ」という概念/名称になろう
この時点ではObjective-Cには property なんてなく、当然ドットもない。Cocoa Bindingがプロパティとして呼び出すのは単にセッター/ゲッター。セッター/ゲッターを量産する手段をObjective-Cには同時期かまたはちょっと後(それまでは、全部手でセッター/ゲッターを書く)
その後いろいろあって、今のに
なので、よくわからんが今やり始めてそう思うのは仕方がないのかもしれないが、無茶苦茶言ってるなてとこかなw
確かそもそもは、Cocoa Binding
Cocoa Binding(内で使う/に指定する)で メンバ(のメンバ?) の表記がドット。Cocoa Bindingとして対象は当然「プロパティ」という概念/名称になろう
この時点ではObjective-Cには property なんてなく、当然ドットもない。Cocoa Bindingがプロパティとして呼び出すのは単にセッター/ゲッター。セッター/ゲッターを量産する手段をObjective-Cには同時期かまたはちょっと後(それまでは、全部手でセッター/ゲッターを書く)
その後いろいろあって、今のに
なので、よくわからんが今やり始めてそう思うのは仕方がないのかもしれないが、無茶苦茶言ってるなてとこかなw
779デフォルトの名無しさん
2017/08/09(水) 18:46:53.08ID:P/9b8Th9 >>769
その【ダメなやつ】を最近もクラスプロパティの言語仕様追加で従来[ ]で呼び出してたものを.で呼び出すように推進してるからなぁ
言語仕様変えただけじゃなくご丁寧にCocoa, UIKitのフレームワークライブラリの実装まで修正してくれてるし
昔は【ダメなやつ】だったのかもしれんが、今は【イイやつ】になってると思うべきなんじゃねw
ObjCの言語仕様が追加されるのはいつものことだし、変わったものをモダンで良いものと思って追い続けないとやってけないよ
その【ダメなやつ】を最近もクラスプロパティの言語仕様追加で従来[ ]で呼び出してたものを.で呼び出すように推進してるからなぁ
言語仕様変えただけじゃなくご丁寧にCocoa, UIKitのフレームワークライブラリの実装まで修正してくれてるし
昔は【ダメなやつ】だったのかもしれんが、今は【イイやつ】になってると思うべきなんじゃねw
ObjCの言語仕様が追加されるのはいつものことだし、変わったものをモダンで良いものと思って追い続けないとやってけないよ
780デフォルトの名無しさん
2017/08/09(水) 18:55:51.12ID:P/9b8Th9 >>777
なんか誤解してそうだけどObjC単体でも使えるからな
ListやDictionaryなんかの一部コレクション系クラスの保持オブジェクトの型をコンパイル時チェックできるようになった
Java5の頃のジェネリクスと同じ感じだな, C++のTemplateみたいな使い方はできないがまぁ仕方あるまい
軽量"版"というからしょぼく見えるんだから軽量ジェネリクスでいいじゃん
コンパイル時間は多少伸びてるだろうが、実行時オーバーヘッドは0のはずだからな
なんか誤解してそうだけどObjC単体でも使えるからな
ListやDictionaryなんかの一部コレクション系クラスの保持オブジェクトの型をコンパイル時チェックできるようになった
Java5の頃のジェネリクスと同じ感じだな, C++のTemplateみたいな使い方はできないがまぁ仕方あるまい
軽量"版"というからしょぼく見えるんだから軽量ジェネリクスでいいじゃん
コンパイル時間は多少伸びてるだろうが、実行時オーバーヘッドは0のはずだからな
781デフォルトの名無しさん
2017/08/09(水) 19:35:58.41ID:eNfr2UIc782デフォルトの名無しさん
2017/08/09(水) 20:09:54.22ID:EM9uH4Ru783デフォルトの名無しさん
2017/08/09(水) 20:20:14.93ID:m222t+F2 >>781
あえてというか、必要性が無かったからだろう
Cocoa BindingでGetter/Setterをたくさん用意しなくてはならない/するのを強制されるのは確か。そういえばGetter/Setterの命名規則もこれのせいだったような(それ以前にあったかもしれないが「でなければならない」ではなかった)
オブジェクトに対しては、
ClassA *obj = …
(*obj).instaceVariable = …;
として、(たぶん)最初からあるけどなww(Cの構造体メンバアクセスとは確か「ちょっと」違う)
最初は構造体のと同じ表記なのに単なるメソッド呼び出しの置き換えとかキモかったなw
あえてというか、必要性が無かったからだろう
Cocoa BindingでGetter/Setterをたくさん用意しなくてはならない/するのを強制されるのは確か。そういえばGetter/Setterの命名規則もこれのせいだったような(それ以前にあったかもしれないが「でなければならない」ではなかった)
オブジェクトに対しては、
ClassA *obj = …
(*obj).instaceVariable = …;
として、(たぶん)最初からあるけどなww(Cの構造体メンバアクセスとは確か「ちょっと」違う)
最初は構造体のと同じ表記なのに単なるメソッド呼び出しの置き換えとかキモかったなw
784デフォルトの名無しさん
2017/08/09(水) 20:31:19.14ID:m222t+F2 >>783
>それ以前にあったかもしれないが「でなければならない」ではなかった
ちょっと違うな
それ以前にあったかもしれないがルールが明文化された
かな。ルールに基づかないのにもなのがsetter=/getter=の存在でもあるし
>それ以前にあったかもしれないが「でなければならない」ではなかった
ちょっと違うな
それ以前にあったかもしれないがルールが明文化された
かな。ルールに基づかないのにもなのがsetter=/getter=の存在でもあるし
785デフォルトの名無しさん
2017/08/09(水) 20:49:27.68ID:qqV2xE2N786デフォルトの名無しさん
2017/08/09(水) 20:57:44.83ID:P/9b8Th9 > オブジェクトに対しては、
> ClassA *obj = …
> (*obj).instaceVariable = …;
> として、(たぶん)最初からあるけどなww
最初からはねーよwww
ギリギリ->オペレータがあったくらいだわ
まぁその当時はC/C++を継承した->は【ダメなやつ】で[ ]のみが正義だったわけだが
> ClassA *obj = …
> (*obj).instaceVariable = …;
> として、(たぶん)最初からあるけどなww
最初からはねーよwww
ギリギリ->オペレータがあったくらいだわ
まぁその当時はC/C++を継承した->は【ダメなやつ】で[ ]のみが正義だったわけだが
787デフォルトの名無しさん
2017/08/09(水) 20:59:19.88ID:m222t+F2788デフォルトの名無しさん
2017/08/09(水) 21:01:34.46ID:m222t+F2789デフォルトの名無しさん
2017/08/09(水) 21:03:58.20ID:qPu9JyaP (*obj).foo も obj->foo も@publicじゃなきゃならんな
Cの構造体の構文に似せてあるが、シュガーだよ
Cの構造体の構文に似せてあるが、シュガーだよ
790デフォルトの名無しさん
2017/08/09(水) 21:15:38.13ID:m222t+F2 >>789
うん。まあ、単なる目に見えるメソッド置き換えよりも、なんか気分的な親和性があったというか
NSObjectの構造を見るとアクセスするのに単純にいかなさそうなんだけど、今はなんか簡単にやってやがるっぽくない?よく調べてないがコンパイルで吐くコードがなんか単純(以前のでの吐くコードがどんなんか知らんけど)
struct objc_class が OBJC2_UNAVAILABLE だから、Objective-C 2.0 で何か思いきったことやってんのかなあ?
うん。まあ、単なる目に見えるメソッド置き換えよりも、なんか気分的な親和性があったというか
NSObjectの構造を見るとアクセスするのに単純にいかなさそうなんだけど、今はなんか簡単にやってやがるっぽくない?よく調べてないがコンパイルで吐くコードがなんか単純(以前のでの吐くコードがどんなんか知らんけど)
struct objc_class が OBJC2_UNAVAILABLE だから、Objective-C 2.0 で何か思いきったことやってんのかなあ?
791デフォルトの名無しさん
2017/08/09(水) 21:51:51.46ID:m222t+F2 >>786
稼働可能状態な古いMac持ってる知り合いに聞いて試してもらったら、10.4では (*). はコンパイル&ランで問題ないって
10.0 から 10.3 の間かなあ?そんな別に無くてもいいもんwいつサポートするようになったか興味がちょっとあるなw(いつの話か教えてくれたら嬉しいな)
稼働可能状態な古いMac持ってる知り合いに聞いて試してもらったら、10.4では (*). はコンパイル&ランで問題ないって
10.0 から 10.3 の間かなあ?そんな別に無くてもいいもんwいつサポートするようになったか興味がちょっとあるなw(いつの話か教えてくれたら嬉しいな)
792デフォルトの名無しさん
2017/08/12(土) 07:30:10.75ID:qaUJfGjG 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なプロパティを使う
くらいです。
外部へはreadonlyプロパティとして公開し、内部向けにclass extentionにてreadwriteプロパティとして再定義したクラスがあります。
これを、swiftで使おうとしたところ、generated headerの中にこのプロパティ定義が作られない事に気付きました。(xcode 8.3.3)
多重定義を止めると、普通にプロパティ定義が作られます。
多重定義プロパティでのgenerated header不具合っぽいのですが、良い対処方法を教えてください。
思いつくのは
・Immutable classのサブクラスとしてmutable classを作り、そこでプロパティを再定義
・readwriteのpropertyを別名でclass extentionで定義しインスタンス変数を共有、内部からはwrなプロパティを使う
くらいです。
793デフォルトの名無しさん
2017/08/12(土) 12:13:53.23ID:dKEWL6WP こういうこと?
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にならないのは不具合ではなく仕様通りではないかと
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にならないのは不具合ではなく仕様通りではないかと
794デフォルトの名無しさん
2017/08/12(土) 12:32:23.62ID:qaUJfGjG いえ、公開したいのは、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
その場合、プロパティ自体が存在しない空の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
795デフォルトの名無しさん
2017/08/12(土) 13:46:56.49ID:dKEWL6WP 同一プロジェクト内で双方向のpublic getter, private setterはこんな感じでいけた
ttps://pastebin.com/2ckH2LeE
ライブラリプロジェクトでプロジェクトを跨る時はObjC側はBuild Phrases -> HeadersでHello.hをpublic設定して
Swift側は@objc public class HelloSwiftで宣言するんだったかな, @objc publicは最新で不要になってる気もする
多分、ライブラリプロジェクトについて話してるんではないだろうから、ここは意識する必要ないだろうけど
プリミティブ型じゃない時に何か特殊な障害があったかな・・・
ttps://pastebin.com/2ckH2LeE
ライブラリプロジェクトでプロジェクトを跨る時はObjC側はBuild Phrases -> HeadersでHello.hをpublic設定して
Swift側は@objc public class HelloSwiftで宣言するんだったかな, @objc publicは最新で不要になってる気もする
多分、ライブラリプロジェクトについて話してるんではないだろうから、ここは意識する必要ないだろうけど
プリミティブ型じゃない時に何か特殊な障害があったかな・・・
796デフォルトの名無しさん
2017/08/12(土) 14:18:44.04ID:2Yw2XYfL 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万台にならなくて済む
フリーランスで検索すると引っかかる零細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万台にならなくて済む
797デフォルトの名無しさん
2017/08/12(土) 15:21:17.11ID:3WtgEz9W その方法でまんま何も問題ないけど?
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 (なにかしているんだろうが、単なる参照用)
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 (なにかしているんだろうが、単なる参照用)
798デフォルトの名無しさん
2017/08/12(土) 15:26:34.38ID:3WtgEz9W799デフォルトの名無しさん
2017/08/12(土) 15:37:26.13ID:qaUJfGjG >>795,797
コメントありがとうございます。指摘通り、Generated interfaceの誤りですね。
今手元でこんな感じです。
ttp://i.imgur.com/D8CWZTP.jpg
上がCocoaアプリ、下がFrameworkに置いたものです。
いずれも、Generated I/Fの中に上書きしたプロパティが出てきません。
Xcode再インストールが先でしょうか?
コメントありがとうございます。指摘通り、Generated interfaceの誤りですね。
今手元でこんな感じです。
ttp://i.imgur.com/D8CWZTP.jpg
上がCocoaアプリ、下がFrameworkに置いたものです。
いずれも、Generated I/Fの中に上書きしたプロパティが出てきません。
Xcode再インストールが先でしょうか?
800デフォルトの名無しさん
2017/08/12(土) 15:52:20.34ID:3WtgEz9W >>799
絵が見えないー。何をやってるのか見えなーい
んー… Swiftで作ったクラスをObjective-CでがGenerateだと思うんだがな。HeaderとInterfaceの違いではなく…まあ、どうでもいいけど、Objective-Cで作ったクラスをSwiftででいいのね?
何やってるのか見えないのでなんともだが、とりあえず Product メニューの Clean(よりも、Option押しながらのClean Build Folder…)かな
絵が見えないー。何をやってるのか見えなーい
んー… Swiftで作ったクラスをObjective-CでがGenerateだと思うんだがな。HeaderとInterfaceの違いではなく…まあ、どうでもいいけど、Objective-Cで作ったクラスをSwiftででいいのね?
何やってるのか見えないのでなんともだが、とりあえず Product メニューの Clean(よりも、Option押しながらのClean Build Folder…)かな
801デフォルトの名無しさん
2017/08/12(土) 15:57:11.27ID:qaUJfGjG ttp://light.dotup.org/uploda/light.dotup.org471442.png.html
すみません貼り直します。
Obj-c => Swift が目標です。
すみません貼り直します。
Obj-c => Swift が目標です。
802デフォルトの名無しさん
2017/08/12(土) 16:09:41.21ID:3WtgEz9W >>801
ん??右端の Hello.h が generated header/Generated interface とやら?んなのいらんだろ??
単に、Bridge Header に、その左隣の Objective-C 用の Hello.c をインポートすればいいだけだろ??>>795さんのでいえば30から31行目、Hello-Bridging-Header.hというファイルに#import "Hello.h"を一行
Bridge Headerを使うようには設定でだが、Objective-Cのプロジェクトで最初にSwiftファイル作れば、「Bridge Headerつくるよ」とXcodeが勝手にやってくれるし、その後設定を確認してみればBridge Headerを使う設定がわかるだろう
ん??右端の Hello.h が generated header/Generated interface とやら?んなのいらんだろ??
単に、Bridge Header に、その左隣の Objective-C 用の Hello.c をインポートすればいいだけだろ??>>795さんのでいえば30から31行目、Hello-Bridging-Header.hというファイルに#import "Hello.h"を一行
Bridge Headerを使うようには設定でだが、Objective-Cのプロジェクトで最初にSwiftファイル作れば、「Bridge Headerつくるよ」とXcodeが勝手にやってくれるし、その後設定を確認してみればBridge Headerを使う設定がわかるだろう
803デフォルトの名無しさん
2017/08/12(土) 16:13:00.14ID:3WtgEz9W >>802
>勝手にやってくれる
Bridge Headerファイルの作成と、プロジェクトへのBridge Headerファイル登録と、ビルド設定ね
Swiftで使うクラスは、Bridge Headerに自分で記述する(単に#import "….h")
>勝手にやってくれる
Bridge Headerファイルの作成と、プロジェクトへのBridge Headerファイル登録と、ビルド設定ね
Swiftで使うクラスは、Bridge Headerに自分で記述する(単に#import "….h")
804デフォルトの名無しさん
2017/08/12(土) 16:22:45.31ID:3WtgEz9W >>802
すまん。ちょこちょこ間違えた
>その左隣の Objective-C 用の Hello.c
その左隣の Objective-C 用の Hello.h
>でいえば30から31行目
でいえば30から32行目
すまん。ちょこちょこ間違えた
>その左隣の Objective-C 用の Hello.c
その左隣の Objective-C 用の Hello.h
>でいえば30から31行目
でいえば30から32行目
805デフォルトの名無しさん
2017/08/12(土) 20:56:39.29ID:3WtgEz9W >>801
そういえば、(標準の)Frameworkは?ってのは、umbrella headerってのをFrameworkに仕込むらしい
それも、ヘッダーはそんなSwiftみたいなのではなく、単にObjective-Cのヘッダー(をSwift用にプリコンパイル(?)してモジュール化しての)
すると、Swiftで
import Foobar
ってだけで
そういえば、(標準の)Frameworkは?ってのは、umbrella headerってのをFrameworkに仕込むらしい
それも、ヘッダーはそんなSwiftみたいなのではなく、単にObjective-Cのヘッダー(をSwift用にプリコンパイル(?)してモジュール化しての)
すると、Swiftで
import Foobar
ってだけで
806デフォルトの名無しさん
2017/08/12(土) 21:33:48.50ID:3WtgEz9W >>805
ああ、umbrella headerって、Objective-Cでも/でのModulesのためのか。@importの。@importなんて忘れてたw
それの使用/流用か?@importはSwiftより1年先みたいだし
ああ、umbrella headerって、Objective-Cでも/でのModulesのためのか。@importの。@importなんて忘れてたw
それの使用/流用か?@importはSwiftより1年先みたいだし
807デフォルトの名無しさん
2017/08/12(土) 21:37:17.32ID:vLIuNhx/ 流用っていうかLLVMの機能
808デフォルトの名無しさん
2017/08/13(日) 11:30:09.68ID:TkYKFb/H 解決できてなさそうだから一式上げた
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 の所な
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 の所な
809デフォルトの名無しさん
2017/08/13(日) 14:47:06.11ID:XQniorI3 アンブレラヘッダって、Cでよくやる各モジュールのヘッダをincludeしてまとめてあるヘッダのこと
810デフォルトの名無しさん
2017/08/13(日) 16:13:58.67ID:OaUgUnZt iOSでアンブレラヘッダって出来るんだっけ
811デフォルトの名無しさん
2017/08/13(日) 16:17:13.40ID:XQniorI3 できるよ
.h作って必要なヘッダを#import
.h作って必要なヘッダを#import
812デフォルトの名無しさん
2017/08/13(日) 16:32:48.83ID:OaUgUnZt813デフォルトの名無しさん
2017/08/13(日) 17:27:14.87ID:GzzlNSce >>811
ごめん、アンブレラヘッダとアンブレラフレームワークと混同してた。frameworkも出来るみたい。
ごめん、アンブレラヘッダとアンブレラフレームワークと混同してた。frameworkも出来るみたい。
814デフォルトの名無しさん
2017/08/13(日) 19:08:50.09ID:3CTOgVkL 皆さんありがとうございます。
どうにもドツボにはまっているので、頂いたものを勉強し直します。
どうにもドツボにはまっているので、頂いたものを勉強し直します。
815デフォルトの名無しさん
2017/08/30(水) 09:43:22.83ID:thVvZo3p Xcodeのメジャーバージョンアップに合わせた言語仕様更新
ここ2年くらいないけどもうObjCの改善はやめたのかな
ここ2年くらいないけどもうObjCの改善はやめたのかな
816デフォルトの名無しさん
2017/08/30(水) 14:31:13.31ID:VdDjZJhL Xcode 8からクラスプロパティが入った。
Xcode 9はわからん。
仕様変更は正直いらないよ。新機能の追加だけで十分。
最近のObjective-Cの良いところは仕様変更が少ないことだと思う。
Swiftは変更しすぎでついていけない。
Xcode 9はわからん。
仕様変更は正直いらないよ。新機能の追加だけで十分。
最近のObjective-Cの良いところは仕様変更が少ないことだと思う。
Swiftは変更しすぎでついていけない。
817デフォルトの名無しさん
2017/08/30(水) 16:55:31.83ID:thVvZo3p そうか、クラスプロパティが去年だったか, 地味だから忘れてた
Xcode9は今出てるリリースノートの範疇を見るになさそうなんだよねぇ
最近のObjC下位互換破棄はGCの完全撤廃がXcode8であったような?誰も使ってないだろうけども
ObjCはシンタックスシュガー多いけど基本は残していくスタンスよな
Xcode9は今出てるリリースノートの範疇を見るになさそうなんだよねぇ
最近のObjC下位互換破棄はGCの完全撤廃がXcode8であったような?誰も使ってないだろうけども
ObjCはシンタックスシュガー多いけど基本は残していくスタンスよな
818デフォルトの名無しさん
2017/08/30(水) 18:53:05.49ID:OtY774nI >>816
ころころ仕様が変わったら何のデバッグしてるのかわからんからね
ころころ仕様が変わったら何のデバッグしてるのかわからんからね
819デフォルトの名無しさん
2017/08/31(木) 12:33:49.66ID:ELOqa+z/ Xcode9では言語仕様追加はないのか
毎年何らか追加してきてたし、ネタ切れってわけでもないだろうに、Swiftにリソース食われてるのかねぇ
Swiftはコミュニティにぶん投げて、AppleはObjCの言語仕様をアップデートしてくれよなぁ
毎年何らか追加してきてたし、ネタ切れってわけでもないだろうに、Swiftにリソース食われてるのかねぇ
Swiftはコミュニティにぶん投げて、AppleはObjCの言語仕様をアップデートしてくれよなぁ
820デフォルトの名無しさん
2017/08/31(木) 16:41:09.38ID:DmRL1EOk nullability にしろ generics にしろ、最近の変更は swift から obj-c を使いやすくするのに必要なものだったから、もうやることはあまり残ってなさそう
821デフォルトの名無しさん
2017/09/01(金) 09:02:41.01ID:YXmfUhFy autoキーワードのデフォルト有効化はよ
ObjC++(.mm)にすれば良いんだけどなんか違う、idをautoの代わりに使うのはもっと違う
ObjC++(.mm)にすれば良いんだけどなんか違う、idをautoの代わりに使うのはもっと違う
822デフォルトの名無しさん
2017/09/01(金) 10:47:18.17ID:B8cKPTM5 C++17も出るし、C++14, 17の新規機能のポーティングが始まるんじゃね?今年はもう間に合わんだろうけど
clangとしてC++17は進めてるんだろうから、いつものように文法糖衣してObjCに突っ込むだろ
clangとしてC++17は進めてるんだろうから、いつものように文法糖衣してObjCに突っ込むだろ
823デフォルトの名無しさん
2017/09/01(金) 11:18:48.86ID:ZEZMvH77 いっそのことObjective-C++使おうかな。
C++の仕様を部分的にポーティングしてくれるならそれもいいけど。
@autoみたいな記法は流石に勘弁だけど。
C++の仕様を部分的にポーティングしてくれるならそれもいいけど。
@autoみたいな記法は流石に勘弁だけど。
824デフォルトの名無しさん
2017/09/01(金) 12:05:12.13ID:pDFuyP/L ObjC++はコンパイル遅い。
825デフォルトの名無しさん
2017/09/01(金) 17:48:15.95ID:Ev7WXpGx ObjC++だとリファクタリング効かないから大変。
あれ何とかならないかなぁ。
あれ何とかならないかなぁ。
826デフォルトの名無しさん
2017/09/01(金) 18:21:04.93ID:5JXRZXNo C++はコンパイル速度より実行時速度に重きを置いてるから仕方ないね
ObjC++でTemplateが使えたら幸せなんだけどなぁ
常時Dynamic Dispatchで実行速度が遅いObjC環境でTemplate使った速度改善なんて滑稽な話ではあるが
ObjC++でTemplateが使えたら幸せなんだけどなぁ
常時Dynamic Dispatchで実行速度が遅いObjC環境でTemplate使った速度改善なんて滑稽な話ではあるが
827デフォルトの名無しさん
2017/09/01(金) 22:21:55.44ID:5GGRc0ni >実行速度が遅い
それが問題になるほどの崇高なプログラムを組んでらっしゃるのかな
それが問題になるほどの崇高なプログラムを組んでらっしゃるのかな
828デフォルトの名無しさん
2017/09/01(金) 22:30:27.59ID:shKG9pre そういう人はいくらでもいるでしょ
829デフォルトの名無しさん
2017/09/01(金) 22:34:33.64ID:zaPu8SCI 計算物理学とか処理速度は常に足を引っ張ってくるからね
830デフォルトの名無しさん
2017/09/01(金) 22:44:52.87ID:pDFuyP/L ObjC++ってC++で書かれたコア部分をラッピングするための装置。
831デフォルトの名無しさん
2017/09/01(金) 23:03:50.42ID:5BLkbp3y > ObjC++はコンパイル遅い。
これが問題になる人よりは多いでしょ, コンパイル速度より実行速度を気するわな
ObjC++はC++の機能を使うための装置でもあるがな
auto以外にもモダンな機能が使えるからModern Objective-Cがモダンじゃないと感じ始めたら使うのも一興
性能良くてモダンな機能が使えるObjC++はイイゾー
これが問題になる人よりは多いでしょ, コンパイル速度より実行速度を気するわな
ObjC++はC++の機能を使うための装置でもあるがな
auto以外にもモダンな機能が使えるからModern Objective-Cがモダンじゃないと感じ始めたら使うのも一興
性能良くてモダンな機能が使えるObjC++はイイゾー
832デフォルトの名無しさん
2017/09/01(金) 23:45:22.97ID:ZEZMvH77 コンパイル遅くなるって具体的にどんなケースなの?
既存のobjcソースをobjc++としてコンパイルする程度ならほとんど変わらなそうだけど。
autoやメンバー関数なんかの簡単な機能使う程度なら十分お釣りが来る気がする。
既存のobjcソースをobjc++としてコンパイルする程度ならほとんど変わらなそうだけど。
autoやメンバー関数なんかの簡単な機能使う程度なら十分お釣りが来る気がする。
833デフォルトの名無しさん
2017/09/02(土) 10:48:43.59ID:u5MjsaOO モダン、モダンうるせーよw
モダンであることが目的になってねーか?おまえら
モダンであることが目的になってねーか?おまえら
834デフォルトの名無しさん
2017/09/02(土) 12:06:13.00ID:qBo532qK ものによっちゃあクラシックよりは良いだろうな
835デフォルトの名無しさん
2017/09/02(土) 18:57:24.45ID:AHW4eZK5 >>832
- (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];だけを比較したら
型推論使った方が両辺の型一致を判定する必要ない分だけ早くなり得ると思う
- (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];だけを比較したら
型推論使った方が両辺の型一致を判定する必要ない分だけ早くなり得ると思う
836デフォルトの名無しさん
2017/09/02(土) 19:14:40.76ID:Qzt2A3g3 マヌケっぽいけどイ`
837デフォルトの名無しさん
2017/09/02(土) 20:19:08.25ID:GaaWhR7c C++の型推論は戻り値型が確定していればその場でNSNumber *に置き換えてくれるんじゃね?
よほど変なコード書かない限りコンパイル速度が問題になることは無いだろう。
Xcodeはデフォルトでプリコンパイルしてくれるし、C++でもやってくれるでしょ。
よほど変なコード書かない限りコンパイル速度が問題になることは無いだろう。
Xcodeはデフォルトでプリコンパイルしてくれるし、C++でもやってくれるでしょ。
838デフォルトの名無しさん
2017/09/02(土) 20:20:06.63ID:GaaWhR7c 型推論にかぎらず
839デフォルトの名無しさん
2017/09/04(月) 00:53:58.51ID:JKJOfy4O ObjC++がコンパイル遅いって具体例、他にないのかね
一例は捻り出してみたけど、遅いと主張してる人たちからは何も出てこない...
一例は捻り出してみたけど、遅いと主張してる人たちからは何も出てこない...
840デフォルトの名無しさん
2017/09/04(月) 01:11:16.27ID:9h/7te1O 遅さが実感できないならそれで良いんじゃね
841デフォルトの名無しさん
2017/09/05(火) 06:26:53.84ID:PmP+sl68 >>824はObjC信者の妄言ではないと実証しないとダメじゃない?
842デフォルトの名無しさん
2017/09/05(火) 13:34:45.75ID:Fbd5ldy5 真の信者はObjC++も受け入れる。
実際ObjC++はそれほど遅くはないよ。
今はClangコンパイラがデフォルトになってるからかなり早い。
むしろSwiftのほうが遅く感じる。
実際ObjC++はそれほど遅くはないよ。
今はClangコンパイラがデフォルトになってるからかなり早い。
むしろSwiftのほうが遅く感じる。
843デフォルトの名無しさん
2017/09/05(火) 22:19:53.34ID:CWg4/G2u 今は亡き真のApple信者はObjCは素晴らしい、Swiftも素晴らしい
Appleの提供するものは全て素晴らしいってSwiftスレで孤軍奮闘してたよ(Swift1.xの時代
Swiftはcopying swift libraryにクッソ時間かかるから論外だと思う, 10Mbyteの小さな()ランタイムのコピーは失笑しか出ない
それはそれとして、いい加減ObjCのみが素晴らしいって主張のObjC信者はObjC++が遅いって実証を出せゴルァ
ObjC++を許容する真の信者(笑)の根拠のない感想なんてどうでもいいんだよ
Appleの提供するものは全て素晴らしいってSwiftスレで孤軍奮闘してたよ(Swift1.xの時代
Swiftはcopying swift libraryにクッソ時間かかるから論外だと思う, 10Mbyteの小さな()ランタイムのコピーは失笑しか出ない
それはそれとして、いい加減ObjCのみが素晴らしいって主張のObjC信者はObjC++が遅いって実証を出せゴルァ
ObjC++を許容する真の信者(笑)の根拠のない感想なんてどうでもいいんだよ
844デフォルトの名無しさん
2017/09/05(火) 23:15:55.98ID:Jq7SE38L 信者信者ってわざと言ってるのにはもう見えないな。マジで言ってるのならキチだな
845デフォルトの名無しさん
2017/09/06(水) 17:08:25.60ID:SQ4/Zkph >>843はどう見ても基地外だろう。
846デフォルトの名無しさん
2017/09/07(木) 08:58:40.01ID:Omz9mDs1 触ると増える
847デフォルトの名無しさん
2017/09/08(金) 07:44:30.62ID:Wi5IEwLQ848デフォルトの名無しさん
2017/09/08(金) 11:02:58.01ID:ouBjF6hv もう信者ネタは飽きた。
ところでObjC++ってObjCには満足出来ないけどSwiftに移行するほどでもないっていう人には良い言語だよな。
ところでObjC++ってObjCには満足出来ないけどSwiftに移行するほどでもないっていう人には良い言語だよな。
849デフォルトの名無しさん
2017/09/08(金) 11:39:16.63ID:0ohCbX1Y 主に感情を揺さぶることが目的でしかない信者信仰とか無くてもいいもん言い出してるのを無視して何を言っているのか、マジなのか馬鹿すぎキチガイすぎでという点ではな
Objective-Cでも満足できるけどC++も使わなければならないので良い言語だなあ
上の方でラッパーするには的なことあるけど、わざわざラッパーを作らずにちゃんぽんでで
Objective-Cでも満足できるけどC++も使わなければならないので良い言語だなあ
上の方でラッパーするには的なことあるけど、わざわざラッパーを作らずにちゃんぽんでで
850デフォルトの名無しさん
2017/09/08(金) 17:15:02.30ID:E/p7ocd2 その時間から酒飲んでるのか。プレミアムフライデーうらやましい。
851デフォルトの名無しさん
2017/09/09(土) 07:29:36.83ID:4vXDR/AT 具体的にc++を使うとobjcはどんな風に楽になるのか解説頼む。
swiftの言語仕様の破壊的変更には辟易するけど。
swiftの言語仕様の破壊的変更には辟易するけど。
852デフォルトの名無しさん
2017/09/09(土) 07:33:07.60ID:LN4nKJDq 楽になるもなにもobjective-CとC++はCの拡張方向が違うから
単純にC++の文法をObjective-C++でプロジェクト作るとそのまま食うってだけだぞ。
単純にC++の文法をObjective-C++でプロジェクト作るとそのまま食うってだけだぞ。
853デフォルトの名無しさん
2017/09/09(土) 19:33:30.38ID:8E3FMuHj854デフォルトの名無しさん
2017/09/09(土) 19:35:50.45ID:2PbJjEWF 型推論ってBASICかよ。。
855デフォルトの名無しさん
2017/09/10(日) 07:43:48.22ID:jzTwYGLB ObjC++についてObjC信者連呼してる君、かなり深刻なお脳の病気を持ってそうだな。
856デフォルトの名無しさん
2017/09/10(日) 07:58:49.24ID:mLTl9fJv 右辺値の型を左辺の変数の型にする機能はModulaの昔からあるんだけど、そんなものは型推論とは呼ばれてなかった
型推論というのは一般にMLにある型変数が飛び交うようなのを指すもので、C++でいえばtemplateのパラメータが相当する
autoを型推論と呼ばないで欲しい。C++が用語を歪めたのが悪いんだけど
あとBASICにはどっちの意味でも型推論は無いぞ、バリアント型の間違いじゃね
型推論というのは一般にMLにある型変数が飛び交うようなのを指すもので、C++でいえばtemplateのパラメータが相当する
autoを型推論と呼ばないで欲しい。C++が用語を歪めたのが悪いんだけど
あとBASICにはどっちの意味でも型推論は無いぞ、バリアント型の間違いじゃね
857デフォルトの名無しさん
2017/09/10(日) 09:07:15.21ID:xTzJbttv >>856
メーリングリストが何だって?
メーリングリストが何だって?
858デフォルトの名無しさん
2017/09/10(日) 09:43:03.26ID:6eMl9Cue859デフォルトの名無しさん
2017/09/10(日) 09:53:31.64ID:mLTl9fJv860デフォルトの名無しさん
2017/09/10(日) 10:57:19.42ID:EO9qqnso 前に言ったかもしれないけどObjC++のコンパイル速度はそんな遅くないよ。
c++で遅くなるような処理をobjc++で書けばそれりゃ遅くなるけど。
DSL作るとかじゃなければ気にならない。
objc++のプロジェクト書いてるけど、ビルド&リンク時間は1秒くらい。
同じ規模のswiftのプロジェクトが3秒だから相当速い。
c++で遅くなるような処理をobjc++で書けばそれりゃ遅くなるけど。
DSL作るとかじゃなければ気にならない。
objc++のプロジェクト書いてるけど、ビルド&リンク時間は1秒くらい。
同じ規模のswiftのプロジェクトが3秒だから相当速い。
861デフォルトの名無しさん
2017/09/10(日) 11:31:14.81ID:w1siUvvP できればobj-c++の有用例をqiita辺りに纏めてくれないかな。
需要はあると思うんで。
言葉で語られてもピンとこない。実際のコードで示して欲しい。
需要はあると思うんで。
言葉で語られてもピンとこない。実際のコードで示して欲しい。
862デフォルトの名無しさん
2017/09/10(日) 13:07:44.32ID:EO9qqnso ググれば足りる
「Objective-C++11 - 星一のはてなブログ」
「Objective-C++でSwiftに挑む」
あと「SwiftのそれObjective-Cで出来るよ」って記事、前にあった気がすんだけどあれ何処いったんだ?
「Objective-C++11 - 星一のはてなブログ」
「Objective-C++でSwiftに挑む」
あと「SwiftのそれObjective-Cで出来るよ」って記事、前にあった気がすんだけどあれ何処いったんだ?
863デフォルトの名無しさん
2017/09/10(日) 15:23:22.28ID:ODr7u6re864デフォルトの名無しさん
2017/09/10(日) 15:28:06.27ID:YhxCzOtN 型推論できないと効率が下がるプログラマー
865デフォルトの名無しさん
2017/09/10(日) 19:50:23.81ID:w1siUvvP866デフォルトの名無しさん
2017/09/10(日) 20:02:20.98ID:xTzJbttv Swift使えっていう布教活動なら納得
867デフォルトの名無しさん
2017/09/10(日) 21:34:33.40ID:UkktAReA BASICは成り立ちというか設計者の話を聞く限り
「FORTRNとかでプログラム教える時に"型"でつまずくから
「数字」と「文字」という二つの分類にしました。
いやぁ、for~next step 0.5とか想定回数回すようにするの大変でしたよ、ハッハッハ」で
最近の"型推論"でごちゃごちゃ問題起きてるの眺めるたびに
ほんとこの世界は過去から学ばねぇなと思ってる。
「FORTRNとかでプログラム教える時に"型"でつまずくから
「数字」と「文字」という二つの分類にしました。
いやぁ、for~next step 0.5とか想定回数回すようにするの大変でしたよ、ハッハッハ」で
最近の"型推論"でごちゃごちゃ問題起きてるの眺めるたびに
ほんとこの世界は過去から学ばねぇなと思ってる。
868デフォルトの名無しさん
2017/09/10(日) 23:48:48.08ID:3pmx1gWM Swiftでいいわ
じゃあの
じゃあの
869デフォルトの名無しさん
2017/09/11(月) 03:08:54.09ID:+NzND3PL >>868
バイバーイ
バイバーイ
870デフォルトの名無しさん
2017/09/11(月) 07:27:55.45ID:RCvV23l8 >>867
alloc/freeで任意契機のメモリ管理ができない他言語はクソ => GC/ARCスゲー
メッセージ表記こそ至上の文法、ドット表記はクソ => プロパティドットアクセス便利
クロージャーは見通しが悪くなる、クロージャーはクソ => Blocksイイ
手のひらクルンクルンについて、過去から学ばないObjCがそれを言ってもなw
型推論も将来採用されたらまたクルンって手首回すと信じてる
alloc/freeで任意契機のメモリ管理ができない他言語はクソ => GC/ARCスゲー
メッセージ表記こそ至上の文法、ドット表記はクソ => プロパティドットアクセス便利
クロージャーは見通しが悪くなる、クロージャーはクソ => Blocksイイ
手のひらクルンクルンについて、過去から学ばないObjCがそれを言ってもなw
型推論も将来採用されたらまたクルンって手首回すと信じてる
871デフォルトの名無しさん
2017/09/11(月) 07:44:04.15ID:lJyYCV3D ObjC++とARCで質問です。
ググッた限り良い解説に辿りつけないので教えてください。
c++classにObjectiveC++クラスの参照を持たせた形で、循環参照と思われる現象に引っかかりました。
c++クラスのコンストラクタで、ObjC++のインスタンス変数を代入させています。
c++クラス側にObjC/ObjC++のインスタンスを持たせるばあい、c++ソース側でもweakとかunsafe_unretainedとかは指定して良いのでしょうか。それとも、コンストラクタ呼び出し側で、weakselfなどを代入するしかないのでしょうか。
ググッた限り良い解説に辿りつけないので教えてください。
c++classにObjectiveC++クラスの参照を持たせた形で、循環参照と思われる現象に引っかかりました。
c++クラスのコンストラクタで、ObjC++のインスタンス変数を代入させています。
c++クラス側にObjC/ObjC++のインスタンスを持たせるばあい、c++ソース側でもweakとかunsafe_unretainedとかは指定して良いのでしょうか。それとも、コンストラクタ呼び出し側で、weakselfなどを代入するしかないのでしょうか。
872デフォルトの名無しさん
2017/09/11(月) 12:15:52.29ID:Hnapc1Bn >>870
「GCスゲー」「クロージャーはクソ」なんて意見は聞いたことないけどな
「GCスゲー」「クロージャーはクソ」なんて意見は聞いたことないけどな
873デフォルトの名無しさん
2017/09/11(月) 13:17:49.09ID:D+TVdXvf >>871
普通には問題なさげ
何も問題なくコンパイルする
__strong付きのはちゃんとC++クラスのデストラクタで勝手にリリースしてくれる。伴い、それの他でのweakはnilにしてくれる
__weak付きのは元が消失するとnilになる。消失するのがObjective-Cのクラス側だろうがなんだろうが
__unsafe_unretainedはそもそもARCでは何もしないだし、C++クラス内でもなにもしない
http://clang.llvm.org/docs/AutomaticReferenceCounting.html
には、(C/)C++での注釈はチラホラあるけど
Objective-C++使うのはObjective-CでC++のを使いたい場合で、そんな使い方してないからなんか混みいった場合があるのかよくわからんけど
普通には問題なさげ
何も問題なくコンパイルする
__strong付きのはちゃんとC++クラスのデストラクタで勝手にリリースしてくれる。伴い、それの他でのweakはnilにしてくれる
__weak付きのは元が消失するとnilになる。消失するのがObjective-Cのクラス側だろうがなんだろうが
__unsafe_unretainedはそもそもARCでは何もしないだし、C++クラス内でもなにもしない
http://clang.llvm.org/docs/AutomaticReferenceCounting.html
には、(C/)C++での注釈はチラホラあるけど
Objective-C++使うのはObjective-CでC++のを使いたい場合で、そんな使い方してないからなんか混みいった場合があるのかよくわからんけど
874デフォルトの名無しさん
2017/09/29(金) 08:49:37.25ID:cOq2BguT iOS11でObjective-Cアプリってどれくらいメンテ/評価工数かけた?
こんなレスあったけど、まさか評価0って企業はないよな?
296デフォルトの名無しさん (ワッチョイ 23ea-5RgV)2017/09/28(木) 15:24:26.46ID:n5Lt93Y/0
Objective-Cで書いときゃメンテフリーだったのに
こんなレスあったけど、まさか評価0って企業はないよな?
296デフォルトの名無しさん (ワッチョイ 23ea-5RgV)2017/09/28(木) 15:24:26.46ID:n5Lt93Y/0
Objective-Cで書いときゃメンテフリーだったのに
875デフォルトの名無しさん
2017/09/29(金) 09:01:59.92ID:9C7BOStD Swiftでの開発時に比べたらほぼないようなものっていうニュアンスで捉えたが
876デフォルトの名無しさん
2017/09/29(金) 10:22:28.62ID:YdXqj+6X CもObjCもここ数年は仕様変更がないから、コンパイルはそのまま通る。
変なコード書いてなければ動作確認も問題なくパスする。
メンテナンスフリーって言われれば確かにそうかもな。
あとはフレームワークで非推奨にになったメソッド書き換える程度だけど、
これはSwiftと共通の作業だし、そもそもやらなくても動く。
とにかくSwift移行していない俺は毎年高みの見物してる。
変なコード書いてなければ動作確認も問題なくパスする。
メンテナンスフリーって言われれば確かにそうかもな。
あとはフレームワークで非推奨にになったメソッド書き換える程度だけど、
これはSwiftと共通の作業だし、そもそもやらなくても動く。
とにかくSwift移行していない俺は毎年高みの見物してる。
877デフォルトの名無しさん
2017/09/29(金) 13:46:22.66ID:1qiEqY9+ deprecatedになってから猶予が結構あるから早めに変えとけばコアコードの変更なんてほとんどないな
あるとしたらレイアウトとかの修正くらい
依存してた関数が消えたり仕様が変わってどうしようもなくなった場合はそもそもなにもしようがない
あるとしたらレイアウトとかの修正くらい
依存してた関数が消えたり仕様が変わってどうしようもなくなった場合はそもそもなにもしようがない
878デフォルトの名無しさん
2017/09/29(金) 19:22:37.66ID:31qHkzGo 結局Swiftに移行するメリットがObjective-Cを継続しようするメリットを超えてこない
879デフォルトの名無しさん
2017/09/30(土) 00:38:42.96ID:FQgRLXZE そもそもObjective-C使いこなしてたような人がSwiftに移行するメリットなんてないしな。
Swift界隈はちょくちょくウォッチしてるんたけど、移行しないで正解だったって日に日に実感する。
Swift界隈はちょくちょくウォッチしてるんたけど、移行しないで正解だったって日に日に実感する。
880デフォルトの名無しさん
2017/09/30(土) 02:21:57.64ID:SqIOY632 >>876
ObjCもiOSも扱ってないやつの論だなw
近年も言語仕様追加されてるし、メジャーバージョンアップの評価はしないと動かないこと多数だし
ObjC, iOSを扱ってなきゃそりゃ高みの見物で終わるだろうよ
結局はメンテフリーじゃないのに極論を振りかざすObjC信者がSwiftスレに来ただけか
あの手のアホの子はiOS, ObjCを扱ってるのか不安になるよねぇ
ObjCもiOSも扱ってないやつの論だなw
近年も言語仕様追加されてるし、メジャーバージョンアップの評価はしないと動かないこと多数だし
ObjC, iOSを扱ってなきゃそりゃ高みの見物で終わるだろうよ
結局はメンテフリーじゃないのに極論を振りかざすObjC信者がSwiftスレに来ただけか
あの手のアホの子はiOS, ObjCを扱ってるのか不安になるよねぇ
881デフォルトの名無しさん
2017/09/30(土) 02:30:28.41ID:SqIOY632 Swiftは移行するもんじゃなくて、ちょっとかじってApple信者を騙して儲けるモノだったろ
当時はまだジョブズ存命でSwift使う信者もいたから良い商売になった, Swift使ってますで案件大量だった
Apple信者が死滅した昨今、Swift使ってますでは案件取れなくなったから、皆ObjCに戻って来てるよな
当時はまだジョブズ存命でSwift使う信者もいたから良い商売になった, Swift使ってますで案件大量だった
Apple信者が死滅した昨今、Swift使ってますでは案件取れなくなったから、皆ObjCに戻って来てるよな
882デフォルトの名無しさん
2017/09/30(土) 02:32:56.94ID:yPwVPo43 てかSwiftで作られたApple純正アプリってあるの?
そんなに優れてるならAppleが率先して移行するでしょ
そういう事
そんなに優れてるならAppleが率先して移行するでしょ
そういう事
883デフォルトの名無しさん
2017/09/30(土) 02:40:56.76ID:EVMVqVHi なんかキチすぎてまとに相手する気にもならないが、
Swift 登場時期 2014年6月2日
ジョブズ 1955年2月24日 - 2011年10月5日
らしいよ
>>882
まあ、WWDCでのサンプル提示はSwiftオンリーになったような。全部というか一部しか見てないが。サンプルコードもSwiftもぽちぽちあるな
どうなんだろな。さすがにAppleもSwiftの変更にははあるかな??まあ、Swiftで作られたApple純正アプリがあっても不思議ではない。探してみようw
Swift 登場時期 2014年6月2日
ジョブズ 1955年2月24日 - 2011年10月5日
らしいよ
>>882
まあ、WWDCでのサンプル提示はSwiftオンリーになったような。全部というか一部しか見てないが。サンプルコードもSwiftもぽちぽちあるな
どうなんだろな。さすがにAppleもSwiftの変更にははあるかな??まあ、Swiftで作られたApple純正アプリがあっても不思議ではない。探してみようw
884デフォルトの名無しさん
2017/09/30(土) 07:09:22.48ID:0pTRGub9 Swift書くの楽だわ
さっさと移行してよかった
さっさと移行してよかった
885デフォルトの名無しさん
2017/09/30(土) 08:05:24.29ID:uRHGHo1a886デフォルトの名無しさん
2017/10/01(日) 07:15:02.28ID:hNuicHmO Apple純正アプリってクローズドソースで探せないだろ
どうやって探すつもりなんだ
どうやって探すつもりなんだ
887デフォルトの名無しさん
2017/10/01(日) 08:05:02.62ID:U1G3k+aG >>886
アンカーつけなよ
アンカーつけなよ
888デフォルトの名無しさん
2017/10/01(日) 08:33:50.58ID:xjQetnPj バイナリからもそれなりにわかる。まあ、それなりにだが
とりあえず、SierraではConsole.appがSwiftで書かれている部分はあるみたい。Objective-Cとの混合っぽいし、SwiftとObjective-Cの割合まではまだ推測してないが
とりあえず、SierraではConsole.appがSwiftで書かれている部分はあるみたい。Objective-Cとの混合っぽいし、SwiftとObjective-Cの割合まではまだ推測してないが
889デフォルトの名無しさん
2017/10/01(日) 09:34:49.05ID:xjQetnPj Console.appはSwiftで作られたと言ってもいいかも。AppDelegateやControllerなんぞメインな部分がSwiftでのクラス(ってことで合ってると思う)
まあ、Utilities内ではConsole.appぐらい/だけなんだがw
まあ、Utilities内ではConsole.appぐらい/だけなんだがw
890デフォルトの名無しさん
2017/10/01(日) 09:51:32.67ID:/IPTP4VW そういえばコンソールは使いづらくなったよな
左下のプロセスでの抽出出来なくなって
アイコン表示もなくなって
やり方が変わったならすまんが
毎回作り替えてんのか使い易くなったり悪くなったり安定しないイメージ
左下のプロセスでの抽出出来なくなって
アイコン表示もなくなって
やり方が変わったならすまんが
毎回作り替えてんのか使い易くなったり悪くなったり安定しないイメージ
891デフォルトの名無しさん
2017/10/01(日) 10:15:13.14ID:xjQetnPj Pagesなんて、Objective-C++のようだなあ。Objective-C++好きにとってはなんか嬉しいw
892デフォルトの名無しさん
2017/10/01(日) 10:47:32.34ID:R3DqYdgN Dock.appもSwift製ってどっかでみた
893デフォルトの名無しさん
2017/10/01(日) 11:17:21.49ID:xjQetnPj あー、そういうアプリもあるか
Dock.appはガチすぎて(イミフ)明確な手がかりが掴めないなあ。Swift使ってるようだけど。てか、C(Core)をかなーり使ってるっぽい。わからんなw
よりも、NotificationCenter.app がSwift製っぽい。確実にかなーりSwiftで書いてるかな
とは、別にPangesといいNotificationCenterといいAppleもやらかしてる(ナゾ)んだなと思ったw
まあ、厨二くさいのでもうこのへんでw
Dock.appはガチすぎて(イミフ)明確な手がかりが掴めないなあ。Swift使ってるようだけど。てか、C(Core)をかなーり使ってるっぽい。わからんなw
よりも、NotificationCenter.app がSwift製っぽい。確実にかなーりSwiftで書いてるかな
とは、別にPangesといいNotificationCenterといいAppleもやらかしてる(ナゾ)んだなと思ったw
まあ、厨二くさいのでもうこのへんでw
894デフォルトの名無しさん
2017/10/01(日) 12:41:15.86ID:hNuicHmO Swiftを使っているかどうかはlibSwift.soにリンクしているかどうかですぐに分かるけど
Swiftだけを使っているかどうかはObjC, Swiftのバイナリコードは類似するんだから分からんだろ
それなりにわかるじゃ意味なくて厳密に分からないと無意味な話だろうに
Swiftだけを使っているかどうかはObjC, Swiftのバイナリコードは類似するんだから分からんだろ
それなりにわかるじゃ意味なくて厳密に分からないと無意味な話だろうに
895デフォルトの名無しさん
2017/10/01(日) 12:44:39.82ID:qGSPhC6b そもそもわかることで何かいいことがあるのかっていうね
896デフォルトの名無しさん
2017/10/01(日) 13:49:46.99ID:hNuicHmO 分からないことを示すことで、>>883の「探してみようw」のキチっぷりが証明される
分かることに意味はないけど、分からないことには意味があったんよ
逆に、分かることを証明できれば、おいらがキチと証明できるから頑張っても良いんじゃね
分かることに意味はないけど、分からないことには意味があったんよ
逆に、分かることを証明できれば、おいらがキチと証明できるから頑張っても良いんじゃね
897デフォルトの名無しさん
2017/10/01(日) 19:21:32.85ID:xjQetnPj なんか引き出そうと透けて見える気がするのが嫌w
お前は強く言われたら反発して言うタイプ?なんで、素直に教えてと言えないかなあw気分悪いのでもう具体的には教えてやんないけどw
> libSwift.soにリンクしているかどうかですぐに分かるけど
言う通り。でもリンク項目にしてるだけで使ってなくてもあったりするけど、確か(まあ、そんなアホなことしてないだろう)
>Swiftだけを使っているかどうかはObjC, Swiftのバイナリコードは類似するんだから分からんだろ
言う通り。だから>>888でそのように言ってるやん。の後にこれはSwiftで作られたと言ってもいいかも(ちゃんとそれでも「かも」)と根拠言ってるやん。根拠探してみ単純なことだから(Pagesはこの単純なことで見えたある意味アホらしいことから)
>>893も、Swift製っ「ぽい」だからね。根拠も書いてるでしょ
>>895
俺は別にないよ。>>882の「Apple純正アプリってあるの?」っていうのに、どうだろうという興味と、>>888っていうのに全くわからないこともないんじゃねっていう実証だな(具体的に言わんから実証にならんとか言うなよww)
知ってるお人にはなにをもったいつけてんだと思うだろうな。俺もそう思うww
お前は強く言われたら反発して言うタイプ?なんで、素直に教えてと言えないかなあw気分悪いのでもう具体的には教えてやんないけどw
> libSwift.soにリンクしているかどうかですぐに分かるけど
言う通り。でもリンク項目にしてるだけで使ってなくてもあったりするけど、確か(まあ、そんなアホなことしてないだろう)
>Swiftだけを使っているかどうかはObjC, Swiftのバイナリコードは類似するんだから分からんだろ
言う通り。だから>>888でそのように言ってるやん。の後にこれはSwiftで作られたと言ってもいいかも(ちゃんとそれでも「かも」)と根拠言ってるやん。根拠探してみ単純なことだから(Pagesはこの単純なことで見えたある意味アホらしいことから)
>>893も、Swift製っ「ぽい」だからね。根拠も書いてるでしょ
>>895
俺は別にないよ。>>882の「Apple純正アプリってあるの?」っていうのに、どうだろうという興味と、>>888っていうのに全くわからないこともないんじゃねっていう実証だな(具体的に言わんから実証にならんとか言うなよww)
知ってるお人にはなにをもったいつけてんだと思うだろうな。俺もそう思うww
898デフォルトの名無しさん
2017/10/01(日) 19:26:51.07ID:xjQetnPj あー、>>886の人か。なんだw
たんに噛み付いた(?)のに、否定されてのでか...?気にすんな。なおさら教えないけどww
たんに噛み付いた(?)のに、否定されてのでか...?気にすんな。なおさら教えないけどww
899デフォルトの名無しさん
2017/10/01(日) 20:14:20.03ID:0JlsHB3I 急に発狂しだしてどうした。実世界で嫌な事でもあったのか?
900デフォルトの名無しさん
2017/10/01(日) 20:26:37.49ID:xjQetnPj なんですぐに発狂とか...わからん。まさか、長文書くとか、レス多いとか?だったり?まさかなww
別に嫌なことはない、今暇ってだけだな
別に嫌なことはない、今暇ってだけだな
901デフォルトの名無しさん
2017/10/01(日) 23:06:01.97ID:IvPlqNt/ どっちで書いても良いけどさ
純正アプリのグダグダは直ったのかい?
純正アプリのグダグダは直ったのかい?
902デフォルトの名無しさん
2017/10/02(月) 10:34:40.67ID:o9ncCo8n903デフォルトの名無しさん
2017/10/02(月) 16:39:06.49ID:Wwkr3eYe904デフォルトの名無しさん
2017/10/02(月) 16:46:18.34ID:Wwkr3eYe905デフォルトの名無しさん
2017/10/03(火) 20:32:33.93ID:0liCQr5x とりあえず落ち着こ
906デフォルトの名無しさん
2017/10/03(火) 20:48:09.76ID:d/DK+qf4 とりあえずおちんこ
907デフォルトの名無しさん
2017/10/03(火) 21:25:04.04ID:nKRU0XTa はあぁ…。
908デフォルトの名無しさん
2017/10/04(水) 08:08:33.18ID:ekjB4cHk よし、落ち着いて発狂から解放されて正気に戻ったら>>903を正しい日本語で書き直そう
909デフォルトの名無しさん
2017/10/04(水) 08:19:44.81ID:V7FXDajl プログラミングの話しようよ
910デフォルトの名無しさん
2017/10/04(水) 11:04:44.04ID:e2PGw4tF ここも次ワッチョイ推奨
911デフォルトの名無しさん
2017/10/04(水) 11:18:57.67ID:Gppgeajp Xcode 9の話しようぜ!
912デフォルトの名無しさん
2017/10/04(水) 17:55:40.67ID:M+fUbMNH Command+Clickが地味に使いづらい、ウザい
俺はあんなハイライトいらん。そんな一目で「終わり」を見る機会より定義の場所にジャーンプの機会の方が圧倒的なので
邪魔なポップアップ出さずにジャンプの指定にできるようになってるのはホッとしたがハイライトも出さないようにしたいなあ、できるのかな?
俺はあんなハイライトいらん。そんな一目で「終わり」を見る機会より定義の場所にジャーンプの機会の方が圧倒的なので
邪魔なポップアップ出さずにジャンプの指定にできるようになってるのはホッとしたがハイライトも出さないようにしたいなあ、できるのかな?
913デフォルトの名無しさん
2017/10/04(水) 23:12:36.51ID:Gppgeajp できる。どっかのブログでやりかた見たけど忘れた。
914デフォルトの名無しさん
2017/10/05(木) 09:44:12.63ID:NTKdykpp ホップ(カーソル移動)、ステップ(ハイライト表示)、ジャーンプ(定義の場所に移動)
Xcode9はよくできてるな!
Xcode9はよくできてるな!
915デフォルトの名無しさん
2017/10/05(木) 13:23:23.73ID:j9fazbko 327デフォルトの名無しさん (ササクッテロリ Sp75-2iPL)2017/10/05(木) 08:23:57.77ID:4UOAx4bZp
新しいこと覚えるくらいならビジネスロジックを勉強するよ
言語だのリアクティブだの状態管理だの
フルスクリーンアプリじゃユーザーに全くメリットないし
業界に踊らされているだけ
Objective-CユーザはObjCの新文法を使わない?
genericsとかnilableとか少し古いとblocksやinstancetypeとかAppleに踊らされつつ
同じアホなら踊らにゃ損々と便利に使ってるけど
新しいこと覚えるくらいならビジネスロジックを勉強するよ
言語だのリアクティブだの状態管理だの
フルスクリーンアプリじゃユーザーに全くメリットないし
業界に踊らされているだけ
Objective-CユーザはObjCの新文法を使わない?
genericsとかnilableとか少し古いとblocksやinstancetypeとかAppleに踊らされつつ
同じアホなら踊らにゃ損々と便利に使ってるけど
916デフォルトの名無しさん
2017/10/05(木) 14:56:32.48ID:DCONgPWB 人それぞれ。そう言うヤツもいるとなぜ思わないのか?開発向かないか業界病で頭が単純化しすぎ病なのか?w
こっちに持ってこないで、言う本人に言いなさい
こっちに持ってこないで、言う本人に言いなさい
917デフォルトの名無しさん
2017/10/06(金) 14:13:25.71ID:qhLWaNhq Xcode 9でリファクタリング強化されたって聞いたんだけど、
これってObjective-Cでも使えるの?
使えるなら俺一生ObjCに付いていく。
これってObjective-Cでも使えるの?
使えるなら俺一生ObjCに付いていく。
918デフォルトの名無しさん
2017/10/06(金) 22:02:02.32ID:FHIJEXWg Objective-Cで使えないってことはないだろうさすがに
919デフォルトの名無しさん
2017/10/06(金) 22:56:31.41ID:R7tcOQE1920デフォルトの名無しさん
2017/10/07(土) 00:41:25.81ID:U7UMp42z 馬鹿すぎで哀れ
921デフォルトの名無しさん
2017/10/07(土) 11:12:08.07ID:s04ZU/0N なんだろう、個人的にはSwiftやるならObjective-Cの方がいいと思う
Cの勉強にもなるし
Swiftは潰しがきかん
Cの勉強にもなるし
Swiftは潰しがきかん
922デフォルトの名無しさん
2017/10/07(土) 12:02:44.93ID:TgSupA0z Swiftは相変わらずABI安定してないし、世代交代もまだまだ先という感じがする。
C言語やっておいて損はないというのは今も昔も変わってない気がする。
SDKの活用や今後のモバイル市場の縮小を考えると、Swift一本で戦うのは難しい。
教養とスキル構築のためにObjective-Cを選択するのはありだと思う。
C言語やっておいて損はないというのは今も昔も変わってない気がする。
SDKの活用や今後のモバイル市場の縮小を考えると、Swift一本で戦うのは難しい。
教養とスキル構築のためにObjective-Cを選択するのはありだと思う。
923デフォルトの名無しさん
2017/10/11(水) 19:06:32.91ID:3FUN2GAU Cが学べるってのは大きい。
昔はCに変なアレルギー持ってたけど、最近は割りといい言語だと思えてきた。
昔はCに変なアレルギー持ってたけど、最近は割りといい言語だと思えてきた。
924デフォルトの名無しさん
2017/10/11(水) 20:04:23.45ID:M3+oH0ZC Cは高級アセンブラだからね
能力がある人ほどマシンの性能をより高く発揮できるプログラムが書ける
細かな操作もできるから特に組み込み系などのプログラミングでは依然としてCが多いのものそれが理由
能力がある人ほどマシンの性能をより高く発揮できるプログラムが書ける
細かな操作もできるから特に組み込み系などのプログラミングでは依然としてCが多いのものそれが理由
925デフォルトの名無しさん
2017/10/11(水) 20:54:59.95ID:3I5kECbD objcで書いてたはずなのに最適化しまくって結局中身Cの関数とコールバックばかりになるよな
926デフォルトの名無しさん
2017/10/11(水) 21:02:24.61ID:xjGA/sOA 人間のためにオブジェクト指向でかけるようにしてあげたCなのでマシン語が結局そうなっても速けりゃ本望
927デフォルトの名無しさん
2017/10/11(水) 21:04:56.88ID:3I5kECbD >>924
今どきの組み込みはほとんどC++だぞ
今どきの組み込みはほとんどC++だぞ
928デフォルトの名無しさん
2017/10/11(水) 21:06:41.85ID:M3+oH0ZC 組み込み系もObjective-Cにしようぜ
929デフォルトの名無しさん
2017/10/11(水) 21:14:46.21ID:3I5kECbD >>928
clangのARMコンパイラもあるし可能だろ
てかiOSはARMだし組み込みとも言える
picとかavrとかになるとメモリもクロックも少ないしobjcが使えるメリットが無いな
mbedIDEでobjcが使えるようになったらちょっとだけ嬉しいレベル
clangのARMコンパイラもあるし可能だろ
てかiOSはARMだし組み込みとも言える
picとかavrとかになるとメモリもクロックも少ないしobjcが使えるメリットが無いな
mbedIDEでobjcが使えるようになったらちょっとだけ嬉しいレベル
930デフォルトの名無しさん
2017/10/11(水) 21:19:00.42ID:M3+oH0ZC >>929
>clangのARMコンパイラもあるし可能だろ
>てかiOSはARMだし組み込みとも言える
確かにw
pic, avrのレガシーコアの方(not ARM)のMCUはCでいいよね
ObjCもいらんしC++もなくてもいい
どこぞのArduin○さんもC++じゃなくて正直Cでいいかなって思ってる
>clangのARMコンパイラもあるし可能だろ
>てかiOSはARMだし組み込みとも言える
確かにw
pic, avrのレガシーコアの方(not ARM)のMCUはCでいいよね
ObjCもいらんしC++もなくてもいい
どこぞのArduin○さんもC++じゃなくて正直Cでいいかなって思ってる
931デフォルトの名無しさん
2017/10/11(水) 21:30:30.49ID:3I5kECbD >>930
物によるけどな
atmega328位のスペックならC++使う方が楽かもなぁ容量あるし
i2cとかグラフィック描画関係はクラス分けたいし
逆にattinyはC++じゃ入り切らない事があるしそこまで大きい事しない
picもUSBホスト機能とか付いてる奴とかの制御はC++使いたい
物によるけどな
atmega328位のスペックならC++使う方が楽かもなぁ容量あるし
i2cとかグラフィック描画関係はクラス分けたいし
逆にattinyはC++じゃ入り切らない事があるしそこまで大きい事しない
picもUSBホスト機能とか付いてる奴とかの制御はC++使いたい
932デフォルトの名無しさん
2017/10/11(水) 21:38:10.78ID:M3+oH0ZC ほむ
933デフォルトの名無しさん
2017/10/11(水) 21:38:49.39ID:M3+oH0ZC C++のところがObjCでもいいけどね個人的には
934デフォルトの名無しさん
2017/10/11(水) 22:10:57.58ID:3I5kECbD ここら辺のクロック(16MHz位)とかだとシングルスレッドだし一つの命令でのクロック消費がかなり後引くから
objcのメッソッド呼び出しをどう扱うかだな
オリジナル通りオーバーヘッドがある状態なら処理速度的に使い物にならないだろうし
そこを最適化しちゃうならobjcである必要も無い気もするんだよね
objcのメッソッド呼び出しをどう扱うかだな
オリジナル通りオーバーヘッドがある状態なら処理速度的に使い物にならないだろうし
そこを最適化しちゃうならobjcである必要も無い気もするんだよね
935デフォルトの名無しさん
2017/10/11(水) 23:52:24.90ID:M3+oH0ZC 言語が高級である意味は人間にとってなわけで、最終的に最適化されるならCでいいってのも本当は変な話だと思うけどね
それ言っちまうと究極は全部アセンブラでいい
なんなら機械語でもいい
それ言っちまうと究極は全部アセンブラでいい
なんなら機械語でもいい
936デフォルトの名無しさん
2017/10/12(木) 00:17:17.26ID:b/Ml+r1m 比較対象がobjcならって話だよ
objcは中身Cだけどobjc特有の書き方をすると冗長すぎる動作をするってこと
極端に言えば所詮Cのマクロ集だから
ただその冗長的な動作がobjcの良さだったりするから
マイコンとかには向かないし意味の無い機能になってしまう
記法とかそういうのは無視してる、どの言語も慣れれば大して変わらないし
objcは中身Cだけどobjc特有の書き方をすると冗長すぎる動作をするってこと
極端に言えば所詮Cのマクロ集だから
ただその冗長的な動作がobjcの良さだったりするから
マイコンとかには向かないし意味の無い機能になってしまう
記法とかそういうのは無視してる、どの言語も慣れれば大して変わらないし
937デフォルトの名無しさん
2017/10/12(木) 07:05:45.44ID:EYbRFkN0938デフォルトの名無しさん
2017/10/12(木) 12:57:22.44ID:b/Ml+r1m 動作速度を上げるために工夫する事はいけない事なのかな?
939デフォルトの名無しさん
2017/10/12(木) 13:31:01.75ID:uZnuZ+2W 次スレ不要
940デフォルトの名無しさん
2017/10/12(木) 22:09:53.24ID:RMeyvXX8941デフォルトの名無しさん
2017/10/12(木) 22:12:09.94ID:b/Ml+r1m942デフォルトの名無しさん
2017/10/12(木) 22:14:57.97ID:RMeyvXX8943デフォルトの名無しさん
2017/10/13(金) 12:50:19.84ID:1ukxQn24 ObjCのBlocksは最適化効くからかなり速いよ。
コールバック関数よりも最適化が効きやすい。
というかそこまで速度が必要ならそれこそObjC++の出番。
コールバック関数よりも最適化が効きやすい。
というかそこまで速度が必要ならそれこそObjC++の出番。
944デフォルトの名無しさん
2017/10/13(金) 20:39:05.62ID:3P7mMOBe Objective-C++って意味がわからない
コレイジョウObjectiveにする必要ねぇだろC++は…
コレイジョウObjectiveにする必要ねぇだろC++は…
945デフォルトの名無しさん
2017/10/14(土) 00:38:00.36ID:34+XXBBA C++は関数をクラスとして使い回すのがオブジェクト指向だろ?というC拡張
Objective-Cは関数をクラスとして命令を送ることで自律的に動作させるのがオブジェクト指向だろ?というC拡張
拡張の方向が違うので混在可能で、C++はいまのオブジェクト指向の原則からすると
相互関係が密になりすぎて使いづらい代わりにハード寄りで速度が出せるので
Objective-Cの中でC++を使うためのしくみがObjective-C++
Objective-(C)に対してのObjective-(C++)
中身でCじゃなくてC++扱いたい人向け。
Objective-Cは関数をクラスとして命令を送ることで自律的に動作させるのがオブジェクト指向だろ?というC拡張
拡張の方向が違うので混在可能で、C++はいまのオブジェクト指向の原則からすると
相互関係が密になりすぎて使いづらい代わりにハード寄りで速度が出せるので
Objective-Cの中でC++を使うためのしくみがObjective-C++
Objective-(C)に対してのObjective-(C++)
中身でCじゃなくてC++扱いたい人向け。
946デフォルトの名無しさん
2017/10/14(土) 00:45:54.33ID:3UymfagZ objcとC++との違いは動的言語かどうかの差だろ
コンパイル時に動作が決まるC++に比べて動作時に動作が決まるobjcが速度で劣るのは仕方ない
書き方次第でどうにでもなるから問題にはならないけど
Objective-C++は
objcの中でC++の書き方が出来るってだけ
新しい言語ではない
コンパイル時に動作が決まるC++に比べて動作時に動作が決まるobjcが速度で劣るのは仕方ない
書き方次第でどうにでもなるから問題にはならないけど
Objective-C++は
objcの中でC++の書き方が出来るってだけ
新しい言語ではない
947デフォルトの名無しさん
2017/11/03(金) 10:27:11.08ID:kjm4hBXm 嫌いな言語5位入賞おめでとうございます
948デフォルトの名無しさん
2017/11/03(金) 14:18:43.28ID:pqVRGQDn どこ調べだか知らぬが
まぁ、名誉なことであるな。
まぁ、名誉なことであるな。
949デフォルトの名無しさん
2017/11/03(金) 16:40:08.13ID:ymVoOBdW 使われてるってことだもんな
そもそも使われてないと好きも嫌いもない
そもそも使われてないと好きも嫌いもない
950デフォルトの名無しさん
2017/11/03(金) 19:34:40.33ID:sl8NUeaa iPhoneのお陰様や
951デフォルトの名無しさん
2017/11/03(金) 20:24:45.50ID:HuwGCmuD 次スレ待ち
952デフォルトの名無しさん
2017/11/03(金) 23:58:10.94ID:kjm4hBXm Objective-C [ObjC part:9];
http://mevius.2ch.net/test/read.cgi/tech/1458491343/
http://mevius.2ch.net/test/read.cgi/tech/1458491343/
953デフォルトの名無しさん
2017/11/04(土) 01:38:34.48ID:TcHqtFvm 頭がおかしいにもほどがある
954デフォルトの名無しさん
2017/11/05(日) 02:41:42.85ID:aeYzbOC4955デフォルトの名無しさん
2017/11/05(日) 09:01:31.81ID:MWh/LW9F >>953>>954
ん?反論が無いなら俺の勝ちだぞ?
ん?反論が無いなら俺の勝ちだぞ?
956デフォルトの名無しさん
2017/11/05(日) 09:17:22.75ID:AsGnkVE4 反論wwさすがキチだな。キチには勝てないよw
957デフォルトの名無しさん
2017/11/05(日) 10:44:57.27ID:+jc3Zkkz958デフォルトの名無しさん
2017/11/05(日) 15:28:55.43ID:vRv6T9rF 既存のObjective-CプロジェクトをObjective-C++にする場合
なんか問題になることってある?
型キャストしろって警告は沢山出てくるけど、それ以外は特に問題ない気がする。
ObjC++化で動作が変わるかどうか一番心配。
なんか問題になることってある?
型キャストしろって警告は沢山出てくるけど、それ以外は特に問題ない気がする。
ObjC++化で動作が変わるかどうか一番心配。
959デフォルトの名無しさん
2017/11/05(日) 16:37:44.96ID:xaHbiVeP 予約語が増えるとか、autoの意味が変わるとか、文字定数の型が変わるとか
関数宣言の引数なし()が可変長引数から(void)と同じに変わるとか
関数宣言の引数なし()が可変長引数から(void)と同じに変わるとか
960デフォルトの名無しさん
2017/11/06(月) 11:33:21.15ID:2AT1utsC C言語からC++への移行手順を参考にすれば問題ない気がする。
Objective-C固有の愛称は特に無い。newキーワードとの関係でNSObject.newが使えないくらいか。[NSObject new]なら問題ない。
Objective-C固有の愛称は特に無い。newキーワードとの関係でNSObject.newが使えないくらいか。[NSObject new]なら問題ない。
961デフォルトの名無しさん
2017/11/06(月) 16:17:54.74ID:d3/PBg+F NSObject.newはちょっと...w
962デフォルトの名無しさん
2017/11/06(月) 16:35:13.68ID:o8TjkfoV NSObject.new って ObjC2.0 の新記法?
963デフォルトの名無しさん
2017/11/06(月) 18:44:32.83ID:d3/PBg+F 新記法ってか...まあ、そうといえばそう
instance.property はコンパイル時に単に [instance property] に置き換えられるってだけで、使用に制限はない(コンパイルエラー/ウォーニングは出ない)。引数なしならなんでもドットで書ける。確か値を返さないのでも( [instance run]; を instance.run; とも)
ドット記法(getter/setter)は単に置き換えられる(setterはset付けられるけど)というのを理解していれば制限は無いので自由っちゃあ自由だが、それは違うだろうという、個人的にw
instance.property はコンパイル時に単に [instance property] に置き換えられるってだけで、使用に制限はない(コンパイルエラー/ウォーニングは出ない)。引数なしならなんでもドットで書ける。確か値を返さないのでも( [instance run]; を instance.run; とも)
ドット記法(getter/setter)は単に置き換えられる(setterはset付けられるけど)というのを理解していれば制限は無いので自由っちゃあ自由だが、それは違うだろうという、個人的にw
964デフォルトの名無しさん
2017/11/06(月) 18:51:06.70ID:d3/PBg+F ああ、クラスプロパティができるようになったから、instance.propertyだけでなくclass.propertyもありな、newはクラスメソッドしかないしclassで書くべきだったな
965デフォルトの名無しさん
2017/11/17(金) 03:39:04.53ID:KuiGlQ+X 関数の頭の+と-ってインスタンス済みか違うかってことと継承できるかどうかのちがい?
どっちがメモリ食いでおそいの?
どっちがメモリ食いでおそいの?
966デフォルトの名無しさん
2017/11/17(金) 07:12:37.67ID:Q8rdVBz+ クラスメソッドとインスタンスメソッド
967デフォルトの名無しさん
2017/11/17(金) 07:49:16.58ID:vXeaPuMS +(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関数の方が優位
NSLog(@"C %zu", malloc_size((__bridge const void *)(self)));
}
-(void)test{
NSLog(@"I %zu", malloc_size((__bridge const void *)(self)));
}
メモリサイズ見るとallocしてないからクラスメソッドではセルフのサイズは0になるよ。
速度に関してはメモリ確保しない分クラスメソッドの方が速いだろう
計算だけやらせるとかだけならクラスメソッドの方が良いだろうけど
それならC関数の方が優位
968デフォルトの名無しさん
2017/11/17(金) 12:40:32.69ID:Sc6rYFXH staticおじさん
969デフォルトの名無しさん
2017/11/17(金) 12:49:30.17ID:BwXttssD 継承しないなら+が正解なんですね
ありがとうございます。
ありがとうございます。
970デフォルトの名無しさん
2017/11/17(金) 12:56:32.08ID:qbOFfyPG 継承しない?
そもそもクラスメソッドも継承されるけど
そもそもクラスメソッドも継承されるけど
971デフォルトの名無しさん
2017/11/17(金) 13:10:53.82ID:qbOFfyPG 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];
}
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];
}
972デフォルトの名無しさん
2017/11/17(金) 14:46:32.69ID:KuiGlQ+X +でも継承できるんですか
勘違いしてました
すると+と比べて-のメリットは何でしょうか?
勘違いしてました
すると+と比べて-のメリットは何でしょうか?
973デフォルトの名無しさん
2017/11/17(金) 15:37:54.52ID:oYmLZZ1y メリットってか機能が違う
974デフォルトの名無しさん
2017/11/17(金) 17:12:02.46ID:0jV1JJrR OOPSの理解が先だな。OOPS理解すればそんな質問してたのがアホだったと思うだろう
975デフォルトの名無しさん
2017/11/17(金) 17:31:12.22ID:5PrRKVul いやJavaとかから来たらわからんだろうよ
通常のオブジェクトがそれが属するクラスにメソッドを定義することで、それをコールできるのと同様に
Objective-CではSmalltalkやRubyなどと同様に
クラスもまた、自身が属するメタクラス(さらに上位のクラス)にメソッドを定義することでそれをコールできる
メタクラスはクラスとちがって無名なので、便宜上そのクラスへのメソッド定義(インスタンス向け)を - で、
対応するメタクラスへのメソッド定義(そのクラス自身向け)を + で表す決まりになっている
つまるところ、+ と - はそのメソッドが定義される場所(ひいてはそれをコールできるオブジェクト)が違う
通常のオブジェクトがそれが属するクラスにメソッドを定義することで、それをコールできるのと同様に
Objective-CではSmalltalkやRubyなどと同様に
クラスもまた、自身が属するメタクラス(さらに上位のクラス)にメソッドを定義することでそれをコールできる
メタクラスはクラスとちがって無名なので、便宜上そのクラスへのメソッド定義(インスタンス向け)を - で、
対応するメタクラスへのメソッド定義(そのクラス自身向け)を + で表す決まりになっている
つまるところ、+ と - はそのメソッドが定義される場所(ひいてはそれをコールできるオブジェクト)が違う
976デフォルトの名無しさん
2017/11/17(金) 17:50:54.14ID:P19mM9yq UMLの-と+でインスタンスメソッドとクラスメソッドを区別するやつ
Objective-Cが由来なのかな
Objective-Cが由来なのかな
977デフォルトの名無しさん
2017/11/17(金) 17:52:10.61ID:P19mM9yq すまん間違えた
UMLの-と+はパブリックとプライベートだった
UMLの-と+はパブリックとプライベートだった
978デフォルトの名無しさん
2017/11/17(金) 18:38:09.45ID:0jV1JJrR979デフォルトの名無しさん
2017/11/17(金) 18:47:40.32ID:5PrRKVul980デフォルトの名無しさん
2017/11/17(金) 18:53:04.67ID:0jV1JJrR >>979
OOP Style だよ。まあ、OOPでいいけど
言ってるのはクラスメソッドとインスタンスメソッドは違うってだけじゃん?何をそんな小難しく読みづらいっていうw
いきなりJavaだからとかから始まって...あるとしたら、Objective-C固有のかと思ったらそうでもないし
OOP Style だよ。まあ、OOPでいいけど
言ってるのはクラスメソッドとインスタンスメソッドは違うってだけじゃん?何をそんな小難しく読みづらいっていうw
いきなりJavaだからとかから始まって...あるとしたら、Objective-C固有のかと思ったらそうでもないし
981デフォルトの名無しさん
2017/11/17(金) 19:05:43.30ID:5PrRKVul982デフォルトの名無しさん
2017/11/17(金) 19:13:50.64ID:0jV1JJrR >>981
機構/実現方法としてだろ?だから、そんなこと元々のヤツは聞いてないだろって言ってるのに。だからそゆ細かいとこをひけらかすって言ってるのに(「俺には当然」らしいけけど、なんでだったらわざわざ書くのか?)
実際インスタンスメソッドがメインでクラスメソッドなんて書く機会/必要性は割合的になくね?OOPS的にはw
でも、やっぱり必要な場合があるから、なんかあんたが違うと拘ってるけど、クラスメソッドがそれぞれの言語でもあるんだろ?
そゆ意味で元々の俺のレスだよ。なんでそれを否定して細かい違いを言ってるのかいまださっぱりわからん=知識のひけらかしにしかみえんのだけど
機構/実現方法としてだろ?だから、そんなこと元々のヤツは聞いてないだろって言ってるのに。だからそゆ細かいとこをひけらかすって言ってるのに(「俺には当然」らしいけけど、なんでだったらわざわざ書くのか?)
実際インスタンスメソッドがメインでクラスメソッドなんて書く機会/必要性は割合的になくね?OOPS的にはw
でも、やっぱり必要な場合があるから、なんかあんたが違うと拘ってるけど、クラスメソッドがそれぞれの言語でもあるんだろ?
そゆ意味で元々の俺のレスだよ。なんでそれを否定して細かい違いを言ってるのかいまださっぱりわからん=知識のひけらかしにしかみえんのだけど
983デフォルトの名無しさん
2017/11/17(金) 19:32:51.40ID:oYmLZZ1y すーぐ熱くなる
マなんてこんな奴らばかりなんだからお互い無駄に体力使うなよ
コミュニケーション以外の所に能力値振ってるから説明がヘタクソになるんだよ
解説本とかみんなそうだろ
ともあれID: KuiGlQ+Xはメリットデメリットの話する前にそれが存在する理由と
どのような使い分けがあるのかを考える方が良い
マなんてこんな奴らばかりなんだからお互い無駄に体力使うなよ
コミュニケーション以外の所に能力値振ってるから説明がヘタクソになるんだよ
解説本とかみんなそうだろ
ともあれID: KuiGlQ+Xはメリットデメリットの話する前にそれが存在する理由と
どのような使い分けがあるのかを考える方が良い
984デフォルトの名無しさん
2017/11/17(金) 19:34:13.50ID:0jV1JJrR うるせっww
985デフォルトの名無しさん
2017/11/17(金) 19:38:54.65ID:5PrRKVul986デフォルトの名無しさん
2017/11/17(金) 19:42:04.64ID:0jV1JJrR >>985
誰になに言ってるのか不明すぎ
「クラスメソッドの価値を見いだせない」とかいきなり。誰も不要なんて言ってないけど?必要な場合があるって言ってるじゃん?ああ、「なんだか知らんが必要な場合があるんだろうな」と俺が言っているととっているのか??んー、だったら、すげえなww
なんだかどうしても俺を下に見下したいだけにしか見えないんだけど?数スレ前からずっと
誰になに言ってるのか不明すぎ
「クラスメソッドの価値を見いだせない」とかいきなり。誰も不要なんて言ってないけど?必要な場合があるって言ってるじゃん?ああ、「なんだか知らんが必要な場合があるんだろうな」と俺が言っているととっているのか??んー、だったら、すげえなww
なんだかどうしても俺を下に見下したいだけにしか見えないんだけど?数スレ前からずっと
987デフォルトの名無しさん
2017/11/17(金) 19:51:55.22ID:i5UkdOT+ これはID:5PrRKVulがきしょい
988デフォルトの名無しさん
2017/11/17(金) 19:54:52.75ID:5PrRKVul989デフォルトの名無しさん
2017/11/17(金) 19:58:05.03ID:5PrRKVul たぶん自慢げに語るそのOOPSwとやらの説明すらまともにできないのでは?との想像に難くないレベルの低さ
990デフォルトの名無しさん
2017/11/17(金) 20:02:14.50ID:0jV1JJrR >>988
OOPと書かなきゃダメなのか?まあ、一時的にOOPSもあったんだよ。知らないだろうけど
たかがそれだけのことで全否定できるって、さすが細かいとこにこだわるお人だなあ&くだらなさすぎ&本来の話題が逸れすぎだと思うぞ。なんかあんたが心配(自ら自らを貶めているようでw)
長引くようだったら次スレたててw
OOPと書かなきゃダメなのか?まあ、一時的にOOPSもあったんだよ。知らないだろうけど
たかがそれだけのことで全否定できるって、さすが細かいとこにこだわるお人だなあ&くだらなさすぎ&本来の話題が逸れすぎだと思うぞ。なんかあんたが心配(自ら自らを貶めているようでw)
長引くようだったら次スレたててw
991デフォルトの名無しさん
2017/11/17(金) 20:11:22.65ID:oYmLZZ1y 相手を理解しようとしないで自分のペースでしか話せないと苦労するだろう
ようはOOPSって
Object Oriented Programming Styleでしょ?
つまりオブジェクト指向プログラミングについて学べと言ってるんじゃ無いの?
ID:KuiGlQ+Xは、メリットデメリットって言ってるとこからして
オブジェクトを生成するってことを理解してないレベルの話だよねこれ
まずインスタンスにアクセスした事無いからインヘリタンスとか関係ない所でメリットについて疑問が湧いちゃったんだろうし
ようはOOPSって
Object Oriented Programming Styleでしょ?
つまりオブジェクト指向プログラミングについて学べと言ってるんじゃ無いの?
ID:KuiGlQ+Xは、メリットデメリットって言ってるとこからして
オブジェクトを生成するってことを理解してないレベルの話だよねこれ
まずインスタンスにアクセスした事無いからインヘリタンスとか関係ない所でメリットについて疑問が湧いちゃったんだろうし
992デフォルトの名無しさん
2017/11/17(金) 20:15:45.26ID:0jV1JJrR993デフォルトの名無しさん
2017/11/17(金) 20:29:25.96ID:KuiGlQ+X うーん、さっぱりわからないです。すみません。
とりあえずViewcintrollerでは-、汎用クラスは+で使い分けてたんですが、+のがメモリ食わないなら、なるべく+使っとけばいいんでしょうか
とりあえずViewcintrollerでは-、汎用クラスは+で使い分けてたんですが、+のがメモリ食わないなら、なるべく+使っとけばいいんでしょうか
994デフォルトの名無しさん
2017/11/17(金) 20:35:49.15ID:Q8rdVBz+ このかなり根本的なとこから理解してない感w
995デフォルトの名無しさん
2017/11/17(金) 20:37:15.26ID:oYmLZZ1y Viewcintrollerでメモリ使ってるんだから
Viewcintroller内で使うメソッドをメモリのためだけにクラスメソッドにする意味は無いし無意味
といってもまずインスタンスについて理解してないと、この話は進まないだろう
あなたの言う+を使ったメソッドで運用出来てるならそれで良いしそのうち躓くだろうから
そこで気づければ良いね
としか言えない感じの大きな壁があるように感じる
Viewcintroller内で使うメソッドをメモリのためだけにクラスメソッドにする意味は無いし無意味
といってもまずインスタンスについて理解してないと、この話は進まないだろう
あなたの言う+を使ったメソッドで運用出来てるならそれで良いしそのうち躓くだろうから
そこで気づければ良いね
としか言えない感じの大きな壁があるように感じる
996デフォルトの名無しさん
2017/11/17(金) 20:46:44.49ID:KuiGlQ+X クラスは設計図、インスタンスはクラスに基づいて作られた実体と聞きました。
設計図メソッドと実体メソッド?
どっちもおなじことできてるんでなんだろ?と思いました
設計図メソッドと実体メソッド?
どっちもおなじことできてるんでなんだろ?と思いました
997デフォルトの名無しさん
2017/11/17(金) 21:16:54.72ID:Eetf/DNi クラスをメモリーにロードするとインスタンスになるという説明だと
どんな問題が起こるだろうか。
どんな問題が起こるだろうか。
998デフォルトの名無しさん
2017/11/17(金) 21:17:37.30ID:oYmLZZ1y 次スレ
Objective-C [ObjC part:9];
http://mevius.2ch.net/test/read.cgi/tech/1510920033/
リンク多いな
リンク切れは修正or代替サイトに変更しといた
即死回避何個だ?
Objective-C [ObjC part:9];
http://mevius.2ch.net/test/read.cgi/tech/1510920033/
リンク多いな
リンク切れは修正or代替サイトに変更しといた
即死回避何個だ?
999デフォルトの名無しさん
2017/11/17(金) 21:46:24.64ID:KuiGlQ+X ググッてみました。
クラスの中のメソッド間で値の受け渡しが出来るのは、クラスメソッドのメリットですね。
でもインスタンメソッドでも@interfaceで変数定義したら受け渡しができちゃう。
うーん、インスタンスメソッドでいけるとこまでいけば道が開けるんですね
やってみます
クラスの中のメソッド間で値の受け渡しが出来るのは、クラスメソッドのメリットですね。
でもインスタンメソッドでも@interfaceで変数定義したら受け渡しができちゃう。
うーん、インスタンスメソッドでいけるとこまでいけば道が開けるんですね
やってみます
1000デフォルトの名無しさん
2017/11/17(金) 21:48:09.39ID:oYmLZZ1y10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1112日 8時間 12分 52秒
新しいスレッドを立ててください。
life time: 1112日 8時間 12分 52秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★2 [Hitzeschleier★]
- 「暖房が使えない」「食費が高くて子どもの栄養が…」 物価高に苦しむ子育て世帯、政府に期待する支援は [蚤の市★]
- 【米国】「トランプ・ゴールドカード」の受付開始 1億5600万円でアメリカの永住権を獲得 ウェブサイトで申し込み [ぐれ★]
- 【東京】テレ朝本社から社外スタッフの男性が転落し死亡 テレビ朝日がコメント 通行人の男性巻き込まれ軽傷 六本木 [ぐれ★]
- パワフル女性世界3位に高市首相 米誌フォーブス選出 [蚤の市★]
- 高市首相、トランプ米大統領に「早期に会いたい」 日中関係悪化受け… ★5 [BFU★]
- 高市「野党はもう債権とか為替の話はしないで!よく分からないから答えない!」 [884040186]
- エナジードリンク、危険だった。飲酒喫煙もせずランニングが趣味の54歳の若者が毎日たった8本飲むだけで脳卒中に [742348415]
- Twitter医師ら「死ぬほど勉強して博愛精神求められるとかそらみんな美容外科なるわ。嫌なら普通の医療も保険診療廃止しろ!」 [762037879]
- はるととかいうスマブラやってる不登校のガキしね
- 【サナ活】高市さん、米国でも大人気な模様。パワフル女性世界3位に高市首相 米誌フォーブス選出 [535898635]
- ホロライブvtuberさん、ソシャゲに登場するも演技力で界隈に衝撃が走る [329329848]
