- 1 名前:デフォルトの名無しさん [2009/04/15(水) 00:11:00 ]
- Objective-C(オブジェクティブ シー)はプログラミング言語の一種。C言語をベースにSmalltalk型のオブジェクト指向機能を持たせた上位互換言語。
(Wikipedia:ja.wikipedia.org/wiki/Objective-C より) 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
- 883 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 22:04:45 ]
- @interface MyObject : NSObject
+ (void)hoge; - (void)piyo; @end @implementation MyObject + (void)hoge { NSLog(@"hoge");} - (void)piyo { NSLog(@"piyo");} @end @interface MyMyObject : MyObject @end @implementation MyMyObject + (void)hoge { NSLog(@"hogehoge");} - (void)piyo { NSLog(@"piyopiyo");} @end @interface MyMyMyObject : MyMyObject @end となってて、MyMyMyObject で祖父クラスのメソッドを呼ぶ時って、 @implementation MyMyMyObject クラスメソッドの場合はコレで良いとして、 + (void)hoge { [[[self superclass] superclass] hoge]; } インスタンスメソッドの場合は、IMP取得くらいしかないのかね? - (void)piyo { IMP imp = class_getMethodImplementation([[self superclass] superclass], _cmd); (*imp)(self, _cmd); } @end supersuper とか無いし。
- 884 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 10:24:01 ]
- >>883
親でover-rideされてるにも関わらず祖父を直接見るなんて、そもそもの設計が大間違いなのでは? と Obj-C 初心者が言ってみる。
- 885 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 10:40:05 ]
- メッセージングでやる場合。
- (void) piyo { struct objc_super superSuper = {self, [[self superclass] superclass]}; objc_msgSendSuper(&superSuper, _cmd); } あとは、class_replaceMthod 等でメソッド入れ替えなども可。
- 886 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 12:46:27 ]
- [[self superclass] superclass]とかやると、
MyMyMyObjectのさらにサブクラスを作ったときにハマるな。
- 887 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 16:42:25 ]
- [self superclass] == [super superclass] であることを知って驚いた14の春
- 888 名前:デフォルトの名無しさん [2010/05/01(土) 11:17:15 ]
-
- 889 名前:デフォルトの名無しさん mailto:sage [2010/05/01(土) 11:55:50 ]
- >>887
ほんとだ。なんでこうなるの?
- 890 名前:デフォルトの名無しさん [2010/05/01(土) 20:43:49 ]
- superclassメソッドをサブクラスでオーバーライドしないかぎり、[self superclass]とやっても、[super superclass]とやっても、呼び出されるメソッドは同じ。
さらに、[self superclass]も[super superclass]も、レシーバーはselfになる。 詳しくは、Objective-Cのruntime APIを見てください。
- 891 名前: [―{}@{}@{}-] デフォルトの名無しさん mailto:sage [2010/05/06(木) 17:31:55 ]
- >>883
祖父クラスが基本的なメソッドを提供していて、子クラスでオーバーライドしたんだけど 孫からも基本的な処理へのアクセスが必要だというような場合は祖父クラスで hoge を basicHoge として別名でも提供しておくという Smalltalk 流の作法で済ませられない?
- 892 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 00:40:25 ]
- スレ違いかもしれませんが質問ですm(_ _)m
NSData型の変数に4バイト、例えば 0x00 0x00 0x00 0x7F と入ってる場合、これをInt型の127に変換するには どうすればいいのでしょうか?
- 893 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 01:37:17 ]
- int a = CFSwapInt16(*(SInt32*)[data byte]);
- 894 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 01:39:00 ]
- ミスった
- 895 名前:892 mailto:sage [2010/05/09(日) 12:02:34 ]
- 回答&ヒントありがとうございます。
int a = CFSwapInt32HostToLittle(*(SInt32*)[data bytes]); で、まだ意味はぼんやりとしか分かってないですが、 無事期待の動作が得られました。
- 896 名前:デフォルトの名無しさん [2010/05/18(火) 10:45:41 ]
- 質問です。iPhone用プログラムを書いていますが。
NSInteger index = random() % count; NSInteger index2 = random() % count; while(index2 == index) {//同じにならないように NSInteger index2 = random() % count; } とやって、二種類のランダムな数字を発生させようとしていますが、 何度かランダム数を発生させるとプログラムがストップしてしまいます。 なにがいけないのでしょうか。どなたかご教授願います。
- 897 名前:デフォルトの名無しさん mailto:sage [2010/05/18(火) 10:55:35 ]
- NSInteger index = random() % count;
NSInteger index2 = random() % count; while(index2 == index) {//同じにならないように NSInteger index2 = random() % count; // このindex2と前のindex2は別物 } 一つ目のindex2と二つ目のindex2は別物です。 while(index2 == index) {//同じにならないように index2 = random() % count; // 宣言しない } としてください。 // 変数が隠されてしまっている とか警告出ませんでした? // 変数スコープとかその辺の話も調べてね
- 898 名前:デフォルトの名無しさん mailto:sage [2010/05/18(火) 10:55:36 ]
- 日本の未来が心配です。
- 899 名前:デフォルトの名無しさん mailto:sage [2010/05/18(火) 11:06:39 ]
- あまりにもあんまりな問いで最初何が駄目なのかわからなかった
- 900 名前:896 mailto:sage [2010/05/18(火) 11:35:51 ]
- >>897
うぉぉ、当たり前ですよね。コピペしてたのが間違いでした。 ホントにあんまりな質問に回答して頂き、ありがとうございました。感謝感激です。 あ〜恥ずかしい。
- 901 名前:デフォルトの名無しさん [2010/05/18(火) 14:20:24 ]
- すみません、質問させてください。
iPhone用アプリのプログラムを最近始めた初心者です。 <質問> iPhoneから外部DB(postgreSQL)に接続する手法がわかりません。 色々調べましたがピンと来なかったのですが、Object-Cから直接DBConnect するような方法は無いのでしょうか? XCode自体、初心者なのでよくわからないのですが、 1. Ruby?を利用する 2. java+JDBCを利用する のような感じになるのでしょうか。 ヒントだけでも教えていただけたら助かります。 宜しくお願い致します。
- 902 名前:デフォルトの名無しさん mailto:sage [2010/05/18(火) 14:46:11 ]
- ググレカス
- 903 名前:デフォルトの名無しさん mailto:sage [2010/05/18(火) 15:11:38 ]
- この質問前どっかで見た気がする
- 904 名前:デフォルトの名無しさん [2010/05/18(火) 17:10:02 ]
- 質問です。
UIScrollViewで画面より大きい画像を表示しているとき、画面に写っているのは、 ScrollView上でどの位置(座標)なのかを取得するにはどうしたら良いでしょう? 検索をしても、タッチした座標の検出しかわかりませんでした。 よろしくお願いします。
- 905 名前:デフォルトの名無しさん mailto:sage [2010/05/18(火) 17:31:23 ]
- スレチ。
- 906 名前:デフォルトの名無しさん [2010/05/21(金) 15:12:54 ]
- 基本的なことなのですが、いろいろ調べてもわからなかったので質問させてください。
あるファイル(A.m)から、別のファイル(B.m)のクラス( -(void)test{...} )にアクセス するにはどうしたら良いのでしょうか? B.hをA.mにimportして、A.m内で[self test]とやってみましたが、警告が出てうまく ビルドできませんでした。 低レベルな質問ではありますが、よろしくお願いします。
- 907 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 15:35:06 ]
- >>906
自分も初心者だけど、A.m内でBのインスタンスを作ってないんじゃ? A.m内で[self test]ってしても、selfはAのインスタンス自身を参照するよ。 testメソッド(objCはメッセージだっけ?)を持っているのがBのインスタンスだからできないんじゃないかな。
- 908 名前:906 mailto:sage [2010/05/21(金) 15:47:12 ]
- >>907
ありがとうございます。できました。 今まで何となく使ってた、selfの意味をようやく理解しました。
- 909 名前:デフォルトの名無しさん mailto:sage [2010/05/24(月) 23:47:32 ]
- NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
@try { ここで例外発生。 } @catch (NSException * e) { NSLog(@"%@ @catch in %@", e, NSStringFromSelector(_cmd)); @throw; } @finally { [pool release]; } で、上位のレベルで例外を受ける時、例外は pool に登録されるせいで、@finally 中の [pool release]; で解放されちゃって、 上位のレベルで例外を触るとバッド・アクセスになる。 例外発生時に pool がメモリリークするから @finally に入れたのだが、逆にこんな問題が出てくるとは。 NSAutoreleasePool を作らないという選択肢以外に、何かリークしない上手い対処法無いかな? @throw; しないで、上位には NSError で渡すとか考えてるけど。 例外処理とか今まで殆ど触ったこと無いから、勝手が分からない。
- 910 名前:デフォルトの名無しさん mailto:sage [2010/05/25(火) 00:07:47 ]
- >>909
例外処理に悩むならException Programming Topics for Cocoa くらいは嫁。その中の Exception Handling and Memory Managementに、まさしく あなたが悩んでいることについて書いてある。ピックアップすると The simplest is to refrain from releasing local autorelease pools in @finally blocks もっとも簡単な方法はfinalyブロックでローカルなプールを使うなってこと。
- 911 名前:デフォルトの名無しさん mailto:sage [2010/05/25(火) 00:18:05 ]
- >>910
申し訳ない。その辺の文章は全て和訳されてるとばかり。 developer.apple.com/mac/library/documentation/cocoa/conceptual/Exceptions/Tasks/HandlingExceptions.html おお、素晴らしい。savedException を使います、成る程ね。 ありがとうございました。
- 912 名前:910 mailto:sage [2010/05/25(火) 00:22:43 ]
- じゃあどこでpoolをreleaseするのか不安に思ってるかもしれないので、
追記。 Autorelease poolはスタック状のデータ構造になっていて、 最上位でないAutorelease poolが解放されると、それより上の 内側のpoolおよびそれに登録されたオブジェクトはリリースされる (Memory Management Programming Guide for Cocoa; Scope of Autorelease Pools and Implications of Nested Autorelease Pools 参照) Cocoa/Objective-Cでinitとreleaseの対応は金科玉条 (破るとすなわちメモリリーク) だけど、autorelease pool自体はinitとreleaseが厳密に対応していなくても許容される…みたい。下層のpoolがreleaseされるのが前提だけど。
- 913 名前:デフォルトの名無しさん mailto:sage [2010/05/25(火) 13:51:57 ]
- @interface MyAutoreleasePool : NSObject {
NSAutoreleasePool *_pool; NSPointerArray *_buf; } - (void)throwToOuterPool:(id)obj; @end @implementation MyAutoreleasePool - (id)init { self = [super init]; if (self) { _pool = [[NSAutoreleasePool alloc] init]; _buf = [[NSPointerArray alloc] initWithOptions: NSPointerFunctionsZeroingWeakMemory]; } return self; } - (void)throwToOuterPool:(id)obj { [_buf addPointer: [obj retain]]; } - (void)dealloc { [_pool release]; for (id obj in _buf) [obj autorelease]; [_buf release]; [super dealloc]; } @end こんなん作って、@catch 中で [pool throwToOuterPool: e]; するコトにしたよ。
- 914 名前:デフォルトの名無しさん mailto:sage [2010/05/26(水) 20:50:57 ]
- Objective-Cの逆コンパイラってありますか?
- 915 名前:デフォルトの名無しさん mailto:sage [2010/05/26(水) 22:14:33 ]
- 何悪いこと企んでるんだ?
- 916 名前:デフォルトの名無しさん mailto:sage [2010/05/27(木) 10:14:52 ]
- 今月で販売が終了してしまうプリンタのドライバを逆コンパイルしたい。
- 917 名前:デフォルトの名無しさん mailto:sage [2010/05/27(木) 13:42:00 ]
- Objective-CってコンパイルしちゃうとCと区別付かないよね
Objective-C特有の関数呼び出しが多数現れるけど
- 918 名前:デフォルトの名無しさん mailto:sage [2010/05/27(木) 18:00:29 ]
- ObjC で書かれたドライバなんてあるの…
- 919 名前:デフォルトの名無しさん mailto:sage [2010/05/27(木) 18:27:40 ]
- 馬鹿はレスしなくていいです
- 920 名前:デフォルトの名無しさん mailto:sage [2010/05/27(木) 19:56:19 ]
- >>917
ObjC 特有の関数呼び出しが多数現れるから、コンパイルしても C と区別付くよ。
- 921 名前:デフォルトの名無しさん mailto:sage [2010/05/27(木) 20:44:33 ]
- >>920
そうじゃなくて、>914へのヒントだよ
- 922 名前:デフォルトの名無しさん mailto:sage [2010/05/27(木) 20:46:36 ]
- ObjC のメッセージ呼び出しを解釈するデコンパイラが有っても良いと思うよ?
- 923 名前:デフォルトの名無しさん mailto:sage [2010/05/27(木) 22:12:38 ]
- code-dump.sourceforge.net/
- 924 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 02:21:48 ]
- 今まで色々書いてきて萩原本の内容を一通り制覇したけど、「分散オブジェクト」だけは未だどう利用すればいいのか分からない。
どういう処理に使ったとか、実践的・実用的な利用例があったら教えてくれ。
- 925 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 02:22:16 ]
- 経験談とか。
- 926 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 13:32:29 ]
- すでにコンパイルされたiPhoneのアプリを
c#のように解析することはできますか?
- 927 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 14:04:48 ]
- >>926
>c#のように 具体的に何がしたいの?
- 928 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 14:54:53 ]
- >>927
ソースみて参考にしたいのです 特に規約とかないようなので
- 929 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 15:05:25 ]
- Objective-C なら結構動的に動いてる部分があるので
逆コンパイルもそれなりな形にできそうだけど いかんせん逆コンパイラが作られるほど有名な言語でもないというのが
- 930 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 15:07:21 ]
- >>928
デコンパイルしたいってことか。 残念ながら iPhone アプリのデコンパイラは知りません。 アプリの動きを知りたいなら、Instruments でカスタム DTrace スクリプトを書くのが一番良いと思います。
- 931 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 15:18:44 ]
- >>928
コーディング規約なら一応あるよ。 Coding Guidelines for Cocoa developer.apple.com/mac/library/documentation/Cocoa/Conceptual/CodingGuidelines/CodingGuidelines.html あと、 /Developer/Examples の中にサンプルソース(TextEditとか)が 入っているので、参考になるかもよ。
- 932 名前:931 mailto:sage [2010/06/06(日) 15:20:47 ]
- Cocoaスレと間違えた。めんご
- 933 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 15:42:47 ]
- 規約がないってのは
リバースエンジニアリングを禁止する規約がないって意味でしょ
- 934 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 16:10:28 ]
- 見落としてるだけだろ
- 935 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 22:38:46 ]
- いや、パクる気満々だな
- 936 名前:デフォルトの名無しさん [2010/06/08(火) 07:45:09 ]
- いえ、解析してそのゲームでチートしようと思ってます
- 937 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 08:02:20 ]
- ageんな死ね。
- 938 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 15:25:24 ]
- Objective-Cでは、厳密にprivateやpublicと明示的に記述し、スコープ分けしないのでしょうか?
入門書を何冊か読んだのですが、どれもインスタンス変数のスコープ分けをしていないので、気になっています。
- 939 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 15:27:26 ]
-
@interface AClass : NSObject {
- 940 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 17:01:09 ]
- そのあたりに言及してるのは荻原本ぐらいじゃないかな
- 941 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 17:26:05 ]
- @privateでもKVCとかでアクセスできるし
プライベートであるという表明だけは出来るけど 静的チェックは甘いよね。
- 942 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 10:11:59 ]
- >>940-941
ありがとうございます。 自分はJavaやってから始めたので、クラス内でしか使わない変数を隠蔽していないと どうも気になってしまって…。 荻原本は読みました。解説はしてるのですが、以降の章のサンプルコードでは積極的に 使ってませんよね。>>941さんがおっしゃるように、 「スコープ分けしてもKVCでどうせアクセスできるんだから、細かい事は気にすんな」 って事なのでしょうかね。
- 943 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 12:11:55 ]
- 表明するのは大事だよ
通常アクセスならエラーが出るし、 迂闊に触ってしまうことへの注意喚起も出来るから それで慣れている人は続ける方がいいよ Appleのやり方も色々だよね。 昔から有るクラスはコメントで「privateだ」って書いてあったり idな型不明のオブジェクトに隠蔽したり @privateで宣言したり。
- 944 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 13:06:02 ]
- >>943
なるほど、ありがとうございます。 書いている方が安心できるので、書く事にします。 少しでも単純なバグを減らせるなら、これを書くぐらいなんとことないですしね。 id型で思い出しましたが、参考書はかなりid型を使っていますが、Objective-Cは動的型結合があるのでid型で書いた方が、何かと都合が良いのでしょうか。 「ここは絶対hoge型でしょう」みたいな箇所でid型を使うのは、Javaのような静的型付け言語に慣れ親しんでいた私の身には抵抗がありまして…。 「ごちゃごちゃ言う前に慣れろ」と言われれば、それまでなんですけど、ハイ…。
- 945 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 14:24:18 ]
- 荻原本持ってるなら64ページに静的な型について書いてあるよ。
「明確な指針はないので好きにすれば良い」みたいなことが書いてある。 俺はクラス型を指定すると、コンパイル時に警告を出してくれるメリットがある のでどんどん使っていけば良いと思うよ。 ただ、コンパイル時には静的な型チェックを行ってくれるが、実行時にはすべて id型になっているということがJavaとは違うので注意。 id型の代わりにクラス型を指定したせいでデメリットが生まれることはあまり ないと思われる。
- 946 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 14:35:23 ]
- >>945
ありがとうございます。書いてました。申し訳無いです。 >ただ、コンパイル時には静的な型チェックを行ってくれるが、実行時にはすべて >id型になっているということがJavaとは違うので注意。 この違いは大きいですね。注意します。ありがとうございました。
- 947 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 15:10:05 ]
- >>943
WebViewはちょっと面白いよね。 @privateでWebViewPrivateクラスのインスタンス変数を持ってるだけだし、 WebViewPrivateクラスの実装とかはなぜかWebViewDataにある。
- 948 名前:デフォルトの名無しさん [2010/06/11(金) 16:03:43 ]
- CFIndex型の変数indexに、どんな値が入っているか見ようと思うのですが、
NSLog("%O", index); としましたが、ポインタコンパチブルなんたらと怒られました。 何が間違っているのでしょうか?と質問しようとして、 よく見たら、1つ目の引数のポインタが型違うやんみたいなことを言われました。 NSLog(@"%O", index); としたら、うまく行きました。自己解決しました。ありがとうございました。 以前にもこういうミスがありまして、こういうミス起きないようにするには どうすればよいでしょうか。変な質問ですがよろしくお願いします。
- 949 名前:デフォルトの名無しさん mailto:sage [2010/06/11(金) 16:50:47 ]
- 文字列の前には@を付けると頭に叩き込むしかないんじゃないかな。
- 950 名前:デフォルトの名無しさん mailto:sage [2010/06/11(金) 20:30:49 ]
- >>948
一度遭遇したエラーや警告を、その原因、対処方法とともに意識して憶えていく努力をする。
- 951 名前:デフォルトの名無しさん mailto:sage [2010/06/11(金) 20:37:59 ]
- 次に948は、
CFIndex型の変数indexに、どんな値が入っているか見ようと思うのですが、 printf(@"%O\n", index); としましたが(ry
- 952 名前:948 [2010/06/12(土) 14:48:06 ]
- みなさんアドバイスありがとうございます。
>>949 「あっと驚くNSString」これで頭に叩き込もうと思います。 頭に叩き込んでいたら怪我をしてしまいまして、これから病院に行ってきます。 >>950 そうですよね。がんばります。 >>951 次は無いようにしたいですね。 そこで新たな質問ですが、 NSLog(@@"%O", index); のところでエラーが出ます。 原因はなんでしょうか?
- 953 名前:デフォルトの名無しさん mailto:sage [2010/06/12(土) 14:56:21 ]
- バカかお前は。
- 954 名前:デフォルトの名無しさん mailto:sage [2010/06/12(土) 23:08:40 ]
- バカの相手するのもなんなんだが、log って打って補完すれば NSLog(@""); って補完してくれて "" の中にキャレット動かしてくれるぞ
- 955 名前:デフォルトの名無しさん mailto:sage [2010/06/13(日) 06:40:53 ]
- >log って打って補完すれば NSLog(@"");
俺、べつのバカだけど、そうなんだ!べんりだなー
- 956 名前:デフォルトの名無しさん mailto:sage [2010/06/17(木) 23:18:32 ]
- すみません 非常に初歩的で申し訳ないんですが、iphone ipadのプログラムがしたいと思い、windowsに>>15の
www.gnu.org/software/gnustep/experience/Windows.htmlの通りインストールしたんですが、shellのコマンドがわかりません というかみなさんMACでやってるんですか? iphone ipad の用プログラミングでvisual C++みたいなのありませんか?
- 957 名前:デフォルトの名無しさん mailto:sage [2010/06/17(木) 23:21:02 ]
- スレチ。というか Mac も持ってないのにコード書いても意味ないだろ。
- 958 名前:デフォルトの名無しさん mailto:sage [2010/06/17(木) 23:30:07 ]
- >>957
そうなんですか 初級過ぎてすみません>< アップル公式のSDKもよく見たらMAC限定みたいですね 出直してきます
- 959 名前:デフォルトの名無しさん mailto:sage [2010/06/17(木) 23:44:33 ]
- ちょっとわらった
- 960 名前:デフォルトの名無しさん mailto:sage [2010/06/18(金) 09:45:40 ]
- ttp://code.google.com/p/json-framework/wiki/InstallationInstructions
ここのOption 3を見ながらJSON-Frameworkを使ってMacアプリでテストを行おうとしているのですが、うまくいかずに困ってます。 フレームワークをプロジェクトに追加したので、3.までは終わってると思うのですが、 4の意味がわかりません。これは何をすれば良いのでしょうか?
- 961 名前:デフォルトの名無しさん mailto:sage [2010/06/18(金) 10:31:17 ]
- >>960
サイドバーの 「ターゲット」を展開→アプリ名になってる項目を右クリック→「追加」→「新規ビルドフェーズ」→「新規コピーファイル」 開いたパネルの「デスティネーション」を「フレームワーク」に設定 アプリ名の項目を展開→「ファイルをコピー」の上に JSON.framework をドロップ
- 962 名前:デフォルトの名無しさん mailto:sage [2010/06/18(金) 10:34:45 ]
- JSON.framework は実際のファイルではなくて
サイドバーの <プロジェクト名>/Frameworks 項目の中に入ってるやつ
- 963 名前:デフォルトの名無しさん mailto:sage [2010/06/18(金) 11:07:33 ]
- >>961-962
ありがとうございます。前進できました。 ビルドすると、JSON Frameworkのいくつかのファイルが見つからないというエラーが出ましたので、 私の設定のどこかがまずいのでしょう。 頑張って潰したいと思います。
- 964 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 18:46:22 ]
- 楽しいココアのレヴューにこういう↓のあったんだが、実際のところどう?
あと萩原本以外にいいのないですか?自分はCは中級くらいやれてます ********************* Leopardにアップグレードしてしまった方、 この本は使えません。Xcode Toolに大幅な変更があったからです。 まだTigerを使っている方。この本は貴方のためのものです。 本の通り作業して行けばCocoaのいろはのい位まではモノになるはずです。
- 965 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 19:47:48 ]
- スレチ。
- 966 名前:964 mailto:sage [2010/06/21(月) 20:09:39 ]
- すみませんでした 新macのcocoaスレ行ってきます
- 967 名前:デフォルトの名無しさん [2010/06/24(木) 03:59:04 ]
- yomi.bbspink.com/test/read.cgi/ascii2d/1275848135/225
採用
- 968 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 22:15:30 ]
- codepad.org/H3j8eTAB
このコードで、どのNSLogも出力されないんだが何か間違ってる? これじゃNSOperationQueueを使う意味がないのは承知の上。
- 969 名前:968 mailto:sage [2010/06/28(月) 17:59:49 ]
- Appleで聞いてくる
- 970 名前:デフォルトの名無しさん [2010/06/29(火) 18:10:59 ]
- V V
(´・ω・`) うさちゃんピース
- 971 名前:デフォルトの名無しさん [2010/07/02(金) 05:44:56 ]
- すみません。
1ヶ月未満の初心者なんですが、初歩的なことでつまずいています。 ヘッダファイルで @interface PListReadViewController : UIViewController { NSArray* persons; } @property(nonatomic,retain) NSArray* persons; で、ソースファイルで @synthesize persons; -(void)hogehage{ NSBundle* bundle = [NSBundle mainBundle]; NSString* path = [bundle pathForResource:@"test" ofType:@"plist"]; NSArray* persons = [NSArray arrayWithContentsOfFile:path]; } としてるんですが、hogehageのpersonsはローカル変数として扱われてしまうみたいですね。 interfaceで定義してるpersonsに、パッケージにバンドルされてるplistを配列として展開して、 別の関数内でpersonsを使いたいんですけど、どうしたらいいんでしょうか?
- 972 名前:971 mailto:sage [2010/07/02(金) 06:11:49 ]
- できました!
ttp://www15.plala.or.jp/NovemberKou/programming/2ndGeneration/2ndHome/RMGWindowController/fixCrashDnD.html を参考にしました。 NSArrayの使用サンプルはみんな、1関数内で処理が終了してるものばかりで、なかなか見つかりませんでした。 おじゃましました。
- 973 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 18:57:59 ]
- [NSHoge hoge~~] ってのは自動で autorelease に登録されてると覚えよう。
- 974 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 20:38:07 ]
- とは限らないけどね
|

|