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
■ このスレッドは過去ログ倉庫に格納されています
2014/11/01(土) 13:35:17.70ID:12FSUUrY
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 {} ちゃんと呼ばれる?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「1800万円の売り上げゼロに…」中国インバウンドに特化の宿の今 [蚤の市★]
- 「中国人の訪日熱は冷めた」 人気旅行先から日本外れる 14日で自粛呼びかけ1カ月 [蚤の市★]
- クリスマスの「予定なし」54% [少考さん★]
- 最新版Z級クソ映画ランキングが決定! [牛丼★]
- 日銀0.75%に利上げへ、30年ぶりの水準に 19日金融政策決定会合 [蚤の市★]
- 【話題】好きな鍋は?! 「寄せ鍋」「キムチ鍋」「水炊き」「もつ鍋」「豆乳鍋」「ちゃんこ鍋」「ごま坦々鍋」「トマト鍋」 [ひぃぃ★]
- 【実況】博衣こよりのえちえち機動戦士ガンダム逆襲のシャア🧪★2
- 【実況】博衣こよりのえちえち機動戦士ガンダム逆襲のシャア🧪★3
- ネトウヨ「日本産のキムチは食べるけど!?😤」⇦すまんこれなんだったの?日本産キムチとか甘ったるくて不味いだろ… [271912485]
- 立憲・野田代表、内閣不信任案は提出しないと表明「高市内閣は頑張ってる。まだ発足2ヶ月だし時期尚早」と半分激励 [597533159]
- 愛国者「釘を使わない日本独自の伝統工法スゴイ!」X民「それ中国起源ですよ」→批判殺到 [834922174]
- 茶ぁしばこうや···
