【Cocoa】Macプログラマのスレ【Objective-C】

このエントリーをはてなブックマークに追加
1仕様書無しさん
Apple Developer Connection
http://developer.apple.com/jp/

関連スレ
Macでプログラミング{8}
http://pc11.2ch.net/test/read.cgi/mac/1195385771/

Objective-C [ObjC part:3];
http://pc11.2ch.net/test/read.cgi/tech/1186543111/

【マック】Macintoshプログラミング質問箱
http://pc11.2ch.net/test/read.cgi/tech/1113058054/

Cocoaはさっぱり!!! version.X(10)
http://pc11.2ch.net/test/read.cgi/mac/1211290055/

Xcode part6
http://pc11.2ch.net/test/read.cgi/mac/1201693264/
2仕様書無しさん:2008/06/23(月) 17:19:43
[NSNumber numberWithInt:2];
3仕様書無しさん:2008/06/23(月) 17:22:05
http://dqname.jp/index.php?md=top&c=ko
DQN度ランキング
枯子亜(ここあ) 94
可可(ここあ) 94
聖愛(ここあ) 94
湖冴空(ここあ) 94
想愛(ここあ) 93
虎斗吾(ここあ) 93
希々葵(ここあ) 93
4仕様書無しさん:2008/06/23(月) 17:25:52
ほか
恋姫亜 恋々愛 紅香麻 虹空 湖冴空 心空 香々愛 
心暖 瑚々明 湖々葵 心温 心々愛 心厚 心明 
心愛 琥々愛 心天 心杏 心彩 胡々杏 心亜 
心愛 胡杏 心空 恋央 
5仕様書無しさん:2008/06/23(月) 17:30:02
凛心(りんご) 90
倫子(りんご) 42
鈴恋(りんご) 41
林檎(りんご) 33
鈴瑚(あっぷる) 94
星(あっぷる) 93
真都玖(まっく) 33
6仕様書無しさん:2008/06/23(月) 20:06:10
なんでここにたてるの?
7仕様書無しさん:2008/06/23(月) 20:52:15
iPhone発売後はともかく、今仕事でやっている奴っているのか?
8仕様書無しさん:2008/06/23(月) 21:52:40
いなかったら今出てるアプリは勝手に湧いてきたのかい?
9仕様書無しさん:2008/06/24(火) 00:54:52
趣味じゃないの?
10仕様書無しさん:2008/06/24(火) 00:56:32
はいはい。




全部俺が作りました。








11仕様書無しさん:2008/06/24(火) 05:46:31
Cocotronつこうたやついる?
12仕様書無しさん:2008/06/24(火) 10:36:31
>>7
Sega の Monkey Ball 開発担当のオレが来ましたよ。冗談だけど。
ほんとに iPhone 開発者さん降臨きぼう。
13仕様書無しさん:2008/06/29(日) 23:37:56
Mac向け技術って数年後にはいつも消滅するのがなあ。
Winだったら陳腐化こそすれ完全に消滅にはならんでしょ。
QuickDraw GX、Opendoc、GameSprockets……。
まあどっちみち現状のOS Xにはまったく魅力を感じないんだが。(笑)
「あえてWinではなくMacを選ぶ理由」って今や無くなったよねえ。
OS 9とWin MEの世代まではGUIで一日の長を感じたが、それ以降は……。
14仕様書無しさん:2008/06/30(月) 06:45:29
貴重で希少な意見だな、参考にはならんが。
15仕様書無しさん:2008/06/30(月) 08:14:08
この手のこと言う奴がOpenDocのパーツエディタ作ったとか
QuickDraw GX必須のソフト書いたとかきいたことがねーな。
あの頃から頭が固いのは変わらないんじゃないか?
16仕様書無しさん:2008/06/30(月) 22:52:56
>>13
Cocoaなんて、20年前からあるが。
17仕様書無しさん:2008/06/30(月) 23:48:01
>>16
10年前はYellow Boxって呼ばれてたっけ。ClassicがBlue Box。
これじゃあRhapsodyに移行できないって声が多かったからCarbonが追加された。
18仕様書無しさん:2008/06/30(月) 23:54:44
>>13
ここは Mac スレというより、むしろ NeXTSTEP スレですよ。
19仕様書無しさん:2008/07/01(火) 00:07:07
んだ。
CocoaなんてちっともMacな環境じゃないな。
10年前のNeXT環境と基本なんにもかわらねぇ。
20仕様書無しさん:2008/07/01(火) 00:21:52
NeXT が 1988 ~ 1997 ぐらい?で Apple を乗っ取ったのが 1997 年で、
OS X が出たのが 2001年。いまは 2008 年だから、
もう乗っ取り前と乗っ取り後がおなじぐらい歴史あるんだね。
時間の経つのははやい。
21仕様書無しさん:2008/07/10(木) 11:18:29
22仕様書無しさん:2008/07/10(木) 12:23:24
>>20
乗っ取った、と言うよりジョブスがマークラから取り返したという見方もあり。
ま、金の面では創業からマークラの会社だったんだけどさ。
23仕様書無しさん:2008/07/10(木) 14:08:18
びみょうに面白そうで、Smalltalk な Objective-C のスレはここですか?
24仕様書無しさん:2008/07/10(木) 16:18:15
いいえ、ム板に行ってください
25仕様書無しさん:2008/07/11(金) 21:14:14
↓ここから日本語AppleScriptスレ↓
26仕様書無しさん:2008/07/12(土) 01:52:34
↑矢印厨↑
27仕様書無しさん:2008/07/12(土) 21:52:06
“アップルスクリプト日本語表現”を表示する
28仕様書無しさん:2008/07/12(土) 23:39:24
日本語 AppleScript ってもうずっと昔にサポートが終了してて、OS X では実装されてないと思ってたけど ???
29仕様書無しさん:2008/07/13(日) 21:52:37
そうだよ。
漢字Talk時代には英語日本語フランス語でスクリプティングできたんですよ。
30仕様書無しさん:2008/07/13(日) 23:05:27
そんな旧 Mac OS 系の話をされても困るんだけど...
スレタイトルにあるように、Cocoa - Obj-C という旧 NeXT - OS X 系のスレです
31仕様書無しさん:2008/07/14(月) 10:37:10
雑談系であるマ板に勃てちゃった以上、容認汁。
32仕様書無しさん:2008/07/14(月) 23:19:57
Cocoa-Java ってのもあったね。今は Ruby に移行したの?
どちらにせよいつまでサポートされるのやら……。
33仕様書無しさん:2008/07/14(月) 23:39:31
RubyCocoaやPyObjCをCocoa-Javaと一緒にしないでもらいたい。
34仕様書無しさん:2008/07/16(水) 00:43:55
Win板でこれからはmacの時代だと息巻いてる香具師を誰か回収してやって。
こんな状況でWinからの移民は支え切れんだろ…
35仕様書無しさん:2008/07/16(水) 13:19:20
回収してほしけりゃMac板を荒らすために●まで買った駄犬を引き取ってくださいよ。
36仕様書無しさん:2008/10/28(火) 14:16:19
どなたかこいつをUB(もしくはintel)化してくれませんかねぇ。
http://sourceforge.jp/projects/vh7pccontroller/

作者さんは当該機を使ってないから誰かやってくれればとのことでした。
37仕様書無しさん:2008/12/04(木) 19:26:22
>>37
小さいと気に入った服があってもサイズがない
よってこうなる
おしゃれする権利がない←×
おしゃれのしようがない←○
38仕様書無しさん:2008/12/05(金) 10:03:25
どこの誤爆か知らんが、小さい女性は好きだ。
39仕様書無しさん:2008/12/07(日) 17:29:53
>>37
 Z
  z
  z
 <⌒/ヽ-、___
/<_/____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
40仕様書無しさん:2008/12/19(金) 01:32:30
Objective-Cよくわからんけど、書いてみたら見た目綺麗だな
ポインタって使えるんかな
41仕様書無しさん:2008/12/19(金) 01:39:19
もちろん使えますがな。
42仕様書無しさん:2008/12/22(月) 11:39:00
Cでできることは全てできますがな
43仕様書無しさん:2009/02/19(木) 13:22:27
プログラミング未経験で、これからObjective-Cを覚えようと思うのですが、
いきなり入り込んでも大丈夫なのでしょうか?
それともC言語を先に勉強しないと理解できないのでしょうか?
44仕様書無しさん:2009/02/19(木) 14:25:35
理解できないっていうか、ObjCはCの拡張だから先にCを使えるようになってれば覚えることが少なくて済む
45仕様書無しさん:2009/02/19(木) 14:43:33
>>44
覚える事が少なくて済むという事は、必ずしもCから先に勉強しなくても良いという事ですね?
46仕様書無しさん:2009/02/19(木) 14:46:57
>>45
うn
47仕様書無しさん:2009/02/19(木) 14:53:58
>>46
ありがとうございます!
参考書やサイトを見ながら勉強してみます!
48仕様書無しさん:2009/02/27(金) 00:36:59
iphoneのプログラムもここで良い?
iphoneでプログラム実行中に
homeボタン押した時に処理させたいんだけど
どうやれば良いの?
49仕様書無しさん:2009/02/27(金) 00:58:23
は?
50仕様書無しさん:2009/02/27(金) 01:28:41
マルチスレッド?
51仕様書無しさん:2009/04/21(火) 16:44:02
iMacを買って、たのしいcocoa本でプログラミングを始めたばかりの者です。
たのしいcocoaプログラミングのP.82のアウトレットとアクションの接続について質問さ
せて下さい。
App Controlerのインスタンスを選択してcontrolキーを押しつつドラッグ、線が伸びて
テキストフィールドにドロップすると、アウトレットを表示する黒いウィンドウが出る、と
あるのですがその黒いウィンドウが出ません(青い線は伸びます)。
アクションの接続でも同様です。
試しに「Say Hello」のボタンからテキストフィールドにcontrolでドラッグドロップしてみ
ると黒いウィンドウは出まして、
App Controller、テキストフィールド、ボタンを単体でcontrolキーを押すと黒いウィンド
ウは出ますが、AppControllerからテキストフィールドだと出てくれません。
やり直してみたのですが黒ウィンドウは出ず、ググってみてもそれらしき原因が分かり
ません。
情けない質問で申し訳ありませんが、原因またはアドバイスをいただけないでしょうか。
52仕様書無しさん:2009/04/21(火) 17:40:01
>>51
そのApp Controllerのクラスがアウトレットを持たなければ黒いウィンドウは出ないはずです。
これはスタブをもとに自分で実装しているクラスのインスタンスなのでしょうか?
それだったらクラスのインスタンス変数宣言のところで
IBOutlet id outletObj;
のように、IBOutletをつけないとInterface Builderでアウトレットとして認識されません。
こういう内容はここよりも新mac板の Cocoaはさっぱり スレで聞く方がいいです。
http://pc11.2ch.net/test/read.cgi/mac/1231853172
53仕様書無しさん:2009/04/21(火) 19:24:45
>>52
了解しました。
Cocoaさっぱりスレで聞いてみます。
ありがとうございました。

54仕様書無しさん:2009/04/26(日) 17:22:22
今、Apple Developer Connectionにログインできないのは俺だけか?
ドキュメントを読みたいんだが。
5554:2009/04/26(日) 18:11:00
ログインできた。一時的なサーバー不調だったっぽい。
56仕様書無しさん:2009/05/26(火) 22:59:14
ADC Selectに会社で加入してOrientation Kitが届いたんだけど、
小さいパンフとTシャツが入っているだけでした。
こんなもんですか?
57仕様書無しさん:2009/08/10(月) 15:22:07
他に何が欲しいんだ。
ジョブズのアクションフィギュアとか?
58仕様書無しさん:2009/08/23(日) 18:13:47
初心者なんですが質問いいでしょうか。
ターミナルを使って(Xcodeも入れてます)C言語を勉強してるんですが、
gcc(空白)→ .cファイルを挿入→ -oで場所やファイル名変更をしようとすると、
なぜかコンパイル失敗することが多くて困っています。

しぶしぶホーム→a.outでやってるのですが、ひとつ作るたびに削除しにいくのが面倒で・・・。
場所と名前変更で失敗しないコツ、ソースコード(?)をひとまとめにする方法
教えてください。宜しくお願いします。
5958:2009/08/23(日) 18:32:02
すいません追加で質問です。
場所&名前変更で成功した場合でも、ターミナルから./(ファイル名)で
実行しようとすると必ず失敗してしまいます。(./a.outならできます)
原因がわからず困っています、分かる方宜しくお願いします!
60仕様書無しさん:2009/08/23(日) 18:47:32
エラーメッセージ
6158:2009/08/23(日) 19:09:01
>>60
ファイル名はhello world.outで、 ./hello world.out と./hello\ world.out
両方試してみても(後者はターミナル内のファイル名でなぜか\が付加されてたので試してみました)
-bash: ./hello world.out: No such file or directory
というエラーがでてしまいます。
格納フォルダ名もファイル名も合っているのですが・・・。
62仕様書無しさん:2009/08/23(日) 19:20:30
ここってプログラムスレじゃなくてプログラマスレだよね
63仕様書無しさん:2009/08/23(日) 19:27:37
>>61
./hel*.out
ってやってみたらどうなる?
64仕様書無しさん:2009/08/23(日) 20:33:00
>>62
申し訳ないです、プログラムスレがあったの知りませんでした。
次回からそちらで質問します。

>>63
-bash: hel*.out: command not found
となってしまいました。なんでできないんですかねえ…
65仕様書無しさん:2009/08/23(日) 21:27:37
どうでもいいけどファイル名にスペース入れるな
アンダースコアかなんかで代用しろ
66仕様書無しさん:2009/08/23(日) 22:16:08
>>65
知りませんでした、教えてくれてありがとう。
67仕様書無しさん:2009/08/24(月) 03:15:28
./hello¥ world.out
でうまくいくが?
68仕様書無しさん:2009/08/25(火) 03:19:16
>>67
何度も試しましたが無理でした。
使用PCが海外仕様(キーボードにかな表記ないやつ)なのが原因なのかもしれません。
69仕様書無しさん:2009/08/25(火) 06:03:17
んなこたぁない
70仕様書無しさん:2009/08/25(火) 09:20:18
ディレクトリが違っているとか・・・
71仕様書無しさん:2009/08/25(火) 15:15:48
ここで書かれている\は円記号であってバックスラッシュではない
ひねりが加わっているが "hello\ world.out" も円記号とスペースを含むファイル名である。

つまり、、、、
72仕様書無しさん:2009/08/25(火) 19:56:33
shellの挙動になれるまでは無理にファイル名にスペースいれないほうがいいと思うんじゃが
73仕様書無しさん:2009/08/26(水) 09:01:46
>>68
疑り深い奴だなぁ。ほれ。
$ cat hello¥ world.c
#include <stdio.h>
int main(int argc,char *argv[]) {
printf("Hello World¥n");
return 0;
}
$ cc hello¥ world.c -o hello¥ world.out
$ ./hello¥ world.out
Hello World
$
74仕様書無しさん:2009/11/03(火) 17:09:55
複数のページを持つ PDF ファイルから、各ページのサムネール画像を生成したいと思っています。生成する画像フォーマットは GIF か JPEG を考えているんですが、面倒でしょうか?
PDFkit ってのがるみたいで、そいつを利用したら簡単にできるかなと思っています。

普通に Windows で組むと Adobe のデベロッパライセンスが必要なみたいなんで…

これが可能なら、Mac で作ろうと思っている状態です。
>>面倒でしょうか?

面倒か面倒でないか、何を基準におまえにアドバイスすればいいんだ?
76仕様書無しさん:2009/11/08(日) 14:48:59
今、PDFkitのリファレンスをざっと眺めたんだけど、
ページのイメージを画面に表示するとかプリンタに出力するとかはあるんだけど、
画像ファイルとして書き出すのは無いっぽいな。
77仕様書無しさん:2009/11/08(日) 15:37:17
NSPDFImageRepってのがあるからできるんじゃね?
78仕様書無しさん:2009/11/09(月) 01:42:23
NSImageではなくCGImageを使った方がいいらしい。
http://stackoverflow.com/questions/1298632/pdf-to-jpg-conversion-in-cocoa
79仕様書無しさん:2010/01/28(木) 16:38:24
学習のためだけにいちいちWinで読み込んでからMacで使うのが煩わしいので
WinにあるアプリケーションをMac用に個人的に移植するにはどうすればいいのでしょうか?
80仕様書無しさん:2010/01/28(木) 20:17:45
VMWare Fusion でも Parallels でも BootCamp でもなんでもご自由に
81仕様書無しさん:2010/01/28(木) 20:55:19
すまんそのようなソフトがあるのはもち知ってる
おれはWinのアプリをMacで使うためにとは聞いてないんだ
作ってみたかったから聞いてみたんだがスレ違いなんかな・・・
82仕様書無しさん:2010/01/28(木) 21:01:10
Xcodeでフルスクラッチで書けばいいんじゃないかな。
83仕様書無しさん:2010/01/29(金) 10:45:27
俺もフルスクラッチって書こうとした
84仕様書無しさん:2010/01/29(金) 16:06:29
まず、該当ソフトのソースコードを入手します。
次にソースコードを解析します。
そしてMac用に組みなおします。

簡単ですね。
85仕様書無しさん:2010/01/29(金) 18:30:42
81にかかればお茶の子さいさいだな。
86仕様書無しさん:2010/03/09(火) 21:13:59
@interface MyList : NSMutableArray
{}
@end

っつうクラスを作ったんだけど、NSMutableArrayのメソッドを呼出せないのは何故でしょう.
下記のコードが実行時に例外で死にます。

int main( int argc, char* argv[] )
{
MyList* list = [ [ MyList alloc ] init ];
[ list addObject: [ NSString stringWithFormat: @"%d", argc ] ];
}
87仕様書無しさん:2010/03/09(火) 23:12:01
あのな、NSArray, NSMutableArray ってのはクラスクラスタ、ちゅーやつでやな、
そのまま継承しても、実体を伴わんのや。中身を用意したらんとあかん。
ちょっとめんどいで、ええか?難しゅう言うとな、必須のメソッドと、データ構造を
持ってないと、NSArrayとして機能せんのや。よーリファレンスを読んでみ、その辺
ちゃーんと書いてあるわ。まぁ簡単に言うとな、NSArray にいるメソッドは、 count,
objectAtIndex:, lastObject, の3つや。Mutableはさらに、addObject:, insertObject:,
removeLastObject, removeObjectAtIndex, replaceObjectAtIndex:withObject:
の…ひの、ふの、…まぁ、ギョーサン実装せなあかんちゅうこっちゃ。
その代わりや、こいつらさえ実装しとけば、中身のデータ構造がどないやっても、
外から見たら配列になっとる、ちゅー訳や。まぁ、面倒くさかったらな、
@interface MyMutArray : NSMutableArray {NSMutableArray *hoge;}@end
@implementation
- (NSUInteger) count { return [hoge count]; } // 以下、色々略
みたいにしとけばええわ。あとはcontentArrayがよろしうやってくれる。
88仕様書無しさん:2010/03/09(火) 23:21:18
大阪弁でありがとうございます。
89仕様書無しさん:2010/03/10(水) 09:37:02
>>87
大門社長の声で脳内で再生された
90仕様書無しさん:2010/03/14(日) 01:59:54
webからデータを収集するアプリを作って遊んでいます。
しかし、

NSData data = [ NSData dataWithContentsOfURL: url ];

を連発すると、ポートを使い果たしてしまい、プログラムが終了してしまいます。
対処法を教えて下さい。
91仕様書無しさん:2010/03/14(日) 02:09:26
まずはアスタリスクが必要かなあ。
92仕様書無しさん:2010/03/14(日) 02:16:25
お前ニキビができるとイジクリまわすだろ。
93仕様書無しさん:2010/03/14(日) 02:45:01
  ∧∧ コイヤァァァァ!!
 (д´*)
 (⊃⌒*⌒⊂)
  /_ノωヽ_)
94仕様書無しさん:2010/03/14(日) 03:21:13
君の使い古したポートに用はないのだよ。

[ NSData dataWithContentsOfURL: url ]

がポートを食い尽くす問題に答えてやってくれ。
95仕様書無しさん:2010/03/14(日) 15:05:21
[ NSData dataWithContentsOfURL: url ]

でurl毎にコネクションを張って、ガベコレ時に行われるポートの解放が追いついていないと推測。
コネクションを自分で管理すればいいんでないか。おれはやり方判らんけど。
96仕様書無しさん:2010/03/15(月) 12:03:34
If you need to know what was the reason for failure, use dataWithContentsOfURL:options:error:.
俺ならとりあえずこれを使ってみるかな。
ダメなら、エラーが分かればそれに沿った対応するけど、分からないので、signal(3)系統を使う。
97仕様書無しさん:2010/04/05(月) 12:29:21
ここあはやっぱりもりなが
98仕様書無しさん:2010/05/04(火) 17:17:15
Windows用のコンパイラーとかありますかい?
99仕様書無しさん:2010/05/05(水) 01:38:30
>>98
Objective-C のコンパイラはある。
Windows 版の Cocoa は無い。
100仕様書無しさん:2010/05/05(水) 10:50:15
誰かCocotronでなんか作った香具師いる?
101仕様書無しさん:2010/08/09(月) 11:32:49
HyperCardのスタック作者が集うスレはここですか?
102仕様書無しさん:2010/08/11(水) 16:07:10
プログラミングごとき13インチMBPで十分と思ったが、画面狭すぎてXcode使いにくいナリ・・・
103仕様書無しさん:2010/08/13(金) 09:36:05
>>102
リッドクローズで使うんだ。(マテ
104仕様書無しさん:2010/09/03(金) 11:01:23
HMDT本って、Amazonのレビューを読むと3は2の続編らしいんだけど、3冊全て読んだ方が良い?
105仕様書無しさん:2010/09/03(金) 11:32:10
3は CoreData の解説がよい。CoreData 触るつもりならお勧め。
とりあえず、買って損はない内容。1飛ばして 2, 3 でもいけるかも。
106仕様書無しさん:2010/09/03(金) 20:43:23
というか2は1のただの改訂版だから2, 3だけでいい
107仕様書無しさん:2010/09/06(月) 10:44:16
>>105-106
ありがとうございます。2と3を買って勉強します。
108仕様書無しさん:2010/09/16(木) 02:36:34
配列に入れてるNSString*型の文字を取り出したくて、descriptionを使ったのですが、
NSLogで見ると文字化け?してしまいます。どうしたら元のまま取り出せるでしょうか?

NSArray* arrayTemp = [NSArray arrayWithObjects:@"A",nil];
NSString* stringTemp = [arrayTemp description];
NSLog(@"stringTemp is %s",stringTemp);

2010-09-16 01:50:24.925 if==[1940:207] stringTemp is `_?≠
109仕様書無しさん:2010/09/16(木) 10:10:00
NSLog(@"stringTemp is %@", stringTemp);
で幸せになれる。%s はC文字列、%@ はObj-C obj。
NSLog(@"arrayTemp is %@", arrayTemp);
でも幸せになれるであろう。
110仕様書無しさん:2010/09/16(木) 10:20:18
%sじゃなくて、%@じゃない?
111仕様書無しさん:2010/09/16(木) 11:29:46
Descだとマルチバイト文字はU+なんたらにエンコードされるんだよ。
112108:2010/09/16(木) 17:13:03
>>109
>>110
ありがとうございます。

しかし%@で取り出すと、次に
if (stringTemp == @"A")
が真にならないという事が起きました。

自分の用事はただ単にobjectAtIndexで取り出せばよかったと言う大ボケでしたが、
(それは配列objのままで抜き出してしまうと勘違いしてた)
%@で判断して無視された後にNSLogで%@で見るとちゃんと"A"が表示されるので混乱しました。

>>111
ありがとうございます。
実はエンコードは色々試したのですが、私の見たものの中では無かったです。
良ければどんなメソッドで戻せますでしょうか教えて下さい。
113仕様書無しさん:2010/09/16(木) 17:37:47
>>112
> if (stringTemp == @"A")
> が真にならないという事が起きました。

ポインタの比較してどうする。
内容の比較するなら isEqualString: 使えよ。
114仕様書無しさん:2010/09/16(木) 18:00:33
NSLog(@"%d", [stringTemp length]);
NSLog(@"%d", [@"A" length]);
115仕様書無しさん:2010/09/16(木) 18:37:13
>>112
>113フォロー、-isEqualToString: (NSString なら isEqual: と同じ)ね。
Cでも、char *strA = "A"; char *strB = "A"; strA == strB は偽になるでしょ。
strcmp() で比較するように、isEqualToString: で比較する。

>>114
何が言いたいのかさっぱり分からん。
NSLog(@"%p %p", stringTemp, @"A") ならまだ理解できるが…
116114:2010/09/16(木) 18:45:10
9と1が表示されます。
117114:2010/09/16(木) 18:55:57
>>115
追加で、真になりました。環境依存?
const char *strA = "A";
const char *strB = "A";
if (strA == strB ) {NSLog(@"true");}
else {NSLog(@"false");}
118仕様書無しさん:2010/09/16(木) 19:06:20
>>116
分かった。stringTemp = [arrayTemp description]; のつもりなのね。
>112 に「objectAtIndex: で(ry」とあるので、たぶん取り出したんだろ。
ま、確かにもうちょっと分かりやすく書いて欲しいね。
「%@で判〜」のところは何言ってるのか分からんしw
119仕様書無しさん:2010/09/16(木) 19:13:49
>>117
コンパイラ賢いな。ごめん、うちもなったw じゃあこれ、
char strA[2] = "A"; char *strB = "A"; これで比較したらならないはず…
120114:2010/09/16(木) 19:41:08
>>119
それだとこっちの環境でも偽になりました。strcmpは0の等しいを返すし。
121仕様書無しさん:2010/09/16(木) 19:51:52
>>114
ポインタ比較やってるからそれで正しい。strcmp は値である「文字列」を比較している。
NSString * でも、同じこと。どうやら君は「ポインタ」の理解が足りてないようだ。
122114:2010/09/16(木) 20:36:08
>>121 アンカーが114になってますけど、>>120の内容についてってことでいいです?
>>120についてなら、書いてあることは理解できるけど、
>>114についてだとちょっと理解できないので、補足していただけるとありがたい。

ポインタは難しい。
123仕様書無しさん:2010/09/16(木) 21:17:27
>121 は >120 の内容についてでおk
もしかして >121≠ >108 なのか?もうわけわからん…
124114:2010/09/16(木) 21:28:55
>>123 == >>121だろうw。
>>114 != >>108ですよ。
125仕様書無しさん:2010/09/16(木) 22:29:00
なんというアンカの嵐w
126108:2010/09/16(木) 23:06:52
つまり、ポインタ変数のアスタリスク無し表記は、
内容を指したアドレス値を表していると思えば良いのですね。

で、演算子は内容を参照する機能はないと言う事ですね。
127121, 123:2010/09/17(金) 10:06:12
>>114
混乱して途中から>108 = >114 だと思ってたよ、すまない。
しかも>123でアンカミスしてたのねorz IDでないと分かりにくいなぁ
メモリ確保の領域が違うからね、その辺調べるといいよ>char strA[2] = "A", *strB = "A";


>>108
だいたいあってる。けど、ちゃんと書籍などでポインタを理解した方がいいよ。
「C言語ポインタ完全制覇」って本が定評。
ポインタの差す先の値をとってくる間接参照演算子(*)というのもある。
128108:2010/09/18(土) 13:31:47
>>127
ありがとうございます。ここですね。
http://kmaebashi.com/programmer/pointer.html
129108:2010/09/18(土) 13:35:40
また質問なんですが、
参照カウントの勉強にサンプルを書いて色々な所でretainCountをNSLogに出してみたのですが、意外な結果ばかりでます。

まずNSString*の変数ですが、それをretainCountするとメチャクチャな数字が出ました。

NSString* string = @"baka";
NSLog("%d",[string retainCount]);

仕方がないので、自前でクラスを作りました。

呼び出し側クラス
MyClass* myClass = [MyClass alloc];
myClass = [myClass?xA0;myMethod:myClass];

呼び出され側クラスのメソッド
- (MyClass*)myMethod:(MyClass*)myClass;{
?xA0;?xA0;return myClass;
}

例えば、allocの行の下に
NSLog("%d",[myClass retainCount]);
を仕込みますと、当然1が出ますが、
myMethodのreturnの上の行にそれを置くと、-1と出ました。
自分の理解では合成される毎にretainCountが増えると思っていたのですが。。

どう考えたら良いのでしょうか?
130108:2010/09/18(土) 13:51:30
すいません
xA0;
と言う意味不明暗号が表示されているかもしれませんが、
それはスペースと読み替えてください、、。
131仕様書無しさん:2010/09/18(土) 14:08:17
retainCountなんてただの飾りです

そして、-1を返すのは正しい実装です。
(まあ、実際はNSUIntegerなので-1じゃなくてNSUIntegerMaxなんですけどね)
132仕様書無しさん:2010/09/18(土) 14:14:53
これだけじゃ不親切か

オブジェクトにはあなたが期待するとおりretainCountが変動するものと、そうでないものがあります
NSStringオブジェクトはretainCountが期待するとおり変動しないオブジェクトのひとつです
133仕様書無しさん:2010/09/18(土) 23:56:33
>129
なるほど。
そうすると、同じ仕組みで解放されないクラスを作成することができそうですね。

134仕様書無しさん:2010/09/19(日) 16:14:49
>>133
シングルトンクラス(開放されないオブジェクト)の作り方は、
Cocoa Fundamental Guide の Cocoa Design Patten にのってる。
あとメモリ管理ガイド(iPhone dev で日本語版あり)を読んでおくといい。
135108:2010/09/21(火) 16:15:00
>>132
ありがとうございます。
実はobjective-c入門の本を読んでもメモリ全然分からない、、。
136仕様書無しさん:2010/09/21(火) 20:38:13
萩原本を読み返しつつ、Analyze して出た警告を対処していったり、Instruments が拾う Leak を逐一解消していったら作法が分かる。
137仕様書無しさん:2010/09/21(火) 21:16:22
使ったこと無いけど、GCで解決な気が。
138仕様書無しさん:2010/09/22(水) 09:38:48
GCに頼っていたらiPhoneアプリが作れないからダメだ。
139仕様書無しさん:2010/09/22(水) 15:51:56
今すぐiPhoneアプリ開発するならそうだけど、
悩んで進まないくらいなら、GC使ってさっさとアプリ作った方が楽しいと思うけどな。
140108:2010/09/24(金) 20:25:48
>>136
立ち読みしました。ピンクの入門の本より全然わかりやすいです。
要はcopyとかnewとかallocとか書いてるメソッドで生成させたのだけをreleaseすれば良いんですね。セッター絡みの作法も良くわかりました。後ここのpdfもわかりやすかったです。
http://iphone-dev.g.hatena.ne.jp/tokorom/20091213/1260723681
141仕様書無しさん:2010/09/24(金) 21:01:03
>立ち読みしました。ピンクの入門の本より全然わかりやすいです。
良かったなら買ってやれよ。
142108:2010/09/24(金) 22:09:11
>>141
ピンクの入門を買ってしまった事がそれを微妙に躊躇させます、、。
ピンクも上での基本を押さえれば、外人の文章によくある、含みのある表現も理解出来ました。
143仕様書無しさん:2010/10/19(火) 09:37:50
すいません、switch文で定数と比較したいのですがエラーになります

#define aaa 15;
...

switch (bbb) {
case aaa: NSLog(@"yes"); break;
}

144仕様書無しさん:2010/10/19(火) 09:47:58
そのセミコロンはなんだ?
145143:2010/10/19(火) 10:40:58
defineの;いらないんですね!エラー出なくなりました。
基本的な事ですんません tks
146仕様書無しさん:2010/10/19(火) 11:05:28
新構文かと思った。
147仕様書無しさん:2010/10/28(木) 07:32:19
質問です。
NSOpenGLViewの乗っかったNSWindowで透明をやりたいのですが
(ウィンドウの向こうが透けている)失敗しています。

まずNSWindow。
[window setBackgroundColor: [NSColor clearColor]];
[window setOpaque:NO];
これでウィンドウは透明に出来た。多分これでいいのかと。
しかし、NSOpenGLViewでつまづいてます。

-(void) drawRect: (NSRect) dirtyRect {
glClearColor( 0.0f, 0.0f, 0.0f, 0.0f );
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

}
でビューが真っ黒に。glClearColorのアルファ=0.0なんだけど。
ちなみに、アルファ=0.5でも真っ黒ですね。
NSOpenGLViewの段階で、ビューの向こうが透けて見えるように
するには、どうしたらいいのでしょう?
148仕様書無しさん:2010/10/30(土) 20:27:11
iPhoneでNSHTTPStorage setCookieでNSHTTPCookieを保存しようとするんですが、ログに吐き出しても反映されていないようです。
使い方間違っているのでしょうか?
149仕様書無しさん:2010/11/03(水) 01:57:15
UIWebViewのUser-Agentを変えたいんだが。
150仕様書無しさん:2010/11/03(水) 08:04:59
好きにしろ
151仕様書無しさん:2010/12/01(水) 23:29:41
NSDataのなかの特定の範囲のバイト列を取り出して、32ビットのint型に
変換したいのですが、どのような方法がありますでしょうか?

subdataWithRange:NSMakeRange(3,4) のようにしてバイト列を
取り出すと思うのですが、このあとどうすればよいかわかりません。
152151:2010/12/01(水) 23:51:16
これ↓でやりたいことはできそうなのですが

int32_t datasize;
[data getBytes:&datasize];

できれば、JavaにあるByteBufferのgetIntのような感じで取得したいのですが
そういう方法ってありますか?


153Perl忍者 ◆M5ZWRnXOj6 :2010/12/04(土) 14:54:38
OS8,9時代をしらないガキマカはしね
154仕様書無しさん:2010/12/04(土) 15:12:40
わーい
久しぶりにおかしな人が来たw
どうして死なないといけないの?w >おじいさんw
155仕様書無しさん:2010/12/05(日) 11:10:11
8,9程度でイキがってんじゃねえよハゲ
せめて7
156仕様書無しさん:2010/12/05(日) 21:43:10
>>155
ああ、おにぎりな。
E電並に定着しなかったが、中身は進化したね。
157Perl忍者 ◆M5ZWRnXOj6 :2010/12/06(月) 00:07:06
俺は8,9時代を謳歌したからな

Macコミュも制覇してきたし

今ではハッカーとして落ち着いてきてるしな

ハゲはてめえだろハゲ

Objecitve−Cだろこら いまじゃMacつかってねえからな

またやろうかな
Macアプリ作りたかったんだけどな なんていうかiphoneだらけだったしな
さすがにMacアプリなんてあれだろ
だからPerlにしたんだけどな

昔のマックはお正月に あけましておめでとうとか出たしな
プラチナサウンドの響きがここちよくてな うざくなってきたけど
酒井さんのゲームなどハピネス 侍道 オレバス...etcなどいろいろやってたけどな

ど素人がわめいてんじゃねえよこら
158仕様書無しさん:2010/12/06(月) 00:09:22
ごめん
それ自称上級者(≒素人に毛が生えた程度)の発言にしか見えんわ
159Perl忍者 ◆M5ZWRnXOj6 :2010/12/06(月) 00:10:22
自称じゃなくて上級者だからな

知ったかぶりすんなよ
160Perl忍者 ◆M5ZWRnXOj6 :2010/12/06(月) 00:11:35
マカーって独特の反論があるよな

単芝つけてきたり

すばやい応答 暇人ニートの巣窟だからなゴミマカは

ワインやブランデーなどの酒の画像とかアップしてるカスマカ多いわ
161仕様書無しさん:2010/12/06(月) 00:12:05
コレはひでぇw

って相手してもらえるのが嬉しいだろうなこのハゲ
162Perl忍者 ◆M5ZWRnXOj6 :2010/12/06(月) 00:12:32
てめえも所詮カスマカ

マカーから脱皮できないごみ

ターミナルかちかちいじってるゴミだよ

ポートでぶちこんでる低能 とりあえずosx進めてる低能
お前らみたいなごみな

ゴミはしねな
死ね
163Perl忍者 ◆M5ZWRnXOj6 :2010/12/06(月) 00:14:18
マカーの限界ってしってる?

製品などでわめいてるだけ、だからお前らは新作製品でわめくことしかできないんだよ
マカコミュでアップル製品について熱弁してればいいよ

プログラミングもできねえごみw

Perlやってるやついたなクソマカに、大してできてねえごみみたいだったけどw
ログ編集してる程度のカスw
164Perl忍者 ◆M5ZWRnXOj6 :2010/12/06(月) 00:18:48
hapyer cardとかもそんなもん知ってるしな
あの絵本みたいなやつだよな 白黒の

Macのこと+コミュならほぼ知り尽くしてるよ

ほぼ知ってるし

低レベルなんだよお前ら
165仕様書無しさん:2010/12/06(月) 00:28:20
つか俺マカじゃないんで
サーセンwwww
166仕様書無しさん:2010/12/07(火) 09:53:02
意外に礼儀正しい良い人で笑ったw

おじいさんとか言ってごめんなさい
167仕様書無しさん:2010/12/08(水) 10:22:28
iphoneの開発ツールでObject-C使わなくてもC++で出来るってフリーソフトがあるんだけど
それで作ってる人おらぬ?
168仕様書無しさん:2010/12/10(金) 18:04:05
>>167
kwsk
169仕様書無しさん:2010/12/12(日) 19:24:43
>>167
XcodeっていうフリーソフトがCでもC++でも
iPhone用にプログラム組めてお勧めだよ。
170仕様書無しさん:2010/12/17(金) 15:05:36
すべてCのみで作れる?いっさいObject-無視して純Cのみで
171仕様書無しさん:2010/12/19(日) 02:09:42
当たり前じゃん。
172仕様書無しさん:2010/12/19(日) 21:32:46
エントリポイントがC、後はどうすればいいか、わかるでしょう
173仕様書無しさん:2010/12/24(金) 03:42:39
Interface Builderで、UILabelなんかを斜めに配置する事ってできないのかな。
今はコードでtransformプロパティでちまちまやってるんだけど、数が多くて発狂しそう。

どなたか知ってる方おられたら教えてください。
174仕様書無しさん:2010/12/24(金) 05:11:38
自分でIBプラグイン作れば。
175仕様書無しさん:2011/01/18(火) 12:57:59
@interdace
....
@end
をクラス宣言としてヘッダーに記述しますが、
クラスはmまたはmmに
@implements
...
@end
ですが、
この部分をソースファイルを2つ以上に分割できますか?
やってみたら、ヘッダーに@propatyがあるので、@synthsizeも
同様に記述しないとすべてワーニングとなります
176仕様書無しさん:2011/01/18(火) 14:45:30
突っ込みは全部置いとくとして、「カテゴリ」でググれ
177仕様書無しさん:2011/01/18(火) 17:07:02
>>176
にゃーるほど、非常thanks
こんな言語仕様があったとは
178仕様書無しさん:2011/02/05(土) 12:22:55
NSLogに日本語を表示するとき、
NSString* nsstr = @"漢字abc";
NSLog(@"%@", nsstr);はもちろん可能ですが
std::string str = "漢字abc";
NSLog(@"%s", str.c_str());
は表示されない。STLでもただ"漢字abc"ではなくて"abc"
だけなら表示される。
これはなぜなのかがわかりません。
179仕様書無しさん:2011/02/07(月) 00:48:02
文字コードが違う
180仕様書無しさん:2011/04/19(火) 12:16:43.29
int hoge[100];
って感じで配列を宣言したときって
自動でメモリは確保されるのでしょうか?

関係ない処理をしている間に内容が変更されてしまうので困っています…
181仕様書無しさん:2011/04/19(火) 12:49:13.34
お前はナニを言ってるんだ。記憶クラスって知ってる?
182仕様書無しさん:2011/04/19(火) 19:57:44.11
初心者にありがちなメモリ破壊
183仕様書無しさん:2011/04/20(水) 10:07:05.03
BSSなのかスタックなのかにもよるが
184仕様書無しさん:2011/04/20(水) 10:18:24.97
自動変数のアドレスを呼び出し元の関数に返していた新人を思い出した。
185仕様書無しさん:2011/04/21(木) 04:14:40.82
Server用途でないJavaとは速度差はなく、生産性は、携帯機器で優位なメモリ占有の少なさがある。
C++と比べると、遅いのは分かってること。驚く必要なし。生産性、習得の用意さもあり、適度なスピードもあり、バランス取れてるから問題なし。
186仕様書無しさん:2011/04/28(木) 13:46:39.46
iOSのCOREDATAって使いやすいの?
例えば1000個くらいの固定された商品データ管理とか、XMLからオブジェクトに読んでやるより
CoreData使った方がいいんかな?
187仕様書無しさん:2011/04/29(金) 10:09:40.86
un
188仕様書無しさん:2011/04/30(土) 01:41:03.17
網羅性維持のためだけに存在しているインターンのバイト学生が書いたような
地雷クラスメソッドを踏まないようにすればいいだけ。
若き「老害」を生まないためにも本物の窓際おじいちゃんはどうせ暇だろ
ちゃんとフォローしといてね
189仕様書無しさん:2011/07/09(土) 09:58:17.61
これで独立できる

売るものはスマートフォンアプリ WEBサイト運営
サーバーはクラウド VPS
電話はスマートフォンSkype
オフィスは地方にプレハブ型の格安高性能オフィスを建て
レンタル自習室&シェアオフィスで収入を得ながらそこで開発する
http://tinyurl .com/43xmk7m
http://tinyurl .com/3mopkfy
190仕様書無しさん:2011/07/19(火) 19:26:06.07
ここもだろうね。キモチワルイ。
191仕様書無しさん:2011/09/29(木) 21:47:06.19
JavaScriptでwindow.open()を実行した時

-(WebView *) webView:(WebView *)sender
   createWebViewWithRequest:(NSURLRequest *)request

requestが0x0でとれません。

URLを知るにはどのようにしたらよいのでしょうか?


192仕様書無しさん:2011/11/12(土) 01:06:46.36
Macは開発しやすい
193仕様書無しさん:2011/11/12(土) 01:07:14.38
開発しやすいのか?
194仕様書無しさん:2011/11/20(日) 05:59:06.77
char *str;
195仕様書無しさん:2011/12/26(月) 17:30:15.77
すみません
皆さんDBクライアントって何使ってらっしゃいますか?
例えばMySQLとかPosgreとかを操作するアプリです。GUIアプリ使ってますよね??
196仕様書無しさん:2011/12/26(月) 18:38:41.31
スレチ
197仕様書無しさん:2011/12/29(木) 19:04:55.23
コマンド覚えろ方が楽
198仕様書無しさん:2012/01/09(月) 19:27:01.24
コマンドを憶える気はほとんど無いから Navicat の Lite 版
199仕様書無しさん:2012/02/15(水) 00:39:47.44
アプリのappバンドルのパスをアプリ自身が実行時に取得する方法があれば教えてください。
よろしくお願いします。
200仕様書無しさん:2012/02/15(水) 00:53:55.61
[[NSBundle mainBundle] bundlePath]
そのまんまやんけっ
201仕様書無しさん:2012/02/15(水) 00:54:30.28
実行ファイルは argv[0] な
202199:2012/02/15(水) 13:14:47.48
どうもありがとうございます
203仕様書無しさん:2012/02/19(日) 02:04:01.84
iOS5でカレンダーにイベントを追加する時にアラームが付かなくなってしまったのですが、
解決策を教えて頂ける方いらっしゃいますでしょうか。
204仕様書無しさん:2012/02/22(水) 10:50:07.57
Delegateを複数実装していくとオブジェクトを作成した元のオブジェクトの
メソッドを呼びたくなりますよね。Javaとかだと参照を渡すだけでどうにか
できたんですけど、Objective-Cだときれいにならないんですが、みなさんは
どうされてますか?説明された書籍とかサイトとかあったらぜひ教えてください
205仕様書無しさん:2012/02/22(水) 12:37:16.70
>>204
>Javaとかだと参照を渡すだけでどうにか
>できたんですけど、Objective-Cだときれいにならないんで
ここがわからない。同じじゃないと思うので詳しく
206仕様書無しさん:2012/02/22(水) 13:56:41.85
オブジェクトAがオブジェクトBを生成しオブジェクトCに渡す。
オブジェクトCはオブジェクトDを生成しオブジェクトBを渡す。
オブジェクトDがオブジェクトAにアクセスする方法を考えなさい。
207仕様書無しさん:2012/02/23(木) 21:35:24.47
参照を渡せばええやん
208204:2012/02/24(金) 02:43:08.80
>>205,206,207
参照渡せばいいですね。普通でした。一応結果書きます。作ったクラスに
自分の参照を渡す場合。
@interface Hoge
property (retain, nonatomic) (Hogehoge *) hogehoge;
@end
@implementation Hoge
//省略
@end
@interface Hogehoge
//省略
@end
@implementation Hogehoge
- (id) init {
Hoge *hoge = [[Hoge alloc] init];
hoge.hogehoge = self;
}
@end
209仕様書無しさん:2012/02/25(土) 15:49:22.38
pkgでインストールする際、app以外の外部リソース(pkgになっていない)を単純にコピー
したいのですが、できるのでしょうか?

PackageMakerのPackage LocationをSelf-Containedとは別の設定にしたりして
試しているのですが、なかなかうまく行きません。

外部リソースをpkgに入れたくない理由ですが、Windows用と共通なデータを
配布ディスクのルートに置いているからです。

よろしくお願いします。
210仕様書無しさん:2012/02/25(土) 16:48:27.11
postinstallスクリプト?
211209:2012/02/25(土) 17:17:44.85
>>210
どうもありがとうございます。

その場合コピー先のフォルダとか、スクリプトがマクロか環境変数とかで
取得出来るんでしょうか?

その辺記載してる資料が見当たらなくて。
212仕様書無しさん:2012/02/25(土) 17:25:44.28
envとかecho $*とかしてみれば?
213209:2012/02/25(土) 21:25:14.92
いちおう動作としては望むものになりましたが、スクリプトでコピーしてる
データの容量とプログレスバーが一致しませんね。

根本的な問題なのでどうしようもないか・・・
どもでした。
214仕様書無しさん:2012/03/10(土) 09:54:24.34
ちょい質問
cocoaを使ってdllを作っていてホストアプリケーションのウィンドウからモーダルウィンドウを作ってるのですが
モーダルウィンドウ上でショートカットキーが使えなくなってます(command + v等)
どこか設定を見落としている気がするんですがわかりますかね?
あるいはこれを修正しようとすると大変だったりしますか?
215仕様書無しさん:2012/03/11(日) 18:29:08.95
単にレスポンダー回りじゃないのかな

NSApplication sendAction:to:from: で、to: を nil にしてモーダルウィンドウのアクションを送った場合に受け取れているの?
メニューはちゃんと制御できてるの?
216仕様書無しさん:2012/03/11(日) 22:15:10.24
おっと何やらいきなり理解を超えたレスが
初心者ですまん
コード晒したほうが早いかもしれんな、またその時お願いします
217仕様書無しさん:2012/04/05(木) 05:20:01.28
規制で他書けないから
ここで教えて下さい
Nsstring* str
If(a==0) str=@"abc" str=@"def"
こんなやり方はダメ?
毎回allocしないとダメ?
218仕様書無しさん:2012/04/05(木) 09:33:30.48
ok
219仕様書無しさん:2012/04/05(木) 17:25:44.44
日本語書籍の縦書き表示、横書き表示の切り替えに対応!!!
「我輩は猫である」「坊ちゃん」等、青空文庫の名作が無料で読める

iPhone対応アプリ sReader Lite (無料)
http://itunes.apple.com/jp/app/sreader-lite/id492514436
220仕様書無しさん:2012/05/11(金) 10:43:15.41
ワーカースレッドを作りたいんですが、
ARCが有効なプロジェクトでなぜか循環参照が起きてしまいます。
weak_selfを__unsafe_unretainedにすればひとまず解決することはわかりました。
ですが、__weakにするとなぜか循環参照がおこって、deallocが呼ばれません。
xcode 4.3.2です。
ttp://codepad.org/EBgxU0jw
どなたかご教示ください。
221仕様書無しさん:2012/05/11(金) 11:25:21.83
>>220
__bloack が必須で ARC ではさらに __weak がってことらしいよ
http://d.hatena.ne.jp/h_mori/20120220/1329691866
__unsafe_unretained はなーんにもしない従来のただの変数ってことだからじゃないの
222仕様書無しさん:2012/05/11(金) 11:28:48.31
>>221
× __bloack
○ __block

__weak は微妙な位置づけだよね。Zeroing 対象ってことは、ただの変数じゃないし、かと言って __strong (retain) ほどはっきり主張しているわけでもなく
223仕様書無しさん:2012/05/11(金) 13:06:06.99
>>220-222
試してみたけど、よくわかんないな

スレッドの終了をさせるのが無いようなので、main で
server.isContinue = NO;
を付け加えると、スレッドを終了すると 無し(__strong)/__block/__weak/__block __weak どれもちゃんと最後には dealloc が呼ばれる(途中の最大retainCountは微妙に違う)

ブロック内の
while (self.isContinue) {
は、せっかくが意味なくねってことで、
while (weak_self.isContinue) {
に変えると、同じく最後には dealloc が呼ばれるが、__weak を付けると retainCount が増え続ける。なぜに??
最大 retainCount から言うと単に __block 付けるだけでいいんじゃね

というか、このコードは循環参照の設問なのか??
224仕様書無しさん:2012/05/11(金) 13:17:51.13
>>223,220
>というか、このコードは循環参照の設問なのか??
ああ、スレッド内で何を参照してるのか無視したら、main で ThreadingServer インスタンスを作成しすぐ release するのだから、ThreadingServer の dealloc が呼ばれスレッドが終了するハズというのなのね。たぶん

スレッド内で参照しているのだからそれは無茶な話じゃないのかなあ。dealloc に入っているのに、他でそれのインスタンス変数(isContinue)を参照しているなんて
225220:2012/05/11(金) 23:39:28.76
>>221-224 みなさんありがとうございます。
selfは単純にミスです。
外から終了通知を投げれば確かにスレッドは終了しますが、deallocは呼ばれないんですよね・・・
なぜ__weakのはずなのにこれで破棄されないのかわかりません。
226220:2012/05/11(金) 23:45:07.46
__block __weak ThreadingServer *weak_self = self;
とやってもだめなんですよね。。。
__unsafe_unretained以外で望んだ挙動ができません。
227仕様書無しさん:2012/05/11(金) 23:58:37.83
>>225,226
いや、それを望んではいけないってことなんだけど
dealloc に入るのは他で使用されないっていうのが大前提だと思っているのだけど

期待しているのは dealloc の中でそのインスタンスを他でまだ参照しているという前提でしょ?そのインスタンスのインスタンス変数で他をコントロールしようとしているという
それだけのコードじゃあまり無いかもしれないけど、それだと存在しないインスタンスを参照してクラッシュするのが目に見えていると思うのだけど

オーナーシップというのを理解した方がいいと思う。現在のコードの動きは全く正常であり、そうでなければ困るというものだと思うのだけど
逆に __unsafe_unretained で望んだ動きというのが綱渡り的なもの
ブロック内でそのインスタンスを直接にも間接にも参照しないようにするか、無理ならオーナーシップを理解した上での奇麗な実装を考えた方がいいと思う
228仕様書無しさん:2012/05/12(土) 00:04:58.17
>>225
>外から終了通知を投げれば確かにスレッドは終了しますが、deallocは呼ばれないんですよね
いいや、dealloc は呼ばれるよ
ああ、main で @autoreleasepool で囲っても、そこで実際に ThreadingServer が release されるわけじゃないみたいだったかな。main 内の処理をサブ関数に移してみたら。関数抜ける時には確実に release されるよ
229220:2012/05/12(土) 02:06:27.63
>>227-228
ありがとうございます。
スレッドの寿命とそれを管理するクラスの寿命を一致させるのは、
Objective-cではそんなに無理なことなんですか?
今ひとつ理解できずにいるので、
ここでいうオーナーシップがおかしい箇所を教えていただきたいです。

230220:2012/05/12(土) 02:08:54.03
続きです。
>>main で @autoreleasepool で囲っても、そこで実際に ThreadingServer が release されるわけじゃない
というのがよくわかりません。
ARCのおかげでスコープから終了するときに参照がきちんと減っているのではないんですか?
また、サブ関数にしてみましたが、結果はかわりませんでした。
ttp://codepad.org/rFMBaCua
231仕様書無しさん:2012/05/12(土) 11:41:13.55
>>229,230
スレッドなのだから、動作は本ちゃんと別に並列に勝手に動くよね
オーナーシップの委譲を利用すれば別に同期をとらなくても、あっちもこっちもわりと勝手にできるってことなんだけど
スレッドで何かを参照しているなら、それのオーナーシップを取った方が安全でしょ。勝手に破棄されて破棄されてしまったのを参照してしまうのを防ぐのに。それが基本だと思うけど
あなたがやりたいようにやりたいなら、オーナーシップにかかわるような __weak に拘らずに __unsafe_unretained でいいんじゃないの

[NSThread sleepForTimeInterval:3.0];
server.isContinue = NO;
[NSThread sleepForTimeInterval:0.5];
とかしてみたら
ARCの解放はコードの見た目通りではなさげ。Blocksでの解放もいまいちどこってはっきりわからんねえ(Blocksを抜けた直後に直ぐというわけではないとか)
232220:2012/05/12(土) 12:01:11.66
>> 231
どうもです。
スレッドで何か受け取り処理する場合、当然オーナーシップはとります。
そのときに__unsafe_unretainedなんて使いません。これは自分のオブジェクトに対してだけです。
受け取ったものの解放はdeallocでやるか、スレッドが終了するタイミングですればいいと思うんです。
233220:2012/05/12(土) 12:03:31.33
続きです。
>>オーナーシップの委譲を利用すれば別に同期をとらなくても、あっちもこっちもわりと勝手にできる
すみませんこれがいったい何のことをさしているのかわかりません。
結局initでスレッド生成。deallocでスレッド破棄の何がいけないんでしょうか?
234仕様書無しさん:2012/05/12(土) 12:47:48.65
>>232,233
なんか話を拡大しているように見えるけど
__unsafe_unretained は今回のあなたのやりたいようにやるのには適しているだろうから、__weak なんて拘らなくていいってだけだよ
他もinitでのスレッド生成がダメなんて言ってないし。もう解決したんならいいんじゃないの
deallocは俺は違う方がいいと思うけど、あなたがあなたのやりたいようにやりたいなら、別にそれはどうでもいいよ。あなたのコードを私が利用するわけでもないし

もう解決したんでしょ?
235220:2012/05/12(土) 16:29:52.19
>>234
最初の疑問は全然解決していません。
結局のところ__block __weak ThreadingServer *weak_self = self;
とやってるにもかかわらず、(おそらく)スレッドのブロックがselfを保持しているせいで、
循環参照によってdeallocが呼ばれていない理由がわからないままです
236仕様書無しさん:2012/05/12(土) 17:03:17.47
>>235
だからそういうもんだって。それは循環参照でもなんでもないよ
だってBlockが目的を達成して終われり release すればインスタンスのオーナシップを持っているものが無くなり、dealloc がちゃんと呼ばれるのだもの
巷で問題とされている循環参照は全く別の話だよ。そこがオーナーシップを理解してないってことなんだけどな
あなたのやりたいことはオーナーシップ無しで済ませたいのだから、__unsafe_unretained を使えばいいこと
237仕様書無しさん:2012/05/12(土) 17:13:54.71
236
例えば performSelector: とか対象のインスタンスをそのメソッドが実行中はオーナシップを獲得して終わりには解放するでしょ
iOSはそういうベースのもので、ARCもその延長線上のものだと思えなくない?

あなたのやりたいことは、それとは異なることで、そういうようなためにも __unsafe_unretained があると思えなくない?
__weak は __unsafe_unretained と同じ動作でなくてはならないとかあなたがそう思うならそれはもう知らないな
238仕様書無しさん:2012/05/12(土) 17:23:21.86
>>237
×iOSは
○CocoaやiOSは
ARC は Objective-C の言語仕様の一部だけど、元々 retain/autorelease/release は Objective-C とは関係無い Framework の仕様でそれを言語仕様に取り込んだようなもんってことね

解らない解決できないだけを強行に言われ、でも自分の考えだけは頑固ってのは正直イラっとしたし、どっかで見たこともあるのでもうおしまいw
239220:2012/05/12(土) 20:46:09.79
時間がかかってしまいましたが、ようやく理解できない原因がわかりました。
__weakならばオーナーシップを獲得しないだろうと、ここを勘違いしていたところが問題でした。
あくまでもブロックはそのコピーを保持し、
そのコピー元が何であろうが関係なかったのですね。
解決です。ありがとうございました。
240仕様書無しさん:2012/05/12(土) 21:27:29.11
>>239
ARCなりCocoaやiOSの自動的なオーナーシップの獲得を尊重(それは安全のためなんだもん)して、クラスを使う外部クラスにワーカースレッドの存在を意識させないというのは、俺ならこう書くだろう
http://codepad.org/k57uJw2D
循環参照なんて関係無いよってことで Block 内では self を使う。isRun は寂しいから付けただけで意味は無い
dealloc に入るのは Block が終了した後なんだからということで dispatch_group_wait(group, DISPATCH_TIME_FOREVER); は削除(どうもこいつも怪しい)

外部クラスに提供するメソッドはワーカースレッドとのやり取りが必要で ThreadingServer に実装したいのならばそうすればいいし、
それを呼び出すメソッドを ThreadingServerForOutsideClass に書くのがめんどくさかったらメッセージフォワーディングを使えば @interface にコピるだけで済むでしょ

ということで
241220:2012/05/12(土) 21:38:56.91
>> 240
なるほど、一枚ラップしてるわけですね。
少し手間こそあれ、確かにこっちのほうが正当って感じがします。
forwardInvocation、これは知りませんでした。エレガントですね。
本当に助かりました。ありがとうございました。
242220:2012/05/12(土) 21:43:50.86
追記です。
この方法だと、dispatch_group_waitも書く必要がなく、終了待ち時間もなくなって、
とてもスマートですね。
243仕様書無しさん:2012/05/15(火) 20:55:51.97
質問させて下さい。
iPhone向けにUIScrollView を使って横スクロールをさせようとしています。
その際に1pageの横幅サイズが、iPhoneの横幅より小さい領域でスクロールをさせようとしています。
(iPhoneの横幅320 に対して、 1pageは200でスクロール)
で現在はBounds横幅を200に設定してスクロールを実装しているのですが、
そうすると、Boundsの領域外では、スワイプが出来ません。
Boundsの領域外でもスワイプ出来る方法はありませんでしょうか?
ちなみに、ContentInset等も試しては見たのですが、これは、ContentSizeに対する余白の設定の様ですし・・・。
何かヒントでも良いので、教えて頂けたらありがたいです。
よろしくお願いします。
244仕様書無しさん:2012/05/26(土) 15:16:22.32
>>243
UIViewのhitTestで出来るよ
245仕様書無しさん:2012/05/26(土) 20:08:41.29
質問なんですが、iOSにてCoreImageの速度についてです。
バンドルから画像リソースを読み込み際に、
NSDataから直接CIImageを作成する場合と、UIImageで読み込んでからCIImageを作成する場合の速度比較をしたところ、
後者の方が早くなりました。
後者のほうが余計な処理をはさんでいるにもかかわらず、後者のほうが早いというのは、
どういう原因が考えられますか?
ttp://codepad.org/d5k9jeGe
246仕様書無しさん:2012/05/27(日) 01:08:15.04
>>245
メモリ上に画素展開されているかいないかじゃないの
UIImage -> CGImage -> CIImage -> CGImage
NSData -> CIImage -> CGImage
手順的にUIImageの方が数多くやっているように見えて実はなにもやっていなく、NSDataからCIImage はなんかやらなきゃならないだろう(bmpだとしても)という
と、てきとーにこじつけてみた
247245:2012/05/27(日) 12:55:15.99
>> 246
ありがとうございます。ひとまず実測値を信じることにします。ありがとうございました。
248仕様書無しさん:2012/05/27(日) 19:14:21.47
なにげにARCでのワーニングメッセージの中にメソッドの引数で __strong と入っているのを目にして、メソッドの引数もデフォルトでは全て __strong で
- (void)method:(__unsafe_retained id)argument;
とかできるのねと思った

で、>>223 の __weak 時の変な動きが
- (void)method:(id)argument { NSLog... }
id argument = ...;
__weak id weakedArgument = argument;
[self method:weakedArgument];
[self method:weakedArgument];
[self method:weakedArgument];
で簡単に再現できた。__weak は変数として安易に使うのは危険、Zeroingが必要なとこでのみ使うべきということかなあ
249仕様書無しさん:2012/05/28(月) 22:20:09.54
cocos2dフレームワークに関してはどこで質問すればいいの?
250仕様書無しさん:2012/05/28(月) 23:25:46.09
専門に扱ってるスレッドはどの板にも無い。
251仕様書無しさん:2012/07/12(木) 02:05:44.97
NSHTTPCookieStorageを使ってクッキーの取得とかセットをやってるんですが
端末の時計が2時間以上未来になっていると、クッキーをセットしても空になってしまうという現象が起こっています
どうもクッキーのexpiresdateが端末の時計に対して過去になってることが原因ぽく
expiresdateをnilで上書きするとクッキーにセットできるようになるんですが、こんなことやっちゃっていいんでしょうかね・・・?
もっといい方法があるんでしょうか
252仕様書無しさん:2012/07/12(木) 08:41:48.72
いや、それは時計を正常にすればいいだけじゃないの。なんか意味あるの?
253仕様書無しさん:2012/07/22(日) 21:05:04.20
NSRunAlertPanelをcppから呼び出すために次のようなラッパーを作ったのですが
wAlertReturn wAlertPanel(const char* panel_title,const char* panel_message,
const char* default_buttom_word,
const char* alternate_buttom_word0,
const char* other_buttom_word0)
{
return (wAlertReturn)NSRunAlertPanel([NSString stringWithCString:panel_title encoding:NSUTF8StringEncoding],
[NSString stringWithCString:panel_message encoding:NSUTF8StringEncoding],
default_buttom_word?[NSString stringWithCString:default_buttom_word encoding:NSUTF8StringEncoding]:nil,
alternate_buttom_word0?[NSString stringWithCString:alternate_buttom_word0 encoding:NSUTF8StringEncoding]:nil,
other_buttom_word0?[NSString stringWithCString:other_buttom_word0 encoding:NSUTF8StringEncoding]:nil
);
}
実際にこれを起動するとプログラムが落ちます・・・
何がいかんのでしょうか?
254仕様書無しさん:2012/07/22(日) 21:25:27.76
>>253
NSRunLoop ありの普通の Cocoaアプリ中でcppを呼び出して、そこからここなの?
まさか、cppなアプリでいきなりここってことはないよね?

で、なんでcppなの?純粋なcppもわかるけど、mmからcppをってのが普通でcppからmまたはmmをってなんでかなー?
なんかのアプリの移植かなあ。だとしてもcppをmmにしちゃえばいいのにと
255仕様書無しさん:2012/07/22(日) 21:38:13.61
>>254
上のコードがmmで、そのヘッダが.hで、cppがそのヘッダを含んでいて呼び出しています
cppファイル自体はウィンドウズ版との共有でmmにはできないのです
256仕様書無しさん:2012/07/22(日) 21:48:36.24
>>255
ふむ、なるほど
正直、1行がすごい(見づらいw)けど、それだけだったら原因はわからないねえ。特に間違っているように見えないので
RunLoop 周りか NSAutoRelease が無いとかかなと思ったけど、それだったらどっかにはすでにあるだろうから

とりあえず、引数使っているところを @リテラル にしてテストしてみては?
257仕様書無しさん:2012/07/22(日) 21:55:03.61
>>256
>@リテラル
試しておりました
結果変わらず、ですね
258仕様書無しさん:2012/07/22(日) 21:58:19.96
>>257
じゃ、そもそも NSRunAlertPanel を呼べないってことね
ベースはCocoaアプリなんだよね?
259仕様書無しさん:2012/07/22(日) 22:01:28.95
Cocoaアプリがベースだとして、cppを介しないでmまたはmmからこれを呼んだらどうなの?
260仕様書無しさん:2012/07/22(日) 22:02:24.99
>>258
いえ、違うと思います
.pluginです
261仕様書無しさん:2012/07/22(日) 22:16:21.76
>>260
呼べないってのは NSRunAlertPanel を呼んだら問題があってクラッシュするってことね
.pluginかあ。なんなのかわからんけど
環境の問題で、>>253のコードを示されてもわからないと思うんだけど

とりあえず、
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
wAlertReturn result;
result = NSRunAlertPanel([NSString stringWithCString:panel_title encoding:NSUTF8StringEncoding],
[NSString stringWithCString:panel_message encoding:NSUTF8StringEncoding],
default_buttom_word?[NSString stringWithCString:default_buttom_word encoding:NSUTF8StringEncoding]:nil,
alternate_buttom_word0?[NSString stringWithCString:alternate_buttom_word0 encoding:NSUTF8StringEncoding]:nil,
other_buttom_word0?[NSString stringWithCString:other_buttom_word0 encoding:NSUTF8StringEncoding]:nil
);
[pool release];
return result;
}
かな
262仕様書無しさん:2012/07/22(日) 22:20:29.69
>>261
ダメっぽいです・・・すいません
263仕様書無しさん:2012/07/22(日) 22:28:19.50
>>262
This function not only creates the panel; it also puts the panel onscreen and runs it using the runModalForWindow: method defined in the NSApplication class.

NSApplication 下じゃなきゃダメのように読めるけど?なんのplug-inなんだろなあ...
メインアプリのNSApplications下で動くようなものなの?
264仕様書無しさん:2012/07/22(日) 22:49:26.58
CocoaアプリじゃないNSApplicationインスタンスが無いのはNSApplicationLoad を使えば幸せになれるようななれないような、よくわからん
ギブッ
265仕様書無しさん:2012/07/22(日) 22:57:10.67
>>264
すいません、でもそれもダメでした

もうちょっと自分で調べてみます、なにかわかったら伝えます
266仕様書無しさん:2012/07/22(日) 23:24:22.31
>>265
plug-inなのが難儀だが、本来Cocoa環境に全く関係ないところからというのでは
http://developer.apple.com/library/mac/#samplecode/X11CallCarbonAndCocoa/Introduction/Intro.html
が近いかも。単に一度 [NSApplication sharedApplication] 呼んでおけばいいという、ほんまかいなっというものだけど。まあ、アプリなんだけどねえ
267仕様書無しさん:2012/07/22(日) 23:27:47.40
>>265
あ、と、形に拘らないのだったら CFUserNotification は制約は少ないらしい
それもそのサンプルにサンプルが入っている
268仕様書無しさん:2012/07/23(月) 07:54:50.43
ありがとうございます、結局sharedApplicationでもダメでしたが
CFUserNotificationが使えたのでそちらを使うことにしました
269仕様書無しさん:2012/08/03(金) 20:54:54.27
某サイトへのログイン認証をiPhoneでしたくてPOST通信で投げてログインできたのはいいんだけど、
返り値というかログイン失敗した時のサーバーからのレスポンスの取得方法がよく分からなかったから、
didReceiveData と DidFinishLoadingでどれだけのデータ量が受信されたかどうかで
ログインの失敗成功を判定しようと思って、実際に出来たんだけど、この方法って邪道だよね?

ログインに成功した時と失敗した時のデータ量には大きな差があるから確実なんだけどスマートじゃないなと思って…
270仕様書無しさん:2012/08/03(金) 21:41:11.83
エラーのと何を返すってのはその某サイトのサーバサイドアプリの実装次第だからねえ。公開APIが無いのだったらしょうがないね
データ量で判断って怪しいから、返ってくるだろうエラーテキストででもっても、変えられたらだしねえ
271仕様書無しさん:2012/08/03(金) 22:21:41.09
>>270
ですよねー

まぁ趣味で作ってるもんだからいいか
272仕様書無しさん:2012/08/30(木) 22:23:20.19
CentOS 6.3(x86_64)でcocotronのBuildができなくて困っています。
分かるかた、どのようにすればよいか教えてもらえないでしょうか?

参考にしたのは以下のサイトで、この手順通りにビルドしようとしたらアセンブラのところでエラーが出て止まります。
https://github.com/farcaller/cocotron/wiki/Building-Cocotron
https://github.com/farcaller/cocotron/wiki/Building-GCC

  cmake -DCMAKE_C_COMPILER=/opt/objc/bin/gcc -DCMAKE_CXX_COMPILER=/opt/objc/bin/g++ -DCMAKE_INSTALL_PREFIX=/opt/objc ..
  make
   [ 51%] Generating msgSendv-linux.o
   msgSendv-linux.s: Assembler messages:
   msgSendv-linux.s:5: Error: suffix or operands invalid for `push'
   <略>
273仕様書無しさん:2012/08/31(金) 04:29:12.29
>>272
なんかスレチっぽいけど
pushl は32bitの命令で64bitではダメやんってことらしいよ
msgSendv-linux.s の中身がそれってことは、64bitに対応してないんじゃないの

https://groups.google.com/forum/#!msg/cocotron-dev/40H5mAUKukY/lF7kVgcUCHwJ
に、
+ A641E1BF1390C66600FE505A /* msgSendv-linux64.s */,
6E8113970A54BBAC000DE3F1 /* msgSendv-linux.s */,
ってあるから、64bit対応しようとして放棄or放置状態なのかなと
274仕様書無しさん:2012/08/31(金) 04:38:35.21
>>272
32bitバイナリを作るのは、コンパイラフラグに -m32 らしい
http://stackoverflow.com/questions/1272357/how-to-compile-a-32-bit-binary-on-a-64-bit-linux-machine-with-gcc-cmake

その他、ライブラリに32bitのもをとかあるかもしれないけど、それもこれも全くのスレチなので、他をあたるなりして頑張ってください
275272:2012/08/31(金) 11:24:07.01
>>273
>ってあるから、64bit対応しようとして放棄or放置状態なのかなと
>>274
>32bitバイナリを作るのは、コンパイラフラグに -m32 らしい
ありがとうございます。すみません。

276(・ω・`):2012/10/19(金) 19:36:36.77
iOSアプリを作りたいと考えているんですがオブジェクトcをいきなり学ぶべきですか?
c言語から入った方が良いんでしょうか?スレ違いなら何処のスレが良いか教えて頂けますか?
個人学習に適した良書が有りましたら教えて頂けますか。
(java&Androidマスター済みデス)
277仕様書無しさん:2012/10/19(金) 21:19:25.17
【Xcode】iPhoneアプリ開発初心者の集い【iOS】
http://anago.2ch.net/test/read.cgi/mac/1350384879/

こちらでどうぞ
278仕様書無しさん:2012/10/20(土) 15:18:48.35
HMDTさんのはじめてのブラウザの作り方
 http://hmdt.jp/safari/myfirst/controller.html
のWeb Kitの Cocoa バインディングを使う所で
Bind to:にWebViewが出てこないのってなんで?
279仕様書無しさん:2012/10/22(月) 12:05:13.58
>>278
私も悩んだ

仕様変更だろうから、あきらめた
280仕様書無しさん:2012/10/22(月) 18:26:24.33
>>279
なんか変わったのは間違いないんだろうけどねー
資料漁るのはもう疲れたよ...
281仕様書無しさん:2012/10/28(日) 01:51:18.38
xcodeでogreのサンプルをビルドすると

make -f /root/OgreSDK/CMakeScripts/ReRunCMake.make
make[1]: *** No rule to make target `/Applications/CMake 2.8-8.app/Contents/share/cmake-2.8/Modules/CMakeCCompiler.cmake.in', needed by `CMakeFiles/cmake.check_cache'. Stop.
make: *** [/root/OgreSDK/CMakeFiles/ZERO_CHECK] Error 2
Command /bin/sh failed with exit code 2

ってなります、どうすればいいですか
282仕様書無しさん:2012/10/29(月) 20:03:24.43
手につかない
283仕様書無しさん:2012/10/30(火) 10:13:26.20
>>278
一番最後のサンプルプロジェクト落として開いてみたけど(プロジェクトはコンバートされた)、バインディング先の表記が
 <WebView:0x115aaxxxx>
みたいに表示されていたけど、普通にコンパイル&ランできた
ので、コンバート後もWebViewのバインディングの仕組み自体は生きているみたいだから
内部的にはバインディング出来るようになっているみたいだけど、
バインド先を選び直したら、選択肢から消え去ってた
まぁ、そういうことなんだろうね
284仕様書無しさん:2012/11/17(土) 09:45:12.05
Xcode4.2で、ダウンロードしたソースコードをビルドしたところ、
以下の★で、

Unexpected '@' in programと

エラーが出てしまいます。新しい文法だと思うのですが、
もうしわけございません、識者の方、解消法がわかりませんか?

======
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:NO];
NSArray *sortDescriptors = @[sortDescriptor]; //★
======
285仕様書無しさん:2012/11/17(土) 11:20:00.39
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor]; //★
286仕様書無しさん:2012/11/17(土) 11:44:36.39
GCC でコンパイルしようとしてる?
287仕様書無しさん:2012/11/17(土) 17:42:33.40
>>285

ありがとうございます、ビルドできました。
288仕様書無しさん:2012/11/17(土) 17:45:46.09
287です、追記です。
285さんのヒントで、以下のサイトにたどり着きました。Xcode4.4からなんですね。

http://www47.atwiki.jp/socup/m/pages/216.html

ありがとうございます。
289仕様書無しさん:2012/12/15(土) 13:35:02.71
[self performSelector:@selector(foo)];
(respondsToSelector:は呼んでいない)
というコードがあったのですが、
[self foo];
としない理由は何が考えられますか?
290仕様書無しさん:2012/12/15(土) 13:44:48.48
@interface NSObect(Hoge)
- foo;
@end
とかが無いと警告がでるから
291仕様書無しさん:2012/12/16(日) 00:59:41.87
>>290
なるほどー。
ただ自クラスにメソッドが定義されてるのにperformSelectorで呼んでたので何か意図があるのではと思った次第です。
292仕様書無しさん:2012/12/22(土) 12:53:17.28
http://love-motif.com/article/art_13.shtml
Objective-Cの見た目がどうしても好きになれなかったけど、
このページを好きになったw
293仕様書無しさん:2012/12/23(日) 23:11:52.86
褒めてるのか貶してるのか判断が難しいなw
294仕様書無しさん:2013/01/30(水) 19:58:29.02
ヘッダファイルについて調べているのですが
file:///System/Library/Frameworks/Foundation.framework/Headers/NSObject.h において
@protocol や @interface で宣言されたメソッドが実装(定義)されているファイルというのは
どこにありますか?
295仕様書無しさん:2013/01/30(水) 20:33:20.70
@protocol は、ふつーはヘッダにそれがあるだけで実装はてめーでしろやっていう目的のものだと思うけど
「実装(定義)されているファイル」って意味わからんけど、@interfaceの場合のクラスの実態は、
file:///System/Library/Frameworks/Foundation.framework/Foundation
が指す先にまとめられているであろう
自分で Framework 作ってみればわかるよ
296仕様書無しさん:2013/01/30(水) 20:49:09.08
>>295
お返事ありがとうございます。

例えば、今私が書いているコードから抜粋すると
@interface ClassYear : NSObject
- (BOOL) is2013;
@end
の様な @interface コンパイラディレクティブをつくったとき、
@implementation ClassYear
- (BOOL) is2013 {
BOOL check = NO;
if (iv == 2013) check = YES;
return check;
}
@end
みたいな @implementation コンパイラディレクティブを書くとおもうのですが
NSObject.h の @protocol や @interface に対応する @implementation が見たいのです。
297仕様書無しさん:2013/01/30(水) 22:08:22.52
なんで見たいの?ライブラリって知っている?
だから、@protocol の実態は無いよw

そんな気にする理由がわからないところは気にしてないで、もっと気にして勉強しなければならないことがあるよ
298仕様書無しさん:2013/01/30(水) 22:11:54.91
>>296
http://news.mynavi.jp/column/objc/
を最初から全部読んで、それでもわからないならまたおいで
299294:2013/01/31(木) 17:25:12.75
ヘッダファイルが読み込んでいるファイルがライブラリ ... なのですが
昨日までいまひとつ理解できていませんでした。
>>295 で教えて頂いた
  > file:///System/Library/Frameworks/Foundation.framework/Foundation
  > が指す先にまとめられているであろう
の意味がやっと理解できました。

/System/Library/Frameworks/Foundation.framework/Foundation
はエイリアス、オリジナルのファイルは
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
拡張子のない UNIX 実行ファイルと表示されるこのファイルこそがライブラリファイルなのですね。
C というフォルダに入ってるこのファイルはおそらくバイナリファイルなのだとおもいます。
(日本語4種 + UTF-8 の文字コードで読めなかったため)
時間があれば内容を読み取ることができるのか確認してみたいとおもいます。
>>297 さんのレスがものすごくヒントになりました。ありがとうございました。
300294:2013/01/31(木) 17:26:05.89
@protocol についてですが、例えば NSObject.h において
@protocol NSCopying
- (id)copyWithZone:(NSZone *)zone;
@end
とあり、NSArray.h において
@interface NSArray : NSObject <NSCopying, NSMutableCopying, NSSecureCoding, NSFastEnumeration>
- (NSUInteger)count;
- (id)objectAtIndex:(NSUInteger)index;
@end
とあります。この記述があるからこそ NSArray.h を読み込む Foundation.h を読み込んだ時に
copyWithZone: メソッドがつかえるのだとおもいます。
そういうところを追いたかったのです。

・C を学んでいた頃からヘッダファイルが読み込んでいるライブラリファイルがどれなのか理解できていなかった。
・使用しているテキストに間違いがあるとおもい、それの確認に。
・super と self がなんであるか?(PDF にあるキーワードという言葉ではなしに)が
よく分からなかったので、super と self を定義している部分があればそれを見てみたかったのです。
Objective-C には仕様書がないので、あとは実装されている部分(@implementation)を見るしかないかなぁ、とおもいました。

今日ようやくカテゴリやテキスト出力まで学びましたが
使用しているテキストがあまりに分かりづらいので今は
http://libro.tuyano.com/index2?id=524006
の記事で学習しています。
>>298 さんに教えて頂いたページも参考にさせて頂きます。
大変実のある一日になりました。ありがとうございました。
301仕様書無しさん:2013/01/31(木) 17:43:21.73
>>299,300
>ヘッダファイルが読み込んでいるファイルがライブラリ
>C を学んでいた頃からヘッダファイルが読み込んでいるライブラリファイルがどれなのか理解できていなかった

今も理解できていないようだけど、コンパイラが使うのがヘッダファイル、リンカが使うのがライブラリファイル
ヘッダファイルが読み込んでいるライブラリファイルという概念は存在しない。コンパイラは単に目印を付けるだけ、リンカは目印に該当するのをライブラリ中から拾い出すというのは、Objective-Cでも同じで何も変わらない
302294:2013/01/31(木) 18:05:09.29
ああ、ありがとうございます。確かに
プリプロセス・コンパイル・リンクの部分はまだほとんど理解していません。
出直してきます。
303仕様書無しさん:2013/02/02(土) 11:37:17.56
 当然だけど、アップル自体はフレームワークのソース、とりわけアプリに近い部分は
原則非公開で、GNUSTEPやCocotronのような互換環境の見て推測するしかない。

 ただ、アップルのドキュメントは正確だし、情報は比較的多いしのでソースを調べる
必要性って無いと思うが。でなければあんだけ多くのIOSアプリなんて出回らない。

 294はなにからなにまで知らないと気が済まない典型的な組み込み系の人っぽいが、
いろんなクラスの役割を早く理解して組み合わせる、オブジェクト指向プログラミングの
勉強をしっかりしたやった方がいいと思う。
304仕様書無しさん:2013/02/03(日) 15:24:27.59
294 は実の所まともに Obj-C のプログラム組んだことがない人物に見えるが。
305仕様書無しさん:2013/02/03(日) 17:40:18.74
なんか資格試験だけには強そうだけどなw
306仕様書無しさん:2013/02/17(日) 15:38:45.83
素朴な疑問ですが、+initializeはどういう場面で使うものなのでしょう?
定石みたいなものはありますか
307仕様書無しさん:2013/02/17(日) 18:07:37.92
Singletonはここで作った方がいいというのを見たことはある。マルチスレッドを考えるととか
定石は+share...とか+default...のメソッド内で無かったら作るの方なんだろうけど
308仕様書無しさん:2013/02/24(日) 22:28:24.42
文字列定数の@"〜"って、retainつきのNSString*プロパティーに代入しても問題なさそうだけど、
リファレンスカウンタの動きとかどうなってるんでしょうか?
309仕様書無しさん:2013/02/25(月) 13:36:04.52
>>308
retainCountは最大値で固定
特別な領域に確保される
生存期間は起動時から終了まで
310308:2013/02/26(火) 15:14:20.82
>>309
なるほどありがとうございます
311仕様書無しさん:2013/03/04(月) 14:19:53.46
引数のないメソッドは、下記2通りの方法で呼べますが、
どんな時にどちらの表記を使うべきかの規約はありますか?
慣例的なものでも構いません

[クラス名 メソッド名]
クラス名.メソッド名
312仕様書無しさん:2013/03/04(月) 16:41:16.74
>>311
プロパティ以外はドット構文禁止!

だそうです
313仕様書無しさん:2013/03/05(火) 01:32:07.23
>>311
すべてメッセージ式(上の方)に統一した方がいいよ。
プロパティはドット記法、それ以外はメッセージ式と完全に分けられるならいいんだけど、プロパティの操作でも引数が増えた途端メッセージ式にしないといけないことがあって、統一性が取れない。
例えばUITableViewCellのselectedとか。animatedを指定してセットするときはドット記法使えない。
314311:2013/03/05(火) 09:20:06.30
>>312-313
ありがとうございます
プロパティって引数取れるんですね、知りませんでした
今後は全てメッセージ式に統一しようと思います
315仕様書無しさん:2013/03/05(火) 20:07:35.24
>>314
プロパティに引数とかないよ
>>313は -setSelected:animated:を使わないとアニメーションしないといってるだけだよ
316仕様書無しさん:2013/03/14(木) 18:23:21.25
[質問]
カテゴリ化されたメソッドの明示的な呼び出し方
iOSの起動時にapplication: didFinishLaunchingWithOptionsが呼び出されますが、
このときに application: didReceiveRemoteNotification を明示的に呼び出したいのですが

NSDictionary *remoteNotif = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];

[self didReceiveRemoteNotification: remoteNotif];
[application didReceiveRemoteNotification: remoteNotif];

のいずれも@interface AppDelegate/UIApplication にselectorが定義されていないというエラーになります。
どのように呼び出せばいいのでしょうか。
317仕様書無しさん:2013/03/14(木) 19:12:21.01
>>316
[self application:[UIApplication sharedApplication] didReceiveRemoteNotification:remoteNotif];

じゃなくてえ、
- (void)didReceiveRemoteNotification: didReceiveRemoteNotification:(NSDictionary *)userInfo;
ちゅうメソッド作って、そこで実作業して、
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
からも、それを呼び出すとか

まあ好みだけど
318仕様書無しさん:2013/03/14(木) 19:13:38.68
>>317
>- (void)didReceiveRemoteNotification: didReceiveRemoteNotification:(NSDictionary *)userInfo;
間違えた
- (void)didReceiveRemoteNotification:(NSDictionary *)userInfo;
319仕様書無しさん:2013/03/14(木) 21:18:24.46
>>317
どうもありがとうございます。

>- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
は定義済みです。

ところでこのメソッド定義って「application」が2回出てくるけどこの2つのapplicationはどう違うんでしょう?
320仕様書無しさん:2013/03/14(木) 21:44:57.44
>>319
うん。それを呼び出したいってのだから、そうだろけど

[self application:[UIApplication sharedApplication] didReceiveRemoteNotification:remoteNotif];

[self application:application didReceiveRemoteNotification:remoteNotif];
でよかったなあ。そういえば application:didFinishLaunchingWithOptions: 内でという話しだったなと

メソッド名(セレクタ名)の一部と単なる引数名って...
321仕様書無しさん:2013/03/17(日) 19:46:27.41
>>319
> 2つのapplication

セレクタの一部と仮引数のこと言ってんの? いやまさかね
322仕様書無しさん:2013/03/17(日) 20:40:54.03
>>321
後日教本で把握した元の質問者だけど、
識別子が複数の単語から形成されるのはプログラミング言語として結構珍しいんじゃないかと思う。

この場合はapplication:didReceiveRemoteNotification という名称のセレクタ(メソッド)になるわけで。
ところで、objective-cのセレクタの第1引数にキーワード名が付けられない理由はなぜだろう?
323仕様書無しさん:2013/03/18(月) 01:16:08.07
別に無くてもいいんじゃねってのはCocoa/IOSの命名からわかるだろう
324仕様書無しさん:2013/03/18(月) 01:21:03.16
あと、セレクタ名が
引数無し
method
引数付き
method argument:
method argument1:argument2:
ってなるんじゃね
だったら
methodArgument:
methodArgument1:methodArgument2:
と変わらんだろう。

んなこまけーとこ気にすんなっ。俺やお前より賢い人が考えたものだと受け入れろw
325仕様書無しさん:2013/03/18(月) 01:49:04.47
再び考えてみたら
[instance method argument1:hoge argument2:hogehoge];
って気持ち悪いじゃんっ。現在のに見慣れているからだけでなく絶対的にw

>>324
>methodArgument1:methodArgument2:
書きたかったのは
methodArgument1:argument2:
でした
326仕様書無しさん:2013/03/24(日) 10:29:56.43
※本投稿の拡散歓迎です。
派遣労働者のパワハラ・セクハラ対応策について

下請け労働者、業務委託、派遣労働者は契約期間が短期という制約があり、契約更新拒否をちらつかせた不当な労働強要の実態があります。
雇用形態における壁・差別は法律に直接的規程はなくとも認められているわけではありません。
「正社員の有期雇用労働者に対する優先的地位乱用」による「侮辱罪」、「脅迫罪」、「強要罪」、「傷害罪」、条例違反で刑事告訴できるが、
本稿では刑法ではなく労基法関連の対策に焦点をあてます。

労働基準法第5条(強制労働の禁止)(1年以上10年以下の懲役又は20万円以上300万円以下の罰金)
■精神の自由を不当に拘束する手段によつて、労働者の意思に反して労働を強制してはならない。
例:正規労働者(同僚)による残業の強制。仕事の期限が遅滞した際に「繰り返し」残業を示唆する。
例:派遣の仕事の回し方の裁量を正社員が決めるなどと示唆する。
例:飲み会、昼食、たばこの同伴を強要する。

労働基準法3条 (六箇月以下の懲役又は三十万円以下の罰金)
■社会的身分を理由として労働条件について差別的取扱をしてはならない。
例:社内制度に明示されていない指揮命令系統が正社員と派遣社員に存在する。
派遣社員も正社員と同様に社内制度に準じるという契約上、業務で平等に取り扱う必要がある。
例:社内制度上の上司でもない正社員が命令をしたり、仕事上の指導権・裁量・許可権限をもつこと
派遣契約の内容にそうした区別を制度化するような客観的な証拠がなければ派遣社員側に有利といえる。
例:派遣社員に業務上における裁量を一切与えず、非管理職の正社員が許可を与える

労基法3、5条については、経営責任も問えますので、刑事告訴できる相手は以下のとおり。

派遣先 当該正社員
派遣先 指揮命令者
派遣元・派遣先 代表取締役

刑事告訴(告発)の行い方ですが、内容証明郵便で告訴状(告発状)を地方検察の直告班に郵送してください。
327仕様書無しさん:2013/03/29(金) 04:19:37.78
昔、17年くらいまえかなー。
appleのdeve用CDに音楽トラックが入ってる月があってさ、女性ボーカルの曲。
誰かタイトルしらない?
328仕様書無しさん:2013/04/24(水) 10:41:58.24
ttp://www1.axfc.net/uploader/so/2879450.pqf

職業プログラマーが3時間でiPhoneアプリを作成出来るようにするための
ドキュメントを公開しました

もし良かったら利用してください
329仕様書無しさん:2013/04/24(水) 12:10:49.81
>プロトコルを採用しているクラスは、そのプロトコルで宣言 されているメソッドを必ず実装しなければなりません
それは以前の話し
今は、@required と @optional が指定でき、実際に @optional なのも多い。もちろん、@optional なプロトコルメソッドは任意

プロトコルなんだから「採用」よりも「準拠」じゃねと思うけど、それはまあいいや
330仕様書無しさん:2013/05/07(火) 17:08:51.52
331仕様書無しさん:2013/05/21(火) 00:57:56.62
>>329
adoptの日本語訳だしな
332仕様書無しさん:2013/05/21(火) 01:01:16.92
>>311
これしばらく調子乗ってノリノリでつかってみたけど、あとでクソ面倒なことに気付いたから[[Hoge alloc] init]の形で古典的に書いてるよ。
最初に定義された記法だから破綻がない。
333仕様書無しさん:2013/05/24(金) 10:37:49.48
流行はalloc initなんて書かないで
newするらしいじゃん
334仕様書無しさん:2013/05/24(金) 10:56:40.15
>>333
ARCでretain書かなくなったからnewでもいい、ってことだが
googleのobjCガイドラインも、Apple Cocoaガイドラインもalloc initを推奨してる

それに稀にinitを別のシグネチャに変えたりするときに、newだとめんどくさい
335仕様書無しさん:2013/05/28(火) 12:30:45.22
ARCについて質問です。
ARCで、イニシャライザでFlyweightパターンなどの都合でレシーバ以外のオブジェクトを返した場合、
センダ側ではalloc→initとやっている訳ですから、releaseすることなくそのオブジェクトへのポインタがセンダ側で失われメモリリークしますよね
かといってイニシャライザ側の実装ファイルをARC解除して、レシーバ以外のオブジェクトを返すときにイニシャライザでreleaseしようとすると、
センダがもしalloc→initとやらずに、alloc→autorelease→initとかやっていたら、二重にreleaseされてしまう恐れがありますよね…
Flyweightパターンを適用する場合にはinitを封印して常にクラスメソッドを使うようにさせなければならないのでしょうか。
336仕様書無しさん:2013/05/28(火) 13:23:39.55
>>335
@implementation FactoryClass
- (id)init
{
NSObject *object = [[NSObject alloc] init];

return object;
}

- (void)dealloc
{
NSLog( @"dealloc %@", self );
}
@end


_object = [[FactoryClass alloc] init];
NSLog( @"%@", _object );

って、ちょっとナンだかのでも、
_object = [[FactoryClass alloc] init];
直後(?)に、FactoryClass のインスタンスは解放される
思っているよりもかなり賢いぜよ
337仕様書無しさん:2013/05/28(火) 16:06:31.52
ARC切ってstatic analyser使ったら賢すぎだわ
一度好きに書いてみてアナライザ通したら指摘してくるよ
338仕様書無しさん:2013/06/02(日) 21:47:42.90
Analyser賢いよな。結構ビックリするような瑕疵を見つけてくる。
339仕様書無しさん:2013/06/10(月) 03:12:19.77
.
340仕様書無しさん:2013/06/11(火) 11:46:51.94
Cocoa自体は10.9でも激変なしかな。
iOSはGUI激変でデザイナー涙目だけど
341仕様書無しさん:2013/06/14(金) 00:30:51.41
10.10でiOSと統合っぽいな。区切りもいいしw。
342仕様書無しさん:2013/06/14(金) 01:12:53.75
Sprite Kitは使いやすそうだね
343仕様書無しさん:2013/06/14(金) 03:56:48.87
>>341
iOS 7で反応見てからMacをiOSに寄せるアプローチとみた
344仕様書無しさん:2013/06/15(土) 09:12:11.65
おまえら、はやくこれ完成させてください
https://github.com/ashie/gtkimcocoa
345仕様書無しさん:2013/06/19(水) 16:13:20.34
適当なスレが見つからなくてスレ違いだったらごめんなさい。
山ライオンぐらいから厳しくなってきたのでappファイルの署名をしたいとDev契約結んで
キーチューンアクセスとDevセンターからcerを生成してターミナルからコマンドで署名しても
CSSMERR_TP_TRUSTEDというエラーで署名できなくて困っています。
キーチューンアクセスを調べたらDevセンターからDLしたAppleの署名付きcerにも
関わらず、「この証明書は不明な機関によって署名されています」となっていました...orz

Appleからもらったのに不明な機関とはどういうことでしょう。。?これはどうしたらよいのでしょうか。
ちなみに他の署名書に 「Apple Worldwide Developer Relations ~」はあります。
346仕様書無しさん:2013/06/19(水) 17:57:08.47
ここもいいけど、Mac板のほうが人多いかも

俺はよくわかんない、ごめんね
347仕様書無しさん:2013/06/20(木) 23:59:49.39
NSDictionaryからクラスに、
キーと名前が一致するプロパティに値を移してくれるようなメソッドってあります?

まぁセレクタとforで数行じゃんって話ではありますが…
348仕様書無しさん:2013/06/21(金) 00:30:38.80
ない。
うん、セレクタてかKVCで数行で、これもわかっていると思うがカテゴリで追加すればいいことだからな
349仕様書無しさん:2013/06/22(土) 10:58:05.14
KVC下手に使うとあっという間に訳わからんことになるけどね
350仕様書無しさん:2013/06/22(土) 13:38:42.25
>>347の目的ならどっちも変わらない
351仕様書無しさん:2013/06/22(土) 13:55:36.87
forは使わないけどforeachは使うとかだったら腹痛
352仕様書無しさん:2013/06/22(土) 13:59:49.38
俺の使っているのにはforeachなんて語は無いな。さすがそんなので腹痛になるだけある
353仕様書無しさん:2013/06/22(土) 14:05:45.77
foreachとdowhileは害
354仕様書無しさん:2013/06/22(土) 14:14:39.20
コードも張らない奴に用は無い
forで回して突っ込んで置けば良いと俺は思うよ
355仕様書無しさん:2013/06/22(土) 14:15:38.02
こういうヤツが権力を持つとアホなコーディング規約作りそうというの伺える
356仕様書無しさん:2013/06/22(土) 14:16:08.79
357仕様書無しさん:2013/06/22(土) 18:16:56.35
>>355
デメリットを理解せず失敗ばかりするアホ
358仕様書無しさん:2013/06/22(土) 18:19:41.08
01しかない職業病なのか元々馬鹿なのかわからんヤツだな
まあ元々賢くないから職業病wになるのだろうから同じか
359仕様書無しさん:2013/06/22(土) 19:06:27.56
>>354って言うから書いてみた

@implementation NSDictionary (AddOn)
- (void)expandToPropertyForObject:(NSObject *)object
{
for(NSString *key in self.allKeys){
if([key isKindOfClass:[NSString class]])
continue;
@try{
[object setValue:[self objectForKey:key] forKey:key];
}
@catch(NSException *e){
if([e.name isEqualToString:@"NSUnknownKeyException"])
continuel;
@throw e;
}
}
}
@end

セレクタ使う場合うはset大文字なんだろうけど、NSStringの便利メソッドってあったけ?
360仕様書無しさん:2013/06/22(土) 19:08:13.41
ああ、
if(![key isKindOfClass:[NSString class]])

continue;
だな。まあいいや
361仕様書無しさん:2013/06/22(土) 20:33:22.31
>>359
やるじゃん
362仕様書無しさん:2013/06/22(土) 22:25:24.02
>>359
隙のないコードだ
363仕様書無しさん:2013/06/25(火) 18:20:00.23
すみません
KVOについてなんですが
クラスAでプロパティabstractObjectsをKVC準拠にし、
クラスAのサブクラスBでプロパティabstractObjectsの言い換え(エイリアス)としてプロパティconcreteObjectsを追加します
concreteObjectsとabstractObjectsの名前を変えただけで中身は同じなので、サブクラス側でKVCを実装しなおすのはやりたくないのですが
%2b keyPathsForValuesAffectingValueForConcreteObjects
で[NSSet setWithObject:@"abstractObjects"]を返しておけばいいのですかね?
364仕様書無しさん:2013/06/26(水) 05:00:57.45
>>363
>クラスAのサブクラスBでプロパティabstractObjectsの言い換え(エイリアス)としてプロパティconcreteObjectsを追加します
そんなことする意味あるの?
365仕様書無しさん:2013/07/01(月) NY:AN:NY.AN
NSUserDefaultsで保存したデータをオーガナイザ等から書き換えることはできますか?

デバッグ担当から、デバッグ用に内部データ書き換え画面を作ってっていわれて困りんぐ。
366仕様書無しさん:2013/07/04(木) NY:AN:NY.AN
ステータスバーにセットしたメニューの更新の仕方を教えてください。
ファイルをダウンロードし、そのダウンロード進行率をメニューの項目として表示しようと思い、以下のようなメソッドを実装しました。NSURLDownload のデリゲートメソッドからダウンロードステータスを受信する度にこのメソッドが呼ばれます。

-(void)setDownloadStatus:(NSArray *)status {
NSInteger tag = 0;
NSString *title;
NSString *percentage;
if ([status count] >= 1) tag = [[status objectAtIndex:0] intValue];
if ([status count] >= 2) title = [status objectAtIndex:1];
if ([status count] >= 3) percentage = [status objectAtIndex:2];
if ([systemStatusBarMenu itemWithTag:tag]) {
NSMenuItem *sbMenuItem;
sbMenuItem = [systemStatusBarMenu itemWithTag:tag];
[sbMenuItem setTitle:[[[title stringByAppendingString:@" : "]
stringByAppendingString:percentage]
stringByAppendingString:@"%"]];
}
}

メニューが閉じている間は問題ないようですが、自分がメニューを開いている途中は上手く更新されません。また、メニューを開いた状態でしばらくすると Xcode がエラーを吐きます。(lldb)

そもそもメニューの項目を更新する方法として、このメソッドの書き方は正しいのでしょうか。
そしてメニューを開いている状態でも上手く更新されるような方法を教えてください。
367仕様書無しさん:2013/07/14(日) NY:AN:NY.AN
すみません、Objective-Cの絵本って本を読んでてどうしても納得出来ないところがあるのですが…

NSArray *ary;
ary = [NSArray arraywithObjects:@"ABC",@"DEF",@"GHI",nil];
と定義した時、aryでobjectAtIndexをしたい時は
NSString *str [ary objectAtIndex:1];  ですよね?

本ではNSString *str [array objectAtIndex:1];ってなってたんですけど、誤りだと思うのです。。

あと上記の定義で
[ary replaceObjectAtIndex:1 withObject:@"DDD"]とした場合は「@"ABC",@"DDD",@"GHI"」になりますよね?
本では「@"GHI”,@"DDD",@"ABC"」という風にDDDが置き換わった上に前後のABCとGHIも入れ替わってて意味わかんないです、、
368仕様書無しさん:2013/07/14(日) NY:AN:NY.AN
>>367
納得する必要は一切無い
自分でそのコード動かして見れば良いよ
369仕様書無しさん:2013/07/15(月) NY:AN:NY.AN
>>368
そうですよね…
まだ書けるほど技術ないのですが、力がつくまで謎は胸にしまっておきます。
370仕様書無しさん:2013/07/15(月) NY:AN:NY.AN
>>396
いやいやいやいや
実際そこに書いてあるのを書き写して動かして見ろよ
それもやらずに本だけ読んでも何の力もつかないぞ
精々我慢して本を読み切る能力くらいだ
371仕様書無しさん:2013/07/15(月) NY:AN:NY.AN
>>370
今やってみたのですが、1番目の謎は解明できた(やっぱり本が間違っていた)のですが、
2番目はうまく処理してくれませんでした。。

NSArrayではなく、NSMutableArrayにしてやってみたのですがやっぱりエラーになって、、
もしかしてallocとかしないと配列の番号を指定してもエラーになるという事でしょうか?
372仕様書無しさん:2013/07/15(月) NY:AN:NY.AN
ちなみにエラー内容は
「thread1:signal SIGABRT」です。
373仕様書無しさん:2013/07/15(月) NY:AN:NY.AN
クラッシュはだいたいにおいてSIGABRTにしかならない
ログに本当の原因が出ているだろう。だいたいにおいて

NSMutableArrayにするのは正解
374仕様書無しさん:2013/07/16(火) NY:AN:NY.AN
>>373
クラッシュ…?
なんか沢山意味不明な文字が書いてありますが、
[ary replaceObjectAtIndex:1 WithObject:@"DDD"]がunrecognizedってなってます。
戻り値もvoidなので書き方自体は間違ってないと思ったのですが…
お手上げです。。
375仕様書無しさん:2013/07/16(火) NY:AN:NY.AN
unrecognized selectorとかだったらaryにreplaceObjectAtIndex:withObject:が実装されてないことになる。
aryが別のオブジェクトになってたり、メソッド名をうち間違えてたりするんじゃない?
376仕様書無しさん:2013/07/16(火) NY:AN:NY.AN
NSMutableArray *ary = (NSMutableArray *)[NSArray arraywithObjects:@"ABC",@"DEF",@"GHI",nil];

NSArray *ary;
ary = [NSArray arraywithObjects:@"ABC",@"DEF",@"GHI",nil];
NSMutableArray *mutableAry = (NSMutableArray *)ary;
とでもしているんだろ
377仕様書無しさん:2013/07/17(水) NY:AN:NY.AN
Viewの座標変換について教えてください。
A<-B<-C<-D (Aが親)
の順にUIViewが重なっているとして、AにおけるDのframe.originの値をとりたいです。

[DView convertPoint:DView.frame.origin fromView:AView];
[DView convertPoint:DView.frame.origin toView:AView];
とか試してみたのですが、正しい値がとれている感じがしません。

@上記のやり方であってますか?
AViewに階層が複数ある場合でも、「AViewにおける座標」や「Bにおける座標」
のように各階層ごとの座標を取得できるものなのでしょうか?
378仕様書無しさん:2013/07/17(水) NY:AN:NY.AN
>>375
>>376
ありがとうございます!出来ました!
NSMutableArray *ary;
ary = [NSMutableArray arrayWithObjects:@"ABC",@"DEF",@"GHI",nil];
のところが
NSMutableArray *ary;
ary = [NSArray arrayWithObjects:@"ABC",@"DEF",@"GHI",nil];
ってました…。本がこのような記載になっていたため、気づきませんでした。
思わぬところにも誤植があったみたいです

こんなにたくさん誤植があると、ちょっと信じられなくなってきました…
379仕様書無しさん:2013/07/17(水) NY:AN:NY.AN
380仕様書無しさん:2013/07/17(水) NY:AN:NY.AN
>>377
@あってません。frameとboundsの違いを理解しよう
Aもちろん、できる

[CView convertPoint:DView.frame.origin toView:AView];

[DView convertPoint:DView.bounds.origin toView:AView];

[AView convertPoint:DView.frame.origin fromView:CView];

[AView convertPoint:DView.bounds.origin fromView:DView];
だろうな

iOSは次回からは>>379で。ここはCocoa
381仕様書無しさん:2013/07/17(水) NY:AN:NY.AN
[CView convertPoint:DView.frame.origin toView:AView];
よりも
[DView.superview convertPoint:DView.frame.origin toView:AView];

[AView convertPoint:DView.frame.origin fromView:CView];
よりも
[AView convertPoint:DView.frame.origin fromView:DView.superview];

の方がよかったか
382仕様書無しさん:2013/07/20(土) NY:AN:NY.AN
Objective-Cにてプログラムを始めた者です。
解説本にサンプルとして書かれた、以下コードを別のコードに変えて実行すると、
「Thread 1:EXC_BAD_ACCESS〜 」のエラーとなります。
(※同じ動作を期待したのですが・・・・)

正常に動作するサンプルコード
→ NSLocale *jaLocale;
jaLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"ja_JP"];
変更するとエラーとなったコード
→ NSLocale *jaLocale;
jaLocale = [NSLocale alloc];
jaLocale = [jaLocale initWithLocaleIdentifier:@"ja_JP"];

なぜエラーになってしまうのか、どなたか教えて頂きたく書き込みいたしました。
よろしくお願い致します。
383仕様書無しさん:2013/07/20(土) NY:AN:NY.AN
NSLocale 内で、ちょっと変わったことをやっているか、ARCのなんかの対応を怠っているかじゃね

特にallocとinitを分けてもObjective-C的に間違いではないが、極めて稀な場合を除いてそんなことする意味が全く無いので、するやつあいねえだろと想定してなかったとかじゃね

ARC無しだと同じ動作を期待したように動くよ
他のクラスでARC有りでも期待したように動くのもある
384仕様書無しさん:2013/07/21(日) NY:AN:NY.AN
NSAutoreleasepool とARCって、実際どっちがいいんでしょう?
385仕様書無しさん:2013/07/22(月) NY:AN:NY.AN
善し悪しの判断基準は何なのか
386仕様書無しさん:2013/07/22(月) NY:AN:NY.AN
扱いやすさ?
387仕様書無しさん:2013/07/22(月) NY:AN:NY.AN
細かいツッコミをしない優しい人らだなあ
388仕様書無しさん:2013/07/23(火) NY:AN:NY.AN
自動解放プールをARCと同様のメモリ自動管理システムだと勘違いしている奴はたまにみる
389仕様書無しさん:2013/07/23(火) NY:AN:NY.AN
えっ違うんですか?
もしよろしければ、その違いを…
390仕様書無しさん:2013/07/23(火) NY:AN:NY.AN
ARCにも autorelease pool は存在する。利用するその利点がうっすーくなっているけど

ARCじゃないの(MRC)
retain/release/autoreleaseをプログラマが適所に書く
ARC
retain/release/autoreleaseをコンパイラが勝手に適所に挿入してくれる。おまけとして、weakなんて二次的な変数を安全にしてくれる(指しているインンスタンスが無くなるとnilになる)

MRC 「Manual」 Reference Counting
ARC「Automatic」 Reference Counting

というのは、Webにごろごろ転がっているだろ
391仕様書無しさん:2013/07/24(水) NY:AN:NY.AN
わかりやすいです&#8252;
ありがとうございます( ; ; )
392仕様書無しさん:2013/09/09(月) 19:49:54.32
GTMHTTPFetcher使ってphpのjsonにデータ渡してmysqlに登録する処理をしていて、
特定のデータの時だけ、テーブルに登録した画像のバイナリファイルが欠損するのですが、
何か原因パッと思い浮かばないでしょうか?

objective-cでデータ渡すまでのバイナリは正しくて、phpで受けた時には欠損してるのですが、その間になにが起きてるのかよく分からなくて、
欠損するデータができる場合もパターンがあるのですが、100%同じ欠損を再現するのでネットワークとかハードスペックの問題ではないと思ってます。
393仕様書無しさん:2013/09/16(月) 01:14:19.70
Cocoaで現在マウントされてるメディア名(/Volumes/***)を取得するには
NSArray* arr = [[NSWorkspace sharedWorkspace] mountedRemovableMedia];
を使いますが、dfコマンドで表示されるようなFilesystem名(/dev/disk***)を取得するには
どうすればいいのでしょうか? よろしくお願いします。
394仕様書無しさん:2013/09/16(月) 03:40:02.27
>>393
#import <sys/mount.h>

struct statfs *mountBuffer;
int numElements;
if( (numElements = getmntinfo( &mountBuffer, MNT_NOWAIT )) > 0 ){
for( int idx=0 ; idx < numElements ; idx++ ){
NSLog( @"%s on %s", mountBuffer[idx].f_mntfromname, mountBuffer[idx].f_mntonname );
}
}
395仕様書無しさん:2013/09/16(月) 23:30:50.85
>>394
取得できました、ありがとうございます。
396仕様書無しさん:2013/09/21(土) 12:19:29.61
Dictionary.appに追加出来るオンライン辞書(Weblio)を作ってみた、なんてやついる?
397仕様書無しさん:2013/09/22(日) 22:36:09.14
xcodeにてobjective-cを勉強中の者です。
「Xcode4ではじめるObjective-cプログラミング」という書籍の内容を進めているのですが、
以下の部分について、方法がわからず困っております。
-------------------
@あらかじめ、スーパークラスとなるPersonクラスをプロジェクトに追加しておきます。
A「File」メニューの「New」→「New File」を選択し、テンプレートを選択するダイアログを表示します。
B「Choose a template for your new file」画面で、左側のグループから「Mac OS X」→「Cocoa」を選択します。右側にグループに属するテンプレートの一覧が表示されるので「Objective-C class」を選択します。
C次の画面では「Class」でクラス名として「ClubMember」を指定します。「Subclass of」で継承元となる「Person」を選択します。
D次の画面で保存先のフォルダを選択し「Create」ボタンをクリックします。
E以上で、「ClubMember.h」と「ClubMember.m」のひな形がプロジェクトに追加されます。インターフェースセクションである「ClubMember.h」を開いて、Person.hがインポートされていること、およびスーパークラスが「Person」になっていることを確認してください。
---------------------------
環境はOS X でバージョンが10,8,5、Xcodeのバージョンが4.6.3です。
上記部分までのレッスンで、自作クラス作成がありPersonクラス(Person.h、Person.m)は作成済みです。
その流れの中、上記@の「Personクラスをプロジェクトに追加しておきます」の方法がわかりません。
よって、Cの[「Person」を選択します]の部分でスーパークラスの選択に「Person」クラスは当然ありません。

基本的な事で恥ずかしいのですが、スーパークラス候補に自作クラスを追加する@の部分の方法をご教授頂けませんでしょうか。
どなたかよろしくお願いいたします。
398仕様書無しさん:2013/09/23(月) 08:00:25.93
.hと.mをXcodeの左ペインにドラッグして、Copy Itemsとadd to targetsにチェック。
399仕様書無しさん:2013/10/07(月) 11:48:04.93
質問です。
写真等のUIImageの上に、メモとしてUIImageを置き、その上に落書き等をできるようにしています。
しかし、消しゴムの役割を持つ機能が実装できずに滞っています。
検索しても、白キャンパス前提の、白で塗りつぶして擬似的に消したように見せる状態にすることしか見つけられませんでした。
また、元画像から消しゴムの範囲をコピーして貼付ける手法をとっていますが、メモ部分だけを取り出したい時、
現状では当然ながら消しゴムでこすった部分だけ、メモに元画像が映り込んでしまいうまく使えません。

どのようにして、Strokeした部分を透明に戻すことができますでしょうか。
よろしくお願い致します。
400仕様書無しさん:2013/10/07(月) 11:52:49.21
すいません。誰かにきこうとすると頭が冴えるもので、
書き込み直後、思いついたものを試したところ、解決しました。

CGContextSetBlendMode(UIGraphicsGetCurrentContext(),kCGBlendModeClear);
401仕様書無しさん:2013/10/30(水) 00:18:48.87
あるアプリが、「Dockに追加」された事の通知を別のアプリでうけとりたいのですが、何か方法はあるのでしょうか。
402仕様書無しさん:2013/11/03(日) 23:07:28.93
>>401
だれかー、知っているひといる?
403仕様書無しさん:2013/11/03(日) 23:40:15.77
いやそんな通知は無いだろうというのが沈黙なんだろう

~/Library/Preferences/com.apple.dock.plist
をポーリングしてみるとか
404仕様書無しさん:2013/11/04(月) 23:21:47.98
>>403
そうなんですかね、、

>>~/Library/Preferences/com.apple.dock.plist
をポーリングしてみるとか

ちなみに、killall Dockしないと追加内容は、com.apple.dock.plistに反映されない。
追加を検知して、killall Dockさせたいのですが。あきらめます。
405仕様書無しさん:2013/11/04(月) 23:28:55.75
>>404

>>ちなみに、killall Dockしないと追加内容は、com.apple.dock.plistに反映されない。

これ、間違ってましたすいません
406仕様書無しさん:2013/11/14(木) 11:51:15.56
カテゴリのクラスエクステンションを行うのは正しくないのでしょうか?

UIView+addition.m

#import "UIView+addition.h"

@interface UIView( addition )
-(void) additionalMethod;
@end

@implementation UIView( addition )
-(void) additionalMethod{

}
@end

このような記述をすると、interface部分で
"Duplicate definition of category 'addition' on interface 'UIView' "
というワーニングが出ます。

UIView+addition.h側にも@interface(addition)部があるのが原因ですが、
これを@interface()に変えると、ヘッダ側で宣言したメソッドの実行部に
"Category is implementing a method which will also be implemented by its primary class"
のワーニングが出ます。

エラーではなく動作に問題はないのですが、カテゴリとエクステンションを同時に行う際の正しい書式をご存知の方、ご指導お願いします。
407仕様書無しさん:2013/11/14(木) 12:35:06.98
>>406
UIViewなどの既存のクラスに無名カテゴリを追加するのは良くないと思う。
プライベートなメソッドを追加するだけなら、今は@interfaceで宣言せずに@implementationに実装だけ書けるよ。
408仕様書無しさん:2013/11/14(木) 12:44:01.01
>>406
@interface(addition) を書くのはUIView+addition.h だけでいい。
UIView+addition.m には要らない。二ヶ所にあるから怒られてる。
409仕様書無しさん:2013/11/14(木) 13:02:19.13
>>407 >>408
なるほど、プライベートメソッドを前方宣言しないと確かにワーニングが出ませんが、
”正しい”書き方ではないのだと思っていました。
今はプライベートメソッドは宣言しなくてもいいんですね。
ありがとうございます。
410仕様書無しさん:2013/11/14(木) 13:40:01.04
>>409
コンパイラが賢くなったからね。ここ数年のObjCの進化は凄まじいものがあるから、いっぺんおさらいするといいよ。
411仕様書無しさん:2013/11/22(金) 17:23:50.79
質問があります。

iphone5sになってからデフォルトのカメラアプリが120fpsのスロー動画を撮影できるようになったと思います。
それを用いてアプリを作りたいのですが、これはAVFoundationのフレームワーウで実装できるものなのでしょうか。
activeVideoMinFrameDurationプロパティなどの記述を見つけはしたので、調べる方向性は間違っていないと思いたいのですが・・・
412仕様書無しさん:2013/11/24(日) 18:26:23.51
Cocoa != iOS
413仕様書無しさん:2013/11/25(月) 09:08:49.32
441、書き込んでから気づきました・・・すみません
414仕様書無しさん:2013/11/26(火) 16:23:45.05
そもそもプログラマー板はプログラマーという変な生き物の生態について論じる所なので、プログラミングの質問をするのが間違い。
Mac OS XやiOSプログラミングの本スレは新Mac板にあるし、それ以外のプログラミングの質問はふつープログラム技術板でするもの。
415仕様書無しさん:2013/12/03(火) 21:05:50.73
なにをいまさら。初期からすでにそんなお題目はお題目でしかないだろ
416仕様書無しさん:2013/12/19(木) 23:31:43.63
教えてください。
NSLog(@"message:%@",str);
NSLog(@"%@",str);
ってどう違うんですか?
417仕様書無しさん:2013/12/19(木) 23:38:08.99
>>416
実際にログを出してみて違いが解らなかったの?
出力されるログに"message:"がつくかどうか
418仕様書無しさん:2013/12/20(金) 00:13:30.68
すみません。勘違いでした
419仕様書無しさん:2013/12/28(土) 12:44:43.78
あるクラスの中で使う列挙型を定義したいのですが定義場所はどこが一般的ですか?

・ヘッダファイルのインスタンス変数定義領域
・ヘッダファイルの@interfaceの前

どこなんでしょうか
420仕様書無しさん:2013/12/28(土) 12:55:42.34
>>419
インスタンス変数定義域でenumなんか書けねーよ
ふつうは@interfaceよりも前(C++11により、前方宣言して後ろで定義することも可能だ)、
クラス内だけで使いたいのなら、実装ファイルの@implementationとかの前にでも書けばいい
421仕様書無しさん:2013/12/28(土) 13:03:09.60
>>420
サンキュー(^_−)−☆
422仕様書無しさん:2014/01/01(水) 16:07:58.79
親クラスHumanで initWithName という指定イニシャライザがあります。
小クラスTalashiでは init というメソッドをオーバーライドし

- (id)init
{
self = [super initWithName:"Takashi"];
if (nil) {
...
}
return self;
}

のようにしようと思ったのですがこれでは親クラスの指定イニシャライザをオーバーライドしていません。
この場合 initWithName もオーバーライドした方がいいのでしょうか?
423仕様書無しさん:2014/01/01(水) 17:35:32.29
小クラスの指定イニシャライザがinitで(そこで親の指定イニシャライザを呼んでいるなら)、とくに小クラスで親クラスの指定イニシャライザを呼ぶ必要はないよ
424仕様書無しさん:2014/01/01(水) 17:36:49.97
×親クラスの指定イニシャライザを呼ぶ必要はないよ
○親クラスの指定イニシャライザをオーバーライドする必要は無いよ
425仕様書無しさん:2014/01/01(水) 18:53:40.53
>>423
サンキュー(^_−)−☆
426仕様書無しさん:2014/01/01(水) 21:47:45.52
サンキューってのイラつくな?
釣りなのか?
427仕様書無しさん:2014/01/01(水) 23:32:00.26
あるオブジェクトの隣のオブジェクトを取得するメソッドの名前はどのようにつければいいですか?

- (id)nextObjectOf:(id)obj position:(pos)p

posは前か後ろかを指定するものだと思って下さい

こんな感じのメソッド名でいいですかね
428仕様書無しさん:2014/01/02(木) 01:22:38.08
>>427
ポジションって何を指定すんの?
429仕様書無しさん:2014/01/02(木) 01:23:48.67
>>428
ああ後ろか前かだけか。
nextなのに後ろじゃないっておかしくね
430仕様書無しさん:2014/01/02(木) 02:34:09.32
- (id)nearObjectOf:(id)obj position:(pos)p

これででうでしょうか
431仕様書無しさん:2014/01/02(木) 03:22:33.08
ん?そもそもobjって何のインスタンス?NSArrayじゃないの?
432仕様書無しさん:2014/01/02(木) 04:54:48.93
素直にインデックス振って、インデックス±1でアクセスすりゃよくねぇ?
nearとかいう曖昧な形容詞とかはつけちゃいかんよ
433仕様書無しさん:2014/01/02(木) 06:13:21.23
NSArrayで返すメソッド一つ用意すれば事足りると思う
434仕様書無しさん:2014/01/02(木) 09:25:27.14
>>427
nearは「近くの」だから、厳密に隣だけならnextの方がいいけど、>>429みたいなのもいるからなぁ。
あと、positionはindexと同様に絶対位置を表すので、相対位置ならoffsetにすべき。
それから、objとかposとか中途半端に略すのは良くない。

ってわけで、自分だったら二つに分けるかな。
- (id)nextObjectOf:(id)object;
- (id)previousObjectOf:(id)object;
435仕様書無しさん:2014/01/02(木) 09:34:31.70
>>434
>あと、positionはindexと同様に絶対位置を表すので、相対位置ならoffsetにすべき。
補足。方向ならdirectionだね。
typedef enum { Previous, Next } Direction;
- (id)nextObjectOf:(id)object direction:(Direction)direction;
または、offsetを使う場合は、
- (id)objectAtOffset:(NSInteger)offset fromObject:(id)object;
436仕様書無しさん:2014/01/02(木) 11:59:27.45
>>433
で書いたけどまずNSArrayで順番含めて返すことを検討すべき。
cocoaフレームワークでも大抵そうなってる(NSViewのsubviewsとか)
NSArrayのメソッドにオブジェクトからindexを引っ張ってくるメソッドその逆NSEnumerator、Range色々使えるんだから。

それがどうしても使えない理由がある場合だけ自分で実装しな。
437仕様書無しさん:2014/01/02(木) 12:53:17.11
絶対的でないのに「すべき」は違和感がとてもある
438仕様書無しさん:2014/01/04(土) 01:48:21.43
2条件のORをBOOL型の変数に代入したいんですが1行でやる方法はないですか?

BOOL a = (条件式1 || 条件式2);

のようにやってみましたがうまく行きませんでした。
439仕様書無しさん:2014/01/04(土) 01:51:01.38
>>437
あっそ。
じゃあ勝手にすりゃいいんじゃね。
440仕様書無しさん:2014/01/04(土) 01:51:52.44
>>438
どううまく行かなかったの。
441仕様書無しさん:2014/01/04(土) 01:53:18.28
>>440
条件1しか判定されてません
442仕様書無しさん:2014/01/04(土) 01:54:08.26
>>439
勝手にしていいなら「すべき」の存在価値がないなw
443仕様書無しさん:2014/01/04(土) 02:00:14.23
>>441
すみません自決しました
444仕様書無しさん:2014/01/04(土) 02:05:27.61
笑った。ぐーっどっ
445仕様書無しさん:2014/01/05(日) 00:56:23.40
親クラスで宣言してあるプロパティを小クラスでインスタンス変数アクセスしようとすると
Use of undeclared identifier "_test"
みたいなエラーが出るんだけどどうすればいいの

親クラスでインスタンス変数アクセスするといける
446仕様書無しさん:2014/01/05(日) 01:03:04.03
そりゃそうだ。 _testは@privateだから。
親クラスのヘッダにtest_でも書いて、@synthesize test = test_;
こうすりゃ子クラスでもtest_が使える。
447仕様書無しさん:2014/01/05(日) 01:37:00.69
いや、protectedにせぇよ。
448仕様書無しさん:2014/01/05(日) 01:40:31.64
細かいツッコミ(失礼)
@privateなインスタンス変数への外部からのアクセスは
instance variable '_hoge' is private
というエラー

ソースをカテゴリに分けて別ファイルにしての、@propertyでの暗黙的インスタンス変数へのアクセスは、同じく
use of undeclared identifier '_hoge'
というエラー

エラーメッセージはそんな(インスタンス)変数の宣言が無いというのだから、@propertyでの暗黙的インスタンス変数は、メインなソースファイル(.m)でのみ宣言されているからというのではなかろうか

解決方法に依存はありませぬう
449仕様書無しさん:2014/01/05(日) 01:46:54.58
たしかにそうだね。.mファイルで宣言されてるのかなこいつは。
450仕様書無しさん:2014/01/05(日) 01:50:33.95
>>447
そこまでこだわるなら子供と言えども他人、アクセサでアクセスしなさいってのが本質かと
451仕様書無しさん:2014/01/05(日) 01:55:47.47
>>449
.mコンパイル時に無名カテゴリか@implementation直下に自動的に付けられるようなものかな
452仕様書無しさん:2014/01/05(日) 03:06:56.58
>>450
いや、アクセサにしたら他のクラスからもアクセスできちまうだろーがアホか
サブクラスだけでアクセスしたいなら変数をprotectedにするしかない
453仕様書無しさん:2014/01/05(日) 03:38:09.64
指定しない場合、デフォでprotectedです。
454仕様書無しさん:2014/01/05(日) 09:47:48.36
>>452
ちゃんと読んでる?@propertyがあっての話しだろ。間が抜けているなw
455仕様書無しさん:2014/01/05(日) 11:56:12.21
みんなありがとう

初歩的な質問かもしれんが

@interface xxx : yyy
{
ここで宣言されてる変数はprivate?
}

@end
456仕様書無しさん:2014/01/05(日) 11:59:32.39
>>455
>>453らしい
{
@private
NSInteger _hoge;
NSInteger _hage;
}
として、_hoge, _hageがprivate
457仕様書無しさん:2014/01/05(日) 12:30:59.62
>>456
なるほど
じゃあ@synthesizeでプロパティに対応する自動生成されるインスタンス変数はprivateって認識でいいんだよね?
458仕様書無しさん:2014/01/05(日) 13:00:12.40
>>457
今は@synthesizeでインスタンス変数を自動生成させるなら、@synthesizeは書かないけどね
@synthesizeは.hには及ばない/及びようが無いので、privateだろうがprotectedだろうがpublicだろうが関係ないよーな。>>453なんだからprotectedなんじゃないかなあ
459仕様書無しさん:2014/01/05(日) 13:07:37.58
>>457
確認した。privateだねえ。失礼した
460仕様書無しさん:2014/01/05(日) 13:08:57.59
>>458
protectedなら>>445の問題は起こらないんじゃね
461仕様書無しさん:2014/01/05(日) 13:13:44.56
@interface で宣言したインスタンス変数のデフォルトは @protected
@implementation で宣言したインスタンス変数のデフォルトは @private
@propertyによる(@synthesizeを書こうが書くまいが)暗黙的インスタンス変数は @implementation での宣言によるようなので、@privateってとこかな
462仕様書無しさん:2014/01/05(日) 13:15:51.99
>>460
そんなキーワード(変数)なんてヘッダーでもソースでも宣言されていないよってのが原因
全部一つのソースファイルで済ませばwあのエラーも出ないであろう
463仕様書無しさん:2014/01/05(日) 13:20:14.16
>>462
あ、変わりに
instance variable '' is private
にはなるな
464仕様書無しさん:2014/01/05(日) 16:32:02.18
>>463
ああそれそれ。
だから俺は、自動で生成されるインスタンス変数はprivateなんだなと思ってた。
465仕様書無しさん:2014/01/06(月) 10:03:21.68
プログラム板やMac板のプログラムスレを使うべき
466仕様書無しさん:2014/01/06(月) 12:17:00.71
大体ドコの板違いのスレでもある程度続いちゃったら
もう自治厨の勧告程度じゃ変わらないのよ
467仕様書無しさん:2014/01/11(土) 22:19:33.68
メッセージとセレクターの違いがわからん

[obj methodA];

レシーバー obj に methodAセレクター メッセージを送信した

って日本語であってる?
468仕様書無しさん:2014/01/11(土) 22:37:02.46
そもそもでいうと、オブジェクトに対してメッセージを送ると、そのメッセージに対応したメソッドが起動される、という流れだね
セレクタとはメソッド名のことだよ
例えば [obj methodA:引数A methodB:引数B] というメッセージを送る場合は
methodA:methodB:で1つのセレクタだね

言い換えると
1)オブジェクトのメソッドを起動する為にはメッセージを送る
2)そのメッセージとはメソッド名である
3)メソッド名はセレクタと呼ばれる

と理解しているんですが...もしも違ったらだれかヘルプw
469仕様書無しさん:2014/01/11(土) 22:40:49.61
>>468
セレクター = メソッド名
ってことですか?
470仕様書無しさん:2014/01/12(日) 00:43:56.06
メソッド:クラス中のなんかするやつ
セレクタ:メソッドを識別するやつ(識別子)
まあ、セレクター = メソッド名という理解で間違いないけど
471仕様書無しさん:2014/01/12(日) 00:46:42.20
クラス(インスタンス)にメッセージを送るという事は、メソッドを呼び出すということ
メッセージを送るという表現は、送られたメッセージを他に回すということがあるので表現として便利とかかなあ
472仕様書無しさん:2014/01/12(日) 01:31:34.02
アホすぎてすいません……

メソッドという概念とセレクターという概念をわざわざ区別するメリットというか意味ってなんですか?

他の言語でセレクターなんて表現聞いたことあり目線
473仕様書無しさん:2014/01/12(日) 02:10:49.08
メソッドは、実装はCの関数だ。セレクタとは文字列。
オブジェクトにメッセージを渡す == オブジェクトのメソッドを呼ぶ == オブジェクトにセレクタ文字列を渡す。
474仕様書無しさん:2014/01/12(日) 08:37:07.10
>>472
http://news.mynavi.jp/column/objc/022/
そういう細かいとこが気になってなんでってのが理解できなきゃ気がすまない性質なら、全て読む事をお薦めする。おもろいと思うだろうから
475仕様書無しさん:2014/01/12(日) 19:24:38.11
#import <objc/runtime.h>

Method * ms = class_copyMethodList([NSObject class], &count);
for (int i = 0; i < count; i++) {
Method m = ms[i];
SEL sel = method_getName(m);
IMP imp = method_getImplementation(m);
unsigned int argn = method_getNumberOfArguments(m);
char dst[32];
method_getReturnType(m, dst, 32);
const char * name = sel_getName(sel);
...
}

ここら辺のランタイム覗くと色々見えてくるかと
476仕様書無しさん:2014/01/12(日) 22:06:09.37
【社会】厚労省の中で男が刃物取り出す 銃刀法違反の現行犯で逮捕
http://uni.2ch.net/test/read.cgi/newsplus/1389346716/

事前面接
http://ja.wikipedia.org/wiki/%E4%BA%8B%E5%89%8D%E9%9D%A2%E6%8E%A5

事前面接等の違法行為の被害者として憲法において保全されるはずの権利
である給料が中間搾取され、労働契約も不安定なものとなり、派遣社員の
なかでは法治国家への不信が増大しているとの議論が存在する。

略〜しかし過去・現在に事前面接下の派遣による中間搾取の損害を受
けた被害者は数百万人にのぼり、憲政史上、類をみない数の中間搾取による
犯罪被害者が創出され、それらの犯罪行為が放置されたことになる。犯罪
被害者も20〜40歳程度の若年・中年層が過半数を占めており、人口構成上、
公共の治安への影響力はきわめて強いといえる。被害者のなかで国(厚生
労働省・労働局・労働基準監督署)および司法(検察庁・警察)に対しての
不信や怒りが高まれば、大きな社会不安をおこす可能性はある。

二・二六事件 松本清張

農村の疲弊は、慢性的に続いていた農業恐慌の上に、
更に昭和 6 年と昭和 9 年に大凶作があって深刻化した。
農家は蓄えの米 を食い尽くし、欠食児童が増加し、娘の身
売りがあいついだ。農村出身の兵と接触する青年将校が、
兵の家庭の貧窮や村の 飢饉を知るに及んで軍隊の危機を感
じたというのはこれまでくどいくらい書いてきた。

そして青年将校らは考えた。結局独占資本的な財閥が私利
私欲を追求するために、こうした社会的な欠陥を招いたとし、
それは政党がこれらの財閥の援助をうけて庇護し、日本の
国防を危うくする政策を行っているからだとの結論に達した。
477仕様書無しさん:2014/01/13(月) 12:35:41.46
Objective-C上でiTunesの再生/停止を制御したり、
iTunesのウインドウサイズを変更することってできますか?

MPMusicPlayerControllerはiOS向けですし、
NSRunningApplicationはウインドウ情報の参照のみで
まったく実現出来そうにないんですが。
478仕様書無しさん:2014/01/13(月) 12:41:57.40
>>477
うん。そういうのはアプリ内でAppleScriptを介してというのが常道
479仕様書無しさん:2014/01/13(月) 20:43:23.42
>>478
そういうことですか。
あまりクールではないですね。
今後のiOS統合に期待します。
480仕様書無しさん:2014/01/13(月) 20:50:26.42
いやいや、inter-application communication のひとつだよ
標準化としてもクールな方じゃん
iOSはinter-application communicationなんてできないからアレなんだがな
481仕様書無しさん:2014/01/13(月) 20:52:32.08
>>479
AppleEventを送ってやりゃいいよ
それすらできないで、クールじゃないと偏見だけで言っているでしょ
482仕様書無しさん:2014/01/13(月) 23:42:30.00
失礼しました。
クールじゃない云々は無知な私の戯言です。
思わずVBScriptを連想してしまったもので・・・
この場合のAppleScriptはUnixユーザがシェルを叩く感覚に近いんですかね。
AppleEventは初耳でした。
敷居が高くあまり表には出てこない印象ですが、この子の実質的なAPIが
今日のAppleScriptなのかなという印象なのですがあってますか?
483仕様書無しさん:2014/01/14(火) 00:24:00.17
AppleEvent:アプリケーション間で通信する場合のひとつのAppleの規格
イベントクラス、イベントID、データを独自に定義してとかアプリケーション間でやりとりするのには特に不備は無い。パイプ使ってとかの通信よりは面倒な面も有るが

AppleScript:人にわかりやすいようにスクリプトで記述できる、まあ一般的に言うスクリプト
実装はAppleEventによっている。スクリプトとAppleEventの変換辞書を各アプリケーションが持っていて、システムはスクリプトからAppleEventへの変換をその辞書をベースに行なってという
アプリケーションでAppleScriptの実装/対応を行なうというのは、AppleEventの処理を行なうのと辞書を用意すること(簡単に言えば)

なので、スクリプトってなんか嫌というのなら、AppleEventをそのまま使えばいい
AppleEventを処理するのはめんどくさい&AppleScriptを使えるAPIがCocoaにあるから、わざわざそんなことないけどね、普通は
484仕様書無しさん:2014/02/03(月) 23:19:31.13
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),^{

@autoreleasepool{

dispatch_sync(dispatch_get_main_queue(), ^{

[tableView reloadData];
    もしくは
[tableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:YES];

});
}
});

画面スクロール中に、遅延実行処理(performSelector:withObject:afterDelay:)で
上記の処理のreloadDataで、画面が一瞬止まってしまいます。
止まらないようにするにはどうしたらよろしいでしょうか?

エロイ人教えてください
485仕様書無しさん:2014/02/03(月) 23:27:07.21
reloadDataが必要なのかよーく考えよう
486仕様書無しさん:2014/02/03(月) 23:49:38.98
次期OSXはタッチパネルに対応して、UIKitの利用がデフォになると予想してるんだが、
そうなると、AppKitって不要になるよね。
AppKit死ぬの?
487仕様書無しさん:2014/02/04(火) 01:00:11.63
勝手に予想してそれに添って勝手に悲観的結論出してそれを他人に問いかけるって、病気です。はい
488仕様書無しさん:2014/02/04(火) 13:22:04.47
>>486
間違いなくそうなるだろうね。
そもそもAppKitって設計が古いのに一向に改善される気配も無いし、
Appleもどうせ捨てることになるAppKitを今更修正したくないんだろう
10.10でUIKitがOS Xに対応して、タッチパネルのMBP/MBA/TBDを発表して
AppKitは非推奨になるのでUIKitに切り替えて下さいって感じだと思うね
489仕様書無しさん:2014/02/05(水) 11:15:29.38
UIKitってAppKitと互換性あるの?
UIKit対応とかめっちゃ面倒そうなんだが・・・
1アプリ1日で対応できるなら許すけど。
490仕様書無しさん:2014/02/05(水) 11:25:23.46
UIKitはUIWindowがあって無いようなものだしな
フルスクリーン大好きでそれしか使ってないヤツの妄言に真面目に考える必要は無いな
491仕様書無しさん:2014/02/05(水) 11:45:07.88
>>490
その「UIWindowがある」っていうのがポイント。
iOSアプリは、一見フルスクリーンアプリであるにもかかわらず、実はウィンドウだから、
極端な話、NSWindowをUIWindowで差し替えるだけで移植できる。
iOSでは全画面で動いていたアプリを、Macではその全画面を1ウィンドウとしたウィンドウ表示で動かす感じかな。
Mac版Clearとか使ったことあれば、イメージしやすいと思う。
492仕様書無しさん:2014/02/05(水) 12:06:28.26
リサイズの無いアプリケーションならね。そんなのだけが欲しいのか...
Launchpadもすごく気に入っていたりするの?
493仕様書無しさん:2014/02/05(水) 12:08:28.10
>>491
>極端な話、NSWindowをUIWindowで差し替えるだけで移植できる
けど、そんなアプリはほとんど存在しないので、極論ではなく空論
iOSアプリをOSXにならわからないでもないが、それも面倒な話しで簡単ではないだろう
494仕様書無しさん:2014/02/06(木) 13:10:58.87
>>1
笑ってあげよう

Apple信者がMac Pro2013の動作音は静かだと嘘を広めて布教活動工作をする

静音自作PCを馬鹿にしまくる

Mac Pro2013実機の測定値が公開され、爆熱、爆音と判明

嘘がバレたApple信者は大恥をかく

【恥】【失敗】【骨壺】Mac Pro2013は冷却性能が悪過ぎて爆熱爆音に【ゴミ箱】【掃除機】

CPUは95℃ かなり危険なレベルの高温
動作音は44.7dBA 明確にうるさいと感じ取れる数値
うるさい理由は1900 RPMにまで達する超高回転の大型ファン

http://www.anandtech.com/show/7603/mac-pro-review-late-2013/14
Mac Pro (Late 2013) Fan Noise vs. RPM
Fan Speed (RPM) Measured Sound Pressure Level @ 18"
1900 RPM            44.7 dBA
http://images.anandtech.com/reviews/mac/MacPro2013/CPUthrottle.png

最高負荷時のファン回転数 1900 RPM 一般的なデスクトップPCでは珍しい超高回転。 しかもデカい。
最高負荷時の騒音      44.7 dBA  論外。冷却重視のゲーミングPC並。静音重視のPCとは全く勝負にならない。
最高負荷時のCPU温度    95℃  爆音高回転で冷却してるにも関わらず異常な高温。
495仕様書無しさん:2014/02/07(金) 00:22:41.18
>>485
reloadDataを使わないやり方を考えて
一番上を消し、一番下に追加という流れをやりましたが
やはりスクロール中に処理をすると
一瞬固まりますね

諦めました
助言ありがとうございました
496仕様書無しさん:2014/02/07(金) 12:15:17.67
別のスレッドに投げて処理すれば
497仕様書無しさん:2014/02/07(金) 12:23:43.81
スクロール中に表示されているセルの位置が変わるなら、スムースじゃなくなるのは道理だろう
てか、ここはiOSじゃねー
498仕様書無しさん:2014/02/07(金) 12:51:54.76
>>497
NSCollectionViewとかスクロール中にセルが増えたり減ったりしても普通に滑らかに動くでしょ
499仕様書無しさん:2014/02/07(金) 13:37:06.75
何をやってるのかわからんから何とも言えんな。
普通は大丈夫だよ。セルの再利用だってどんどん移動させてるわけだし。
500仕様書無しさん:2014/02/11(火) 21:53:44.87
起動時にモーダルビューを表示したいんだけどどうすればいいの?

メインビューの読み込み時とモーダルビューの表示をコネクトしたいけどどうやればいいかわからん

iOS 開発です
501仕様書無しさん:2014/02/12(水) 00:21:01.20
>>500
起動スプラッシュで調べればいいと思うよ
502仕様書無しさん:2014/02/12(水) 02:25:56.93
object-cでiphoneアプリ(オークションアプリ)作った場合
運営側の管理画面はほかの言語で作るのでしょうか※ruby on railsなど
503仕様書無しさん:2014/02/12(水) 03:12:26.38
>>502
オークションってことはバックエンドはWebだよね。
だったら、管理者機能は通常Webだね。言語としてはサーバサイドたから、RubyやPHPやJavaとかになるだろうね。
504仕様書無しさん:2014/02/12(水) 03:17:26.68
>>500
window.rootViewControllerのviewDidLoadが呼び出されたタイミングで、モーダル表示すれば良いのでは?
505仕様書無しさん:2014/02/12(水) 08:24:19.21
>>504
なるへそ

>>501
入力受けたいからスプラッシュじゃあかん
506仕様書無しさん:2014/02/12(水) 12:54:30.42
>>503さん

ありがとうございます。助かりました。
507仕様書無しさん:2014/02/12(水) 20:36:02.50
4年大学出てアルバイトの時給より給料安い会社入っても空しいだけ
賞与は無い、昇給も無い
そんな会社存在意義が無い
はやくなくなることを望む
508仕様書無しさん:2014/02/12(水) 21:10:52.43
>>504
performSegueWithIdentifier:sender:
使ってやってみたんですが

Warning:
Attempt to present <modalのビューコントローラ> on <モーダルの一個下のビューコントローラ> whose view is not in the window hierarchy.

とでて出来ません。
ウィンドウ階層に入ってないということだと思うんですが何をすればいいんでしょうか
509仕様書無しさん:2014/02/13(木) 09:34:51.59
>>508
viewDidAppearに置けば?
510仕様書無しさん:2014/02/13(木) 10:34:11.96
511仕様書無しさん:2014/02/13(木) 21:46:50.21
すまんどこで聞けばいいかわからんからここで聞かせてくれ
最近iPhoneアプリ開発始めた者だけどiOSシミュレータの見た目が通常は実機みたいな見た目になるみたいなんだが
http://i.imgur.com/JlJXat4.png
こんな感じで通常のウィンドウみたいな表示になる。誰か直し方教えてくれさい
512仕様書無しさん:2014/02/13(木) 22:17:42.57
>>511
ウィンドウのサイズが小さくなってる
513仕様書無しさん:2014/02/13(木) 22:23:25.36
>>512
ウインドウ>表示サイズ の設定のことかな?
ググったら一番上に100%にすれば直るとか書いてあったが100%にしても
http://i.imgur.com/9sAQpFq.png こんな感じになる...
514仕様書無しさん:2014/02/13(木) 22:44:13.04
>>511
実機みたくなるのはiPhone 非Retina iOS5.1 100%のときだけだな。
それ以外ならウィンドウみたくなるよ。
515仕様書無しさん:2014/02/13(木) 22:50:43.74
>>514
MacがRetinaだったらRetinaでもiPhoneみたくなるよ
516仕様書無しさん:2014/02/13(木) 22:53:27.84
>>514-515
なるほど。まぁ仕方ないか....
助かったthx
517仕様書無しさん:2014/02/16(日) 14:55:59.80
SDK落とそうと思ってDev Center行こうとすると
We'll be back soon. の表示が出るんだけどメンテ中?落ちてる?
518仕様書無しさん:2014/02/16(日) 15:00:07.95
うん、メンテ中か落ちてるね
519仕様書無しさん:2014/02/16(日) 15:01:17.69
>>518
やっぱりそうか・・・。しばらく待ってみるサンクス。
520仕様書無しさん:2014/02/17(月) 21:16:58.90
【社会】厚労省の中で男が刃物取り出す 銃刀法違反の現行犯で逮捕
ttp://genzo.org/read/uni.2ch.net/newsplus/1389346716/

今後の犯罪傾向の予測と考察

事前面接の犯罪に憤りをもつ派遣社員や失業者が比較的警備の薄い厚労省、労働局、
労基署にいく可能性がある。しかし他の可能性を考えてみた。
事前面接中に派遣先と派遣元の担当者をターゲットにしたテロである。
派遣社員の事前面接は違法であり、事前面接中に派遣社員が暴れだした場合は
警察に通報できない状況となる。つまり通報すれば労基法6条違反、
職安法44条違反などの犯罪事実が報道で日本中に周知され、グッドウィル事件の再現となる可能性
が出てくる。そのため被害者である派遣先・派遣元が加害者に高額の口止め料を支払い
隠蔽しようとする奇妙なテロがおきうるのだ。
(※グッドウィル摘発のきっかけとなった事故は、現場の派遣スタッフの意図的な自傷事故だったとする説がある。)

事前面接
http://ja.wikipedia.org/wiki/%E4%BA%8B%E5%89%8D%E9%9D%A2%E6%8E%A5

求人広告・サイトの違法性
http://ja.wikipedia.org/wiki/%E6%B1%82%E4%BA%BA%E5%BA%83%E5%91%8A

オフショアの違法性
http://ja.wikipedia.org/wiki/オフショアリング#日本の法律上の取扱い
521仕様書無しさん:2014/02/18(火) 00:14:11.72
Siriが邪魔して通話処理がうまく行えない・・・・

Siriが起動されたかどうかって判断できるのかな

やり方ご存知の方いらっしゃいます??
522仕様書無しさん:2014/02/22(土) 04:13:22.58
siri??
情報系の大学生のobjective-c知ってる?と聞いたら
何それ???だって。
でも、C++は教えて欲しい。
523仕様書無しさん:2014/02/23(日) 21:03:01.97
わりと日本語うまいね
524仕様書無しさん:2014/03/07(金) 13:17:47.15
非公開APIを使うとAppStoreでリジェクトされるって言うけど、Carbonも非公開API?
そもそも非公開APIの見分け方もよくわからないんだけど、
Deprecatedになってるメソッドやアンダースコアで始まるメソッド名は非公開APIなのかな?
525仕様書無しさん:2014/03/07(金) 14:10:45.04
>>524
Appleのドキュメントに載っていないのが非公開APIです。Undocumented APIとも言います
manもAppleのドキュメントと見なせます
526仕様書無しさん:2014/03/07(金) 14:12:00.13
ああ、ヘッダーもドキュメントと見なせるかな。ヘッダーにあるけどドキュメントには無いってのは知らんけど
527仕様書無しさん:2014/03/07(金) 19:58:56.52
なんだそういうことか。
普通に開発する分には特に意識する必要なさそうだね。
ところで、みんなCarbon使ってるかい?
528仕様書無しさん:2014/03/07(金) 20:03:19.63
Carbonって何を指して言っているんだか。本来のCarbonだったら今更使う意味は全く無いな
529仕様書無しさん:2014/03/08(土) 00:20:08.18
グローバルホットキーのためだけに未だにCarbon使ってる。
NSEventのaddGlobalMonitorForEventsMatchingMask使ってみたけどアラート鳴るよねこれ。
530仕様書無しさん:2014/03/08(土) 20:39:50.24
SpriteKitの質問です。スレ違いならすみません。
物理エンジンを使用してゲームを作っています。
 self.physicsWorld.gravity = CGVectorMake(0,0);
で重力を消し、
 sprite.physicsBody.velocity = CGVectorMake(10, 0);
で右方向へ飛ばしているのですが、減速していきいずれ止まってしまいます。
速度を保つ方法はないでしょうか?どうかお願いします。
531仕様書無しさん:2014/03/08(土) 22:01:43.34
物理エンジンを使ったこともないし、spriteKitも使ったことないけど、
摩擦設定があるならそこじゃないかな。摩擦で減速してんじゃない。
532530:2014/03/08(土) 22:33:18.45
>>531
摩擦と空気抵抗を無くすことで思い通りの動きになりました。
ありがとうございました!
sprite.physicsBody.friction = 0.0f; // 摩擦
sprite.physicsBody.linearDamping = 0.0f; // 空気抵抗
533仕様書無しさん:2014/03/09(日) 19:18:34.47
SpriteKitの質問です。
ノード削除時にエラーになってしまい困っています。
削除したいノードはSKShapeNodeにSKEmitterNodeを追加したノードです。
下記のコードを実行したところEXC_BAD_ACCESSとなってしまいました。

SKNode *node;
//node = [SKSpriteNode node];//こっちはエラーにならない
node = [SKShapeNode node];
NSString *path = [[NSBundle mainBundle] pathForResource:@"MyParticle" ofType:@"sks"];
SKEmitterNode *emitter = [NSKeyedUnarchiver unarchiveObjectWithFile:path];
[node addChild:emitter];
[self addChild:node];
[node removeFromParent];

よろしくお願いします。
534仕様書無しさん:2014/03/10(月) 10:19:20.20
SpriteKitならiOSスレのほうが詳しいんじゃないか?
535仕様書無しさん:2014/03/10(月) 16:38:01.94
最近常駐アプリ作ってて、処理効率を少しでも上げるためにインスタンス変数を直で扱うようにしてるんだが、あまり良くないかな。
本来インスタンス変数はアクセサメソッド経由にしたり、プロパティ使うのがお約束みたいだが。
536仕様書無しさん:2014/03/10(月) 17:37:09.60
場面とか目的によるでしょ。
メソッドと関数で呼び出しのオーバーヘッド比較した事あるけど、7倍あった。iPhone5でね。
インスタンス変数直ならもっとあるな。Macでも同じじゃない?
537仕様書無しさん:2014/03/10(月) 21:51:17.44
>>535
誤差の範囲でしょ。
それより、ポーリングせずにちゃんとイベント駆動にするのが重要。
最近はファイルシステムとかに関するイベントも充実してるみたいだし。
ネットもなるべくプッシュ通知で。
538仕様書無しさん:2014/03/11(火) 22:49:56.26
最近、iPhoneアプリを作るのに飽きてきたんだが、どうやってモチベーション維持したらいい?
539仕様書無しさん:2014/03/11(火) 23:47:52.84
Cocoaアプリを作る。ためにこのスレに書いたんでしょ?
540仕様書無しさん:2014/03/12(水) 00:08:16.69
>>538
iPhone以外のアプリ作ったり、サーバー側作ったり、野菜育てたり、本読んだり
541仕様書無しさん:2014/03/12(水) 01:34:36.85
>>538
自分に設定したハードル低いんちゃうか?
542仕様書無しさん:2014/03/12(水) 22:59:40.18
いまいちアプリ作りの目標がパッとせんのや
作りたいもんがある頃は楽しかった
543仕様書無しさん:2014/03/12(水) 23:04:52.57
知らんがな
それはリアルな友達と話した方がいいだろう
544仕様書無しさん:2014/03/13(木) 10:04:16.79
>>542
お題を出し合うとかも面白いかな?
例えば...パズドラモドキをみんなで作ってみよう!...とか?
545仕様書無しさん:2014/03/16(日) 16:32:45.81
これまでWindowsでC++/CLIしかやってきてないけど
MacでObjective−Cに転向するのはどのくらい大変?
546仕様書無しさん:2014/03/16(日) 18:37:43.28
人による
ちょっと表記法が独特っていうのをすんなり受入れられれば全然
いままでやってきたことばかり頭にうかんであーじゃないこーじゃないとか言うんだったら、険しいwだろうな
547仕様書無しさん:2014/03/17(月) 02:37:44.21
あほみたいな質問ですいません
Macの環境に依存しないライブラリって何種類ぐらいあるでしょうか?(よろしければ具体的なヘッダー名を上げてもらえれば助かります)
純粋な(Macの環境に依存しない)Objectiv-cの機能が知りたいのですが・・・
548仕様書無しさん:2014/03/17(月) 02:52:12.45
>>547
ライブラリというよりフレームワークですが
549仕様書無しさん:2014/03/17(月) 04:46:18.65
>>547
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/objc/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/objc
550仕様書無しさん:2014/03/17(月) 04:47:24.80
二回貼り付けしてしまった
551仕様書無しさん:2014/03/17(月) 04:52:07.78
ヘッダ眺めてたらわかると思うけどWindowsじゃGC無いとかあるから最初から他環境でのObjective-Cに期待なんてしないほうがいい
552仕様書無しさん:2014/03/17(月) 14:25:35.41
>>547
です

>>549さんありがとうございます

>>551そうですよね
553仕様書無しさん:2014/03/18(火) 22:25:40.70
RainbowApps ジークラウド株式会社が運営
iPhone アプリマスターコース

実情
講座は全てテンプレートのコピペ貼付け
自宅でも本で独学しないといけないので、結果独学と変わりなし
コピペアプリもどきをAppStoreにださせて達成感を与えてできるように思い込ませる。
実際は商業化できるレベルにはならない。
無料参加の対象を34歳以下として年齢制限するなど悪質
半年以内に指定の人材紹介会社で転職するよう強制
(指定人材紹介会社には、違法派遣、偽装請負、多重派遣、違法求人広告などをしているとささやかれているものがある。)

違法性
無料講座の受講生は指定人材紹介会社経由で半年間以内に転職させられる。
経済的・心理的に追いつめて転職・就職を強要する。
指定の紹介会社以外の紹介会社より転職した場合に、契約違反の罰金として10万円を請求してくる。
求職者の希望が高すぎて転職が決まらないことを悪質として、その場合も罰金を請求。

・職業安定法2条の職業選択自由の保証に違反。転職や就職を強要するのは、人材紹介会社の許可の趣旨に真っ向から反する。
・無料講座は人材紹介会社が資金提供するが、参加条件に34歳以下となっているが、雇用対策法において人材紹介会社が年齢制限することを禁止している。
・警察(強要罪)、労働局(違法な強要的・脅迫的人材紹介、人材紹介における年齢制限禁止違反)、労基署(労基法5条強制労働の禁止)に通報してください
554仕様書無しさん:2014/03/27(木) 16:13:24.06
初歩的な質問で悪いけど、
-(void)a
+(void)a

関数の+ - って何を意味してるの?
555仕様書無しさん:2014/03/27(木) 16:53:47.93
インスタンスメソッドとクラスメソッド
556仕様書無しさん:2014/03/27(木) 18:31:17.98
ありがとう。
objective-cってクラスのstatic変数はないくせにstaticメソッドはあるのか・・
557仕様書無しさん:2014/03/27(木) 19:22:34.34
意味わからん。staticで宣言すればstatic変数じゃん。
558仕様書無しさん:2014/03/27(木) 19:23:30.17
ああ、obj-cの言語仕様としてって意味か。
だって要らないもんw
559仕様書無しさん:2014/03/31(月) 15:32:12.60
static変数って、ファイル単位の変数だよね?(Cのstatic)
560仕様書無しさん:2014/04/03(木) 16:16:04.19
誰かまじで助けてくれ。
iphoneアプリ作成初心者なんだが

http://oidon.hatenablog.com/entry/2013/06/13/142418

ここのページの通りにやっても全く画面がスクロールしない。
ただ単に、画面がスクロールするだけのアプリ作りたいだけなんだが。
Xcodeはver5.1

誰か教えてくれ〜〜orz
561仕様書無しさん:2014/04/03(木) 16:27:03.12
>>559
「翻訳単位」だよ
562仕様書無しさん:2014/04/04(金) 01:19:46.58
@interfaceの中で宣言した物に関してはクラスと小クラス内でのみ有効なstatic変数になる。
563仕様書無しさん:2014/04/12(土) 11:52:41.73
Application Supportディレクトリの利用が今後非推奨になる可能性ってあるかな?
iOSからサンドボックスの考えが主流になってるし、
そのうちApplication Supportが非推奨になるんじゃないかとびくびくしてるんだが。
564仕様書無しさん:2014/04/12(土) 12:31:08.59
>>563
ん?OSXにもサンドボックスがあるけど。10.8からだっけ、10.7からだっけ
Application Supportもサンドボックス内にあるから、それはないんじゃね
~/Library/Containers
見てみ
565仕様書無しさん:2014/04/12(土) 14:48:30.76
おお、サンドボックスにApplication Supportがあるのか。

なら~/Library/Application Supportのほうはもう要らない子なのか。
でもほとんどのアプリは~/Library/Application Supportの方を使ってるね。
サンドボックスの方使ってるのはEvernoteとApple純正アプリくらいか。

~/Library/Application SupportにGoogleやMozillaのディレクトリがあることから推測すると、
現状はアプリ間でデータを共有するようなケースで使われてるのかな?
いわゆるベンダードメイン的な。
566仕様書無しさん:2014/04/12(土) 15:07:43.90
>>565
Mac App Store で提供/に登録するアプリは サンドボックス必須 らしい。他は今まで通り手も可という
567仕様書無しさん:2014/04/13(日) 15:31:02.90
>>564 >>566
情報ありがとう、AppStore向けのアプリ作ろうとしてたから助かる。

ちなみに、前にベンダードメインって言っていたアプリ間の共有空間を作る場合は、
Containersとは別にGroup Containersという仕組みがあるみたい。
568仕様書無しさん:2014/04/16(水) 11:27:49.68
OSXでサンドボックス必須ってことはシステム情報の読み書きとかも出来なくなるってこと?
iOS並に制限されたらちょっと考えちゃうな。
569仕様書無しさん:2014/04/16(水) 15:32:58.69
>>568
iosよりは緩いよ
外部プログラム起動できるし(多分)
570仕様書無しさん:2014/04/19(土) 00:55:54.76
>>568
システム情報以前にファイルの読み込み書きがそもそも出来ないらしい。

ファイルの読み書きはNSOpenPanel, NSSavePanel経由に制限される。
つまりユーザがダイアログで直接選択したファイルしか利用できないわけ。
だからFinderみたいなファイルエクスプローラは作れないし、
アプリ起動時に前回開いていたドキュメントを自動的に表示するようなことも出来なくなる。
571仕様書無しさん:2014/04/30(水) 13:02:02.72
オープンソースのコード読んでると時々Objective-C++でファイル書いてる人がいるんだけど、
なぜかC++の処理まったく記述していないんだよね。
なにか利点でもあるのかな。
572仕様書無しさん:2014/04/30(水) 13:04:33.62
>>571
特にない。後でC++使おうとしたときにめんどくさいからってぐらいかな
.mmにしても.mと全く同じだし。コンパイル速度が遅いとかある(らしい)けど、そんな全部リコンパイルなんてしょっちゅうしないから、気にならないしぃ
573仕様書無しさん:2014/05/01(木) 07:46:54.76
気付いてないだけでどっか演算子のオーバーロードしたり、
あるいはC++のリテラルでも使ってるんじゃね。
574仕様書無しさん:2014/05/12(月) 14:06:41.92
単純にパフォーマンス意識してるだけなのでは。
そんなに変わるとは思わないけど、
一応NSObjectクラスはObjective-C++で書かれてるわけだし。
575仕様書無しさん:2014/05/13(火) 21:22:58.34
Macの開発環境って将来的にC++ベースになったりするの?
576仕様書無しさん:2014/05/13(火) 22:35:18.57
>>575
ない。変る理由がないから。
ただしネイティブプログラムからウェブベースには移行するかもしれないけどね。
577仕様書無しさん:2014/05/17(土) 19:57:10.85
Cocoa製のエディタってテキストサイズが大きくなるにつれて
日本語入力が重たくなるのは有名だけど、
Apple純正のメモ帳だと全く問題ないんだよな。
非公開のViewでも使われてるのかな。
578仕様書無しさん:2014/05/17(土) 22:16:42.01
普通に変更部分だけ再描画してるんじゃないの?
579仕様書無しさん:2014/05/26(月) 12:15:54.18
みんなOSXの開発でXIB使ってる?
自分、StoryBoardが出るまでは絶対にGUIツールは使わないって心に決めてるんだけど変かな?
580仕様書無しさん:2014/05/31(土) 20:46:08.23
なんか興奮してきたな
581仕様書無しさん:2014/06/01(日) 14:46:51.52
WWDC明日か〜楽しみ
iOS8でるね
582仕様書無しさん:2014/06/01(日) 17:51:47.79
寄せ見て乙
583仕様書無しさん:2014/06/03(火) 02:07:09.92
WWDC始まった〜^^
584仕様書無しさん:2014/06/03(火) 02:10:48.02
mac 12% 売り上げ増
その他PC 8% 売り上げ減
585仕様書無しさん:2014/06/03(火) 02:15:15.10
OS X Yosemite
586仕様書無しさん:2014/06/03(火) 02:23:15.64
ジョナサン相武
587仕様書無しさん:2014/06/03(火) 02:27:19.27
Mail Drop
588仕様書無しさん:2014/06/03(火) 04:16:24.72
そこはジョナサン愛撫だろ
589仕様書無しさん:2014/06/03(火) 04:37:44.12
590仕様書無しさん:2014/06/03(火) 21:45:42.08
今回の発表は盛りだくさんの内容だな
591仕様書無しさん:2014/06/03(火) 23:12:16.22
新規参入は増えると思うけどObjective−Cに慣れた身としてはあまり魅力を感じないんだよな。
Xcodeのコード補完があるからObjective−Cでもまだまだ行けたと思うんだが。

だいたいObjective−Cよりも高速ってのが胡散臭い。
話題性のために大げさに言ってるだけだと思うけど。
Cocoaの標準機能呼び出した途端に遅くなったりするんじゃないか?

Swiftの方が補助言語に成り下がってしまいそうで恐ろしい。
592仕様書無しさん:2014/06/03(火) 23:42:56.29
これまで通りObjective-CやCとも共存できるんだし、何を心配してるんだか
593仕様書無しさん:2014/06/04(水) 00:30:24.31
共存もそうだし、Objective-Cだけはもうダメですでもないのにな
仮にObjective-Cを完璧に捨てる予定だとしても、明日にもでもないし、果たして2年後3年後なのかわかりもしないののにね
594仕様書無しさん:2014/06/04(水) 01:18:13.93
Swiftの絶対的な優位性が無くてフラグメンテーションが起きるのを心配してるんじゃないか?
互換性やコード変換が可能といってもコストはゼロじゃないし、
中途半端にObjective-Cが残ったり一部だけSwiftになったりすると、互換性持たせるために却ってコストが増えるという。
数年で全部Swiftに移行完了するのが理想だろうね
595仕様書無しさん:2014/06/04(水) 13:15:23.66
CF系のフレームワークとかどうするんだろう。
あれC言語で書かれてるじゃん。

あと言語仕様的にコード変換は難しいんじゃないかな。
Objective−C側で手作業でのコード整理が必要になるだろうし
マクロもインライン展開されちゃったりして痛い目見るんだろうな。

頑固にObjective−Cを使い続ける人が出てくると予想。
596仕様書無しさん:2014/06/04(水) 15:18:51.29
別にいいと思うけどな。頑固とかじゃなくて好きならそれを使えばいいだけで
Swift - Objective-C/C はトールフリーブリッジっぽいけどな。だったら尚更好きな方を使えばいいだけだな
597仕様書無しさん:2014/06/04(水) 15:56:34.07
あとはAppleがObjective−C殺しの方針を打ち出してくるかどうかだよね。
Objective−Cの仕様はMRCの時代からかなり勉強してきたので無駄にしたくないな。

CF系の件だけど、C言語向けの型がSwift内に用意されてるみたいね。
なのでSwiftからCとのやり取りは問題なさそうだけど、あとはオーバーヘッドかな。
どちらにしろCが無くなることはなさそうだね。SwiftがCより早くなればまた別だけど。
598仕様書無しさん:2014/06/04(水) 16:02:05.45
C言語で書かれている有用なクロスプラットフォームなライブラリが沢山あるから速度以外の面でもCが無くなることは無いでしょ。
599仕様書無しさん:2014/06/04(水) 16:15:22.76
あるわけないわな。そのとおり。Apple自信だってOpenSource活用しているんだからなあ
なんだろこの新しいのが出たらそれ「だけ」ってのは。まあ2chでは2値基準というのはよく見るけど
600仕様書無しさん:2014/06/04(水) 22:00:33.62
そもそもCが消えるわけないわな
OSS全部書き換えるって話になってきちゃうわな
601仕様書無しさん:2014/06/04(水) 22:45:37.86
602仕様書無しさん:2014/06/05(木) 02:09:17.72
Swiftが速いと言われてるのはおそらく
Objective-Cのメッセージによるオーバーヘッドが無くなるからであって、
メソッド単体の処理で言えば、Cをネイティブで走らせてるObjective-Cのほうが有利だと思うんだよな。
再帰使わずにフェボナッチ数列求めさせたら絶対Objective-Cのほうが速い。

GUIプログラミングみたいなロジカルなコードを書くならSwiftの方が最適もしれないけど、ゲームや科学計算のようなシビアなコーディングする世界ではObjective−Cが使われ続けるんじゃないだろうか。
603仕様書無しさん:2014/06/06(金) 00:18:38.87
相互に関数が呼び出せるんだから、部分部分をどの言語で書こうがそりゃ自由だ
604仕様書無しさん:2014/06/10(火) 07:01:36.46
今までつくったアプリ全部Gitに公開するわ

レビュー5点のアプリ1つ
レビュー4.5点のアプリ1つ
レビュー3点のアプリ1つ
1400円で販売してたアプリ1つ
ゴミアプリ2つ

今週中にはなんとか
605仕様書無しさん:2014/06/10(火) 10:42:45.38
あ、はい
606仕様書無しさん:2014/06/17(火) 08:36:27.29
速度マックスを求める今こそ、アセンブラへの原点回帰をだな(ry
607仕様書無しさん:2014/06/20(金) 13:55:53.33
結局SwiftはObjCの置き換えなのか共存なのか、いまだにはっきりしてないな。
世間一般では完全なる置き換えという認識だけど、公式には曖昧だが共存という言葉もが使われていて、
新言語の出来次第ではSwiftユーザとObjCユーザを二分しそうだな。
Appleはがこれほど曖昧にしたがるのはきっと彼ら自身もまだ明確な答えが出せてない証拠だと思う。
608仕様書無しさん:2014/06/20(金) 18:40:49.10
曖昧にしたがっているのではなくて曖昧にしかならないのだろ。言っている通り
来年のWWDCではっきりするだろう。ってことは1年はObjective-Cでも問題ないし、Swiftやっても問題ないし、どっちでも問題ないなっていう
来年のWWDCではっきり例え全てのセッションがSwiftになってObjective-Cの先が無いよってなっても、Objective-Cが無くなるのはそれからまだ先のことだろう。早くても今から2年後(ありえない)以降
Objective-Cがあとか今言っているのはアホか先物好きか、新しい言語に慣れるのに3年からるヤツとかじゃね
609仕様書無しさん:2014/06/20(金) 23:31:47.89
Obje-CのAPIは、あと10年は残ってるだろう。
610仕様書無しさん:2014/06/21(土) 09:57:59.25
MBPと差別化が難しくなってるMBAがARM搭載になって
swiftでアプリ共通化される



夢を見た
611仕様書無しさん:2014/06/21(土) 14:21:36.03
Objective-CとiPhoneのプログラムって、どう違うの?
612仕様書無しさん:2014/06/21(土) 19:30:15.06
は?
613仕様書無しさん:2014/06/23(月) 16:11:33.26
PocketやGraffitPotのようにタイトルバーにまでスプリットビューが伸びているアプリが最近やたら多いんですが、どうやって実現してるんでしょうか?
GUIツールではどうやら実現できそうにないです。
タイトルバーの高さやアイコンの配置間隔などは両アプリとも同じなので、なにか有名なライブラリでも使ってるのでしょうか?

もしくはYosemiteの標準アプリではこのスタイルが一般的になるようなので、
もしかしたら昔からあったプライベートAPIかなにかを使っているのでしょうか。
614仕様書無しさん:2014/06/23(月) 19:50:56.69
Objective-CとC++を混ぜて書けるってことなんでいろいろ試してるんだけど
↓これが、実行時にエラーになります。
std::vector<NSString*> vec{@"aaa", @"bbb", @"ccc"};
なぜですかね。

初期化じゃなくて、追加なら問題ありません。
std::vector<NSString*> vec;
vec.push_back(@"aaa");
vec.push_back(@"bbb");
vec.push_back(@"ccc");

C++のstringなら、初期化しても普通に動きます。
std::vector<std::string> vec{"aaa", "bbb", "ccc"};
615仕様書無しさん:2014/06/23(月) 20:54:13.30
拡張子を.mmにしなきゃだめらよ
616仕様書無しさん:2014/06/23(月) 21:43:18.52
>>614
ARC関連じゃないかなあ。Core使う場合でもなんだから、
std::vector<CFStringRef> vec{(__bridge CFStringRef)@"aaa", (__bridge CFStringRef)@"bbb", (__bridge CFStringRef)@"ccc"};
じゃないととか?
darwin(?)のstd::vectorがどこまで、Objective-Cオブジェクトを知っているかというと、どうだろうなあ

Objective-Cオブジェクトをそのまま扱うならNSArrayを使うのが無難/余計なことしないぶん読みやすくもあると思うけど
617仕様書無しさん:2014/06/23(月) 21:54:27.32
>>614
落ちたとこの見てみたら template 展開後の __strong … __strong が怪しいので、
std::vector<__unsafe_unretained NSString*> vec{@"aaa", @"bbb", @"ccc"};
にしたら、とりあえずは大丈夫のよーな。まあ、ARCでObjective-CオブジェクトをC/C++で使うのにはちょっと注意が必要ね
618仕様書無しさん:2014/06/23(月) 22:42:52.43
>>614
そういえば、文字列リテラルないくらReleaseしてもReleaseされないNSStringオブジェクトなのに、なんでやねんと思い直し、
考えられるのは、初期化していないstrongなインスタンスの変数にぶっ込むことによって、ゴミをReleaseしようとしてクラッシュだろうな。mallocなんじゃねっていう

CFStringRefも__unsafe_unretained NSString*もんなこたーないから大丈夫っつう
まあ、std::vectorでObjective-Cオブジェクトは使わない方がいい。また、ARCを使わない(これはナイなw)
619仕様書無しさん:2014/06/25(水) 10:48:56.81
in reviewって普通、何時間くらいで終わるんですか?
アクセスの履歴はないんですけど、何日も放置なので。
620仕様書無しさん:2014/06/25(水) 19:17:57.36
7日以内
621621:2014/06/29(日) 01:37:19.58
swiftに全く触手が動かん・・・
鬱だからだろうか?
622仕様書無しさん:2014/06/29(日) 15:42:38.98
ぼく今躁状態ですけどswiftクソクラエですよ
623仕様書無しさん:2014/06/29(日) 16:32:35.80
勉強しようと思ったけどPythonで事済んだわ
PyObjCステキ
624仕様書無しさん:2014/07/04(金) 17:12:43.29
夏休みにObjective-C学ぶつもりでいたのにSwiftが出てきて何も出来なくなってしまった。
625仕様書無しさん:2014/07/04(金) 21:18:37.76
秋にはswiftの正式版でるんでしょ?
今から勉強して、アプリができるころには秋になってるんじゃないの。
626仕様書無しさん:2014/07/05(土) 23:52:54.68
別にObjective-Cやって損はないよ。
Swiftの情報が普及するのに1年以上は掛かる。
それまで初心者は手を付けられない。
Swiftが完全に普及するのは2年くらいかかるんじゃないだろうか。
現行開発者でも年内は様子見がほとんどだと思う。
627仕様書無しさん:2014/07/05(土) 23:57:27.59
>>626
だね。
複雑なUIでなければ割と簡単にアプリ書けるし、
やはりJavaで動かすAndroidとレベルの違う小気味よい動きが楽しい。


Swift勉強する事になったとしても基本はObj-cだ。
628仕様書無しさん:2014/07/12(土) 20:05:14.73
629仕様書無しさん:2014/07/19(土) 16:25:07.36
損はないけど、やんなくていい。
630仕様書無しさん:2014/08/03(日) 10:20:29.55
CoreData使ってる人って本当にいるの?
631仕様書無しさん:2014/08/03(日) 14:29:36.55
うん
632仕様書無しさん:2014/08/04(月) 02:08:28.11
CoreData 使えるようになるとちょー便利
sqlite とかつかってられない
633仕様書無しさん:2014/08/04(月) 09:29:33.37
>>630

MagicalRecord使っとけば
634仕様書無しさん:2014/08/04(月) 16:28:31.14
大抵のデータ管理はplistで事足りるし。

CoreDataが流行らないのはObjective−Cに名前空間が無いからだと思う。
テーブルごとにモデルクラスを作らなきゃいけないのも面倒。
635仕様書無しさん:2014/08/04(月) 16:33:28.14
なにを頓珍漢なことを言っているのだか
636仕様書無しさん:2014/08/04(月) 18:12:40.20
>>634
全部メモリに展開されても構わないような小さいデータを扱うアプリならそれでもいいかもね。
でも「大抵」はCoreDataは使ったほうがいいと思うけど
637仕様書無しさん:2014/08/04(月) 23:15:36.66
CoreData使わないと、iCloudにupされないからなー
638仕様書無しさん:2014/08/07(木) 22:00:12.51
FinderからViewに複数ファイルをドロップしたとき、
performDragOperationで処理しています。

たとえば5,000ほどのファイルをドロップしたとすると、

NSPasteboard *pb = [sender draggingPasteboard];
のpbをNSArrayに入れた瞬間に、

[ Consume sandbox extension for itemIdentifier (4555) from pasteboard failed! ]
[ Consume sandbox extension for itemIdentifier (4556) from pasteboard failed! ]
・・・
[ Consume sandbox extension for itemIdentifier (5000) from pasteboard failed! ]
などというエラーが出ます。
このエラーは大体5,000近いファイルをドロップした場合に起きます
(sandbox化しなければ10,000であろうと問題ありません)。

どなたか解決法をご存知でしょうか。
639仕様書無しさん:2014/08/08(金) 16:58:32.78
どうしてもわからないことがあります

navBarとtabBarの色をUIColorで指定しているんですが、実機だと思ったような色が出ません
[UINavigation Bar appearance].barTintColor = [UIColor blackColor];
のように指定しているんですが、シミュレーター上だと黒色になるんですが実機だとグレーにしかなりません
黒だけではなく、tabとnavの時だけ色が薄くなるように感じます
何か特別な設定が必要なのでしょうか・・・?
640仕様書無しさん:2014/08/08(金) 21:41:53.32
>>639
バーが半透過してて下地のViewの白がみえてるとかじゃないの?
iOS7 のバーって機種とかマイナーバージョンの違いでちょっとずつ見え方・透け方が変わるんだよね。
試してないけど、 translucent を NO にしてみるとかかな。
641仕様書無しさん:2014/08/09(土) 13:18:45.96
>>640
tabbarもnavbarも.translucent = NO;を設定することで解決しました!
ありがとうございます
642仕様書無しさん:2014/08/18(月) 18:56:54.01
どうしてもわからないことにぶち当たったので

iOS7の場合にStatusBarにViewを被せて背景を黒くしています
ViewController-based statusbarはNOにして、Appdelegateにてwidth*20のViewを作り
self.window.rootViewController.viewにaddしています
ちなみに、NavigationControllerを使用しています

ここまではよかったんですが、modalviewに遷移した時に、statusbarがnavigationbarの色で塗りつぶされてしまいます

UIViewControllerのサブクラスを作り、UINavigationControllerのViewに設定した後で
[self presentViewController...]で設定しています
新しく呼び出しているわけですから、statusbarが設定されてないのもしょうがないと思い、サブクラスで同じように設定したところ
Navbarの下に表示されてしまいました。
self.window...にaddしてないからから当たり前か、と思いwindowプロパティを作って同じようにしても駄目でした

どなたか解決法をご存じでしょうか?
643仕様書無しさん:2014/08/18(月) 23:57:31.29
あんま状況わからんけど、add するタイミング変えてみるとか (presentViewController 終わったあととか)
add したあとに Navbar が SDK 側で作られて上にかぶってるのかも
subviews の順番見てみると良いかも
view の layer の zPosition 調整でも良いかも
iOS 6 風のステータスバー作るのがその方法がベストなのかは謎
そしてここが iOS 質問スレなのかも謎
644仕様書無しさん:2014/08/19(火) 02:16:17.03
ありがとうございます
self.viewに貼り付けてy軸を-64ずらして、navigationbarをzPositionで最背面にするという力技で、なんとかできました
objective-Cのスレッドが見つからなかったので、すいませんでした
645仕様書無しさん:2014/08/19(火) 02:28:29.21
新・mac板とかにiOS開発質問スレとかあるよ
646644:2014/08/19(火) 03:00:43.96
ありがとうございます。今後はそちらを利用してみます。
647仕様書無しさん:2014/08/20(水) 23:18:00.65
AppKitってタブアプリのサポートしてないのかな?

NSTabViewはなんだかSafariやFinderのタブとは別物みたいだし。
今後NSWindowControllerは複数のNSDocumentを管理できるようになるのだろうか。
648仕様書無しさん:2014/08/22(金) 05:24:34.00
649仕様書無しさん:2014/08/25(月) 04:25:55.16
実行プログラム内で、任意クラスのメソッドの引数の型を調べたいと思っています。

例えば、 MyClass に -(void)setHoge:(NSString *)value というメソッドがあれば、
valueにあう型が正確にNSStringと言う事を知りたいと言った感じです。

よろしくお願いします。
650仕様書無しさん:2014/08/25(月) 13:43:17.61
ランタイムにはそんな情報ねーよ、ただの id。
欲しけりゃ自分で作るんだな。
651仕様書無しさん:2014/08/25(月) 14:13:37.62
[value isKindOfClass:[NSString class]]
とかじゃなく、使う側が、setHoge:の引数の型がってこと?
652仕様書無しさん:2014/08/25(月) 16:20:52.73
NSMethodSignature使えばわかるよ。ちとメンドイが。
653仕様書無しさん:2014/08/25(月) 16:29:51.57
ああ、わかるのは Objective-C type encodings までだな。
654649:2014/08/27(水) 03:55:11.84
コンソールで、メソッドの引数にNSString型を求めてるとろに違う型を入れるとNSStringを入れろと
怒られたりしたので、もしかしたら、実行プログラム内でも分かるのではと思ってましたが、
無理そうな事が分かりました。

知恵を出して頂いた方々、ありがとうございました。
655仕様書無しさん:2014/08/30(土) 09:26:33.03
appkit、廃止の道を歩むのかと思っていたら、10.10のapi差分みると結構機能強化しているな。
656仕様書無しさん:2014/08/30(土) 16:18:54.03
そこは素直に俺の糞予想が外れたといいなさい
657仕様書無しさん:2014/09/05(金) 03:28:02.60
誰か一緒にmacのエロゲ作りませんか?
658仕様書無しさん:2014/09/13(土) 11:34:28.34
iphone ipad appのリバースエンジニアリングってどうやるの?
659仕様書無しさん:2014/09/15(月) 01:12:10.62
>>658
ツール使えば、中のクラスとメソッドシグネチャーとかぐらいは見れるけど。
660仕様書無しさん:2014/09/15(月) 11:35:53.44
そこまでだよな。俺はやった事無いけど。
コードは無理だろ。
661仕様書無しさん:2014/10/11(土) 22:47:43.26
iCloud Deiveが出てきたら今までのiCloud対応ってやらなくて良くなるの?
もしくは今までの仕組みはHandoffに転用出来るようになってるとか?
662仕様書無しさん:2014/10/11(土) 23:48:15.72
>>661
http://support.apple.com/kb/HT201104?viewlocale=ja_JP
Finderでドライブとして見えるのだから、iCloud意識しなくてもいい=iCloud対応ってやらなくていいんじゃね
でも、Yosemiteだけの話で、Mavericksもというのなら今まで通りの Documents in the Cloud で
てか、Documents in the Cloud とはいったいなんだったのかって話だなあ。Documents in the Cloud でも ~/Library/Mobile Documents にアクセスすればドライブでなくフォルダだが似たようなもんだし
663仕様書無しさん:2014/10/12(日) 11:30:56.58
HandOffは別APIが提供されているので既存のiCloudeの仕組みは使われてないと思う。
664仕様書無しさん:2014/10/13(月) 11:32:57.25
xcode 6 ってmac OS 10.6と互換性ないの?
665仕様書無しさん:2014/10/24(金) 11:33:48.44
旧iCloude厨死亡かよ。
Appleは開発者に対して容赦無いな。
その内Objective-C開発者も切り捨てられるんじゃね?
666仕様書無しさん:2014/10/29(水) 21:50:18.20
Objective-Cはパフォーマンス上げられるから生き残るよ(震え声)
667仕様書無しさん:2014/10/31(金) 05:11:52.98
Objective-Cがわかってれば、Swiftの学習やら移行は楽なんかな?
Obj-Cの切り捨て時期がわからんから困る。
668仕様書無しさん:2014/11/01(土) 15:35:34.28
これから始める人はObjective-Cから始めても問題ない。
Swiftが出てきても使うフレームワーク(Cocoa, CocoaTouch)自体はなんにも変わらないし、
しかも情報やサンプルコードの量を考えればまだまだObjective-Cが優勢。
特にコピペプログラマはWeb上のコードコピペしてすぐに動かせるメリットが大きい。

Swiftはあと2年くらい様子見期間が必要だと思う。

特に弱小中小企業が使う場合はその辺の見極めがものすごく重要だと思うんだけど、
とりあえずObjective-Cのままでいくかという空気は良く感じる。
開発者側としてはヨダレが出るほどSwift使いたいんだけど、会社側には厄介な存在、それがSwiftだな。
669仕様書無しさん:2014/11/04(火) 23:03:49.80
コピペ楽って言うけど、XcodeにはObjC->Swiftみたいな変換機能付いてないの?
MRC to ARCやモダンObjCの変換機能が付いていたくらいなんだからあり得ると思うんだけど。

逆に無いということはSwiftは単なる実験的な言語であって、ObjCの後継言語ではないということになるよね。
670仕様書無しさん:2014/11/05(水) 03:30:33.73
後継とか言ってたっけ?
互換だけど後継ではなくて置き換えるつもりなんでしょ
671仕様書無しさん:2014/11/05(水) 03:51:52.61
まだAppleはどうとも言っていない
てか、SwiftはまだよちよちでObjective-C(Cocoa/Cocoa Touch)が無ければ独り立ちできないものなのに
なんで>>669のようなのが湧くのか不思議だな
672仕様書無しさん:2014/11/10(月) 23:34:06.52
文字列をスプリットするのに、stringbyseparated...とか、
コード補完してくれるからいいものの、冗漫に見える。
673仕様書無しさん:2014/11/11(火) 01:31:55.89
慣れればいいことよ。そして慣れるものよ
674仕様書無しさん:2014/11/11(火) 22:38:25.77
TableViewにドラッグアンドドロップするサンプルコードで
swiftのものが見つけきれない。

どう実装すればいいんだろう。ご存知ないですか。
675仕様書無しさん:2014/11/11(火) 23:44:51.94
CocoaなんだからObjective-CのをSwiftっぽくするだけいいじゃん?
676仕様書無しさん:2014/11/12(水) 11:40:14.90
>>674
なんでいまの時期にSwiftを始めてしまったんだ。
まだ半年も経ってない赤ちゃん言語にObjC未経験者が取り組むってかなり茨の道になると思うぞ。
677仕様書無しさん:2014/11/12(水) 23:33:58.92
>>675
>CocoaなんだからObjective-CのをSwiftっぽくするだけいいじゃん?

そう思うでしょう。私も始める前はそう思ってました。

ところが、objCの気持ち悪さといったらもう。
中途半端にSmallTalkで目が泳いでよう理解できませぬ。

それと、XCodeの、使いよう?明示的に裏で動いてるコードがあるようで、まいごになってます
mvcのどれがどうなってんの、とか。戸惑いっぱなしです。
678仕様書無しさん:2014/11/12(水) 23:38:16.75
だったら>>676の言う通りだな。あと1年ぐらい待ってからにしなさいな

ドキュメントでSwiftとObjective-Cが並んでいるがたいした変わらない/変わらないようにしていると思うけどな。たったあれだけの差で気持ち悪いとか…SmallTalkだって本当は知らないんだろうな
679仕様書無しさん:2014/11/16(日) 23:22:49.02
>>676
>>>674
>なんでいまの時期にSwiftを始めてしまったんだ。
>まだ半年も経ってない赤ちゃん言語にObjC未経験者が取り組むってかなり茨の道になると思うぞ。

案の定つっかえながらですね。

老婆心ありがたく。なんとか、ドラッグアンドドロップできました。
やり方に何種類かあるらしく、どれがどうなってるのかまごつきましたが。

connectっていうのがよくわかってなかった。
慣れればこれ可読性高いかも、とおもい
680仕様書無しさん:2014/11/16(日) 23:25:39.96
>>678

SmallTalkの カッコと引数名の合わせ技が、今風ではないので脳がまだ慣れとらんとです。
681仕様書無しさん:2014/11/17(月) 22:22:11.08
>>679
グフっつ。
できたものをエクスポートしたらドラッグアンドドロップがどういうわけか効かない、、、なぜだ、、、。


Tableviewではなくて、Windowのサブクラスでないといかんのかしら。明日明日はそこからやり直してみよう、、、
682仕様書無しさん:2014/11/18(火) 02:58:26.04
MacプログラマとWindowsプログラマって基本的に仲いい?
長い事Windowsなんだけど、今度Macのプログラミングもやることになりそう
俺自身はMacもWindowsもLinuxも、どんなOSでも大好きってタイプ
Macな職場における言動で、何か気をつける事あるかな?
「この話しは絶対するな」とか
683仕様書無しさん:2014/11/18(火) 03:20:03.07
>MacもWindowsもLinuxも、どんなOSでも大好きってタイプ
なら全然問題無いだろう
Macな職場だろうがWindowsな職場だろうが、Linuxの職場だろうがなにかをディスる/あれだったらああなのにとか、その職場で関係無い意味ないこと言わないだろうし

>MacプログラマとWindowsプログラマって基本的に仲いい?
職場だったら仲いいとかなくふつー。仲良くなるかはMacプログラマとかWindowsプログラマの属性は関係無い。極々稀に変なヤツがいるかもしれないが属性とは無関係に元々変なヤツなので気にしなくていいw
684仕様書無しさん:2014/11/18(火) 19:28:14.26
信者クラスのキチ○イはこの業界のひとじゃないことが大多数。
そこまで警戒する必要ない。
PGクラスになると、各々好みはあるけどそれぞれの長所短所を理解して認めてる。
嫌いなOSも商売道具なわけで。
685仕様書無しさん:2014/11/18(火) 20:04:48.83
>>682だけど、

>>683 >>684
レスありがとう

どうやら杞憂だったみたいだね

変に意識しすぎる事なく、今までどおり普通に振る舞うとするよ
686仕様書無しさん:2014/11/19(水) 12:32:32.22
完全Yosemite向けにアプリ作るかMarvericksもサポートするかで悩んでる。
Yosemiteからかなり仕様変わったよね。ViewControlleあたりとかStoryboardとか。
基本APIはMarvericksの頃から整備されてるから、互換性サポートするならMarvericksからが最適なんだけど、
後々色々面倒になりそうで怖い。
687仕様書無しさん:2014/11/22(土) 15:19:44.35
はじめてCocoaアプリケーションを作ろうとして
ひとまず,フィルタプログラムを書いてみようとしています.

標準入力あるいはファイルから一行づつ読み込むにはどのメソッドをつかえばいいでしょうか.

バイト数指定して読むreadDataOfLengthの他には
最後まで読むしかないようです...
688仕様書無しさん:2014/11/29(土) 17:00:03.71
>>686
今から始めるならYosemite対応からのほうがいいよ。
GUIがiOS寄りになってAPIもかなり増えたから、互換コード沢山書かなきゃならん。
689仕様書無しさん:2014/12/01(月) 01:43:46.92
>>687
そんなのはありません。自分で作るか 標準C関数 を混ぜ混ぜ
690仕様書無しさん:2014/12/01(月) 05:45:32.29
>>689
やっぱりないんですか …
自作します。ありがとうございました。
691仕様書無しさん:2014/12/20(土) 14:39:52.99
OSXアプリ開発に詳しい方に聞きたいんですが、
AppStoreで購入したアプリに自分で言語ファイルを追加した場合、動かなくなったりしますか?
無料のアプリなら問題ないようですが、有料アプリの場合にパケージを勝手に弄ると、
セキュリテイの関係でアプリが開けなくなると聞いたことがあります。
692仕様書無しさん:2014/12/21(日) 01:23:11.58
>>691
 多分、内部でハッシュ値かなんか管理してて、下手にいじるとその値が変わって
動かなくと思う。
693仕様書無しさん:2014/12/22(月) 11:16:24.72
やっぱりそうですか。
自作の言語ファイルを開発者に送れば簡単に取り入れてくれますかね。
694仕様書無しさん:2014/12/25(木) 18:03:46.00
SwiftでOSXアプリ作ったらアプリファイルにlibswiftAppKit.dylibっていうファイルが作られた。
もうOS側のフレームワーク使わない方針なのかね。
次期OSが出ても保守しない限り、UIはYosemiteのまま動くってことかな?
iOSは既にそういう仕組みだったよね。
695仕様書無しさん:2014/12/25(木) 19:22:59.76
サイズから見てもSwiftで既存フレームワークを使うのにちょっと何かが足りない分を補間するぐらいだろう
言っていることは全般にわたって全然違う
696仕様書無しさん:2014/12/29(月) 17:34:24.60
小さなランタイム問題か。
697仕様書無しさん:2014/12/30(火) 00:31:44.39
そうじゃない
698仕様書無しさん:2014/12/30(火) 16:17:56.57
小さなランタイム問題ってSwiftが互換性のために仮想マシンで動いてるって話だっけ?
どこかのスレでみたけど、結局バイトコードはObjective-Cと同じものを生成してるから、
関係ないって話じゃなかったけ?

ちなみに>>694のやつはYosemite以前のOSでSwift用ライブラリ動かすための互換ライブラリだとおもうけど。
699仕様書無しさん:2014/12/30(火) 16:45:39.22
バイトコードが一緒なら、Swiftは単純にObj-Cの上位レイヤってことか。
700仕様書無しさん:2014/12/31(水) 11:46:27.39
>>698
小さいランタイムってでかいやんけってのじゃなかったけ

Deployment Target を 10.10 にして Releaseビルド してもどかどかっと入るけど
チラっと小さいのの中見てみたけどなんでいるのかわからなんのがだなあ
701仕様書無しさん:2015/01/17(土) 13:45:13.21
もうObjective-CマスターしちゃったのでわざわざSwift始めようとは思わないんだよな。
言語オタクでもない限り、そういう開発者って多いと思う。
今後は両言語が消えることなく好みで使われていくと思う。
Appleは今後保守大変だろうな。
702仕様書無しさん:2015/01/17(土) 13:58:09.51
Appleは一人じゃないので&お金有り余っているようなので&でかいキャンパスできるので、継続は難しくないんじゃね
703仕様書無しさん:2015/01/17(土) 14:05:55.02
あー、Apple社内での Swift派 vs Objevtive-C派 の派閥争いが起こりそうな気もしないでもないなw
なんの利益にもならないので、仲良く切磋琢磨協力して高めてほしいものだ
704仕様書無しさん:2015/01/19(月) 00:40:46.95
やっぱり、フレームワークの更新で、ニル撲滅するのが先決だよね。
705仕様書無しさん:2015/01/19(月) 01:40:32.20
nil返さなきゃならない場合はどうすんの?Exception?NSError?
706仕様書無しさん:2015/01/19(月) 16:01:49.26
if let文を強要するしかない。
インデントが増えてコードがキモくなるけど。
707仕様書無しさん:2015/01/19(月) 17:59:22.07
何の利点があるんだか
708仕様書無しさん:2015/01/20(火) 10:39:18.41
>>705
nilをOptionalとして返す。
>>706のif letで受け取る。


話が変わるけどObjCのnilテクニックは一応使えるみたいだな。

var val = nil as String?
if val?.lengthOfBytesUsingEncoding(NSUTF8StringEncoding) > 0 {
 print("ok")
} else {
 print("empty")
}

わざわざSwift的にこう書く必要はない

var val = nil as String?
if let str = val {
 if val!.lengthOfBytesUsingEncoding(NSUTF8StringEncoding) > 0 {
  print("true")
 } else {
  print("empty")
 }
} else {
 print("empty")
}
709仕様書無しさん:2015/01/20(火) 10:43:25.64
>>705 修正

すまん、最後の例はこうだった。
にしてもSwiftって文字列操作がしずらい。Rangeあたりとか。
もう初めて1周間経つけど素直にObjC使い続けても良かった気がする。

var val = nil as String?
if let str = val {
 if str.lengthOfBytesUsingEncoding(NSUTF8StringEncoding) > 0 {
  print("ok")
 } else {
  print("empty")
 }
} else {
 print("empty")
}
710仕様書無しさん:2015/01/20(火) 12:02:51.56
「nil撲滅」に対してだったんだけど…「nil撲滅」ってどういう意味やねん
711仕様書無しさん:2015/01/20(火) 17:25:15.09
NSWorkspaceのmountedRemovableMediaではMacに接続しているiPhoneが見れなくなってしまいました。
Macから接続しているiPhoneのデータを取得する方法を知ってますか?
712仕様書無しさん:2015/01/23(金) 14:33:25.67
みなさんOSXアプリ向けのアイコンってどうやって作ってますか?
年会費払って「Graphics Tools for Xcode」入れてもアイコンを一から作り始められるわけではないですよね?
Graphics Tools for Xcodeはコンバータやジェネレータのみという認識なのですが、
OSXらしいヌルヌルしたアイコンを作るならGIMPやイラストレーターのような専用ソフトを使うのが常識なのでしょうか。
他になにか定番アプリでもあるのでしょうか。
713仕様書無しさん:2015/01/23(金) 15:32:30.63
GimpじゃなくてInkscapeやろ
714仕様書無しさん:2015/01/23(金) 17:29:01.01
別にGimpでアイコン作ってもいいんじゃないか?
俺はPhotoshopだが。
715仕様書無しさん:2015/01/23(金) 17:50:31.25
>OSXらしいヌルヌルしたアイコンを作るなら
って意味がいまいちわからんが、Mountain Lionからだったかベクターアインコン(PDF)推し
716仕様書無しさん:2015/02/07(土) 04:53:43.37
iconutilでPDF扱えないみたいなんでけど、新しいコマンドラインツールでも入ったのか?

グローバル変数にretainしないで、値を入れると
別のメソッドから呼び出したときに、全く違うクラスや値が呼び出される場合があるのって仕様なの?
せめて解放されるならnilになってくれればいいのに。
717仕様書無しさん:2015/02/08(日) 15:14:33.32
RCも理解してない奴が今時なんでそんな古いバージョンのObjCを使ってるんだ
718仕様書無しさん:2015/02/08(日) 15:54:39.84
RCってなんなんねんって、Reference Counterか。初めてその省略形見たなw
iconutilってUtility to convert between '.iconset' and '.icns' filesなのに。元ファイルがPDFなのか?
なんか根本的に無知なくせに偉そうにモノ言っているのだけはわかるな>>716
719仕様書無しさん:2015/02/08(日) 23:47:47.24
>>718
>>715
でPDFアイコン推奨って言ってたから、アプリケーションアイコンもPDFで作成できるのかと思ってね。
アイコン作るならiconutilだったからさ、png全種類作ってまとめるとファイルサイズ大きくなるから
できるならベクターでアイコン作りたかっただけ。
アプリ内のアイコンのみなのかな?

偉そう?教えてくださいな
retain counterが0になると、破棄されるのは分かるけど、別のオブジェクトが代入されるのは、
ユニークな名前呼び出しに見えて、ビルドするとポインタ呼び出しになり、アドレスが共有されてるって解釈でいいのかな?
しかし、環境や時と場合によって同じ操作をしても、retainしていない変数が問題なく呼び出せてしまうのは、どういう理屈なんだろうと疑問に思ってね。
720仕様書無しさん:2015/02/09(月) 00:11:04.12
アホなんかなこいつ。
ポインタに入ってるのは最初っからメモリの番地で、メモリが再利用されたら別のオブジェクトが入ってても何らおかしくないだろ。
721仕様書無しさん:2015/02/09(月) 00:15:43.12
Application Iconはビットマップだよ

retainするしないとか言っている意味がわからん
オーナシップを得ないで参照だけすることはできるし、オーナシップを得ないといつ対象が無くなるかわからんしっていうだけ
>別のオブジェクトが代入されるのは、ユニークな名前呼び出しに見えて〜
以下、何を言っているのかイミフだな。ポインタとか知っているようで知らないんだろうなあという
722仕様書無しさん:2015/02/09(月) 00:19:37.62
>>720
>メモリが再利用されたら別のオブジェクトが入ってても何らおかしくないだろ
うむ、たまたまそういう場合もあるある。そこらポインタ周りのことを何もわかってなさそ
723仕様書無しさん:2015/02/09(月) 00:24:14.98
仕事でswiftで実装する事になったので暫くこのスレの住人になろうと思う
しかしxcodeってのは糞だな
リファクタリングすら出来なくてワロタ
まぁこれはswiftだけっぽいが
よくあれでみんなアプリ作ってるわ
724仕様書無しさん:2015/02/09(月) 00:28:20.01
Xcodeを糞だのなんだの言う前に、その糞言う仕事を受ける身分を呪うのが先だろうw
何も知らない知ったか上と身分をわきまえない逆らえない>>723が、なにを言うのだか
725仕様書無しさん:2015/02/09(月) 00:32:25.39
まぁそう言うなよ
そんな事言ったら何も言えなくなるじゃないか
新しい事やるのは好きだし楽しくやってるよ
726仕様書無しさん:2015/02/09(月) 00:33:09.54
あ、上には逆らえないからそういう身分はわきまえているのかw
>>723のようなしょーもない愚痴は知り合いとの飲みの席にだけにしといてくれや
727仕様書無しさん:2015/02/09(月) 00:37:16.95
ていうか俺がやってみたいから俺が決めて俺が実装してるんだけどな
上がどうのとか下っ端根性丸出しでかっこ悪いぜ
とか言うと切れそうだけど
728仕様書無しさん:2015/02/09(月) 00:42:31.77
>リファクタリングすら出来なくてワロタ
>まぁこれはswiftだけっぽいが
ここだけでもそうだが、自分でやりはじめていきなり第一声(?)が糞だのって、マゾなのアホなの?プログラマには向いていそうで向いていなさそう。俺には単純なバグに見えるw
なんで切れるとか言うのかなあ、それほどお前の言うことはたいしたことないよ?
729仕様書無しさん:2015/02/09(月) 00:43:40.47
いやいやごめんよ、喧嘩をうりに来たんじゃないんだ
まったりこのスレ見てくよ
730仕様書無しさん:2015/02/09(月) 00:45:05.75
>>721
やっぱりアイコンはベクターにできないのね。

例えば、雑ですまんけど、こんな感じにグローバルなNSArrayの_arrayにretainしないで、他のNSArrayの参照を渡して
呼び出すと、問題なく呼べる場合(環境)と、全く関係ない(お前どこから来たんだよレベル)値が出力される場合があるやつのことさ
ユニークな名前なんチャラって言うのは、objc runtimeだと、変数名の文字列の名前解釈で呼び出せたりするから、
名前の文字列解釈じゃないんだなー?ってのと、変数定義でクラスを指定してるのに、全く違うクラスだったりするから
>>719の解釈でいいのかなと思って
ただこれが、全く問題なく普通に使えちゃう環境もあるから、何故なのか教えて欲しいのさ

@interface sample : NSObject{
NSArray *_array;
}
@end

@implementation sample
-(void)適当メソッド{
_array = 何でもNSArray (retainしない)
}

-(void)呼び出し{
NSLog(@"%@", _array);
}
@end
731仕様書無しさん:2015/02/09(月) 00:46:48.88
>>730
ごめ>>730の例は悪いな
元のNSArrayのカウンター依存になるか
732仕様書無しさん:2015/02/09(月) 00:52:03.34
そもそも、それはグローバルとは言わない。単なるインスタンス変数
733仕様書無しさん:2015/02/09(月) 00:58:53.70
>>730
https://developer.apple.com/jp/documentation/
高度なメモリ管理プログラミングガイド
(高度でも何でもなくいたって基本的なことだけどw)

を一通り読んで、理解できるまで何度でも読み直そう。そしたらそんな変な疑問も湧かないだろう
734仕様書無しさん:2015/02/09(月) 01:32:35.59
>>732
ごめごめインスタンス変数ね

>>733
XCODEが優秀過ぎて、objcがめちゃくちゃ簡単に書けるから、基礎的な所を割とすっ飛ばしてるんだよね、よく読んでみる ありがと

ちなみにretainしない場合の、オブジェクトを呼び出したときに
それに欲しい物が入ってるかどうかを判定する場合はどうすればいいの?

nil判定だと、他のオブジェクトが入ってる場合があるから使えなくて(そもそもnilにしないとならないみたいだし)
isKindOfClassだとCFとかが代入されてると、使えないし。
735仕様書無しさん:2015/02/09(月) 03:39:21.75
retainしない場合とは、__unsafe_unretainedのことを言ってるのか?
ちゃんと正確に書かないと、そこからエスパーするのは無理。
__weakも__strongもわからんようだし、それで__unsafe_unretainedは無謀。
だいたい違う型のポインタに代入しようとするとそこでwarningが出るはず。
736仕様書無しさん:2015/02/09(月) 14:19:58.33
>>734
Toll-free bridge だいたいよく使うCFは
割とじゃなくほとんど基本的なことは全部じゃねwガイドを全部読むか、入門書をか、荻原本とか読んで基本から勉強しなさいな
737仕様書無しさん:2015/02/10(火) 02:22:48.72
>>735
retainしなくても、インスタンス変数にオブジェクトを代入できるでしょ。それの話

>>だいたい違う型のポインタに代入しようとするとそこでwarningが出るはず。
自分で代入するのは、指定したクラスだよ。
retainしてないやつは、呼び出すと環境によって全く違う値に変わっちゃうんだ。

ライフタイム修飾子は、割と最近だよね、あんまり使ってないや、ARCもしかり
破棄された場合に、他のオブジェクトが入るから__weakじゃ無いな
BAD_ACCESSにもならないから__unsafe_unretainedでもない
そもそもARCじゃないから、ライフタイム修飾子は、関係ないんじゃないかな・・・

みんなARC使ってるから、こういう現象に直面してないのかな?
738仕様書無しさん:2015/02/10(火) 02:38:46.56
>>737
>retainしてないやつは、呼び出すと環境によって全く違う値に変わっちゃう
>破棄された場合に、他のオブジェクトが入る

他のポインタ値が勝手に代入されるって事を言ってるようだがw
配列がなにかでおかしな事やってないか?
739仕様書無しさん:2015/02/10(火) 03:37:17.29
所有権を獲得してないでだと勝手に解放されて解放されたメモリがたまたまばっちし他のインスタンスに割り当てられるってありうることなのに
いまだにそれがわかってないんだな。自分が無知なのを&理解を深めようともしないのを棚に上げて「みんなARC使ってるから、こういう現象に直面してないのかな」ってアホかw
もう百年どうどう巡りをすればいいと思わざるを得ない
740仕様書無しさん:2015/02/10(火) 05:28:36.32
>>739
お、ごめんごめん悪気は無いよ、気に障ったなら申し訳ない。
呼び出しはポインタで、retainしないと、そこが再利用されて別のオブジェクトが呼び出されるんだろうなってことは、
前のレスで聞いてるんだけど、それは正解なのかな?

百年?
retain releaseが、当たり前で、何故それをやらなくては行けないかとか、そういう話じゃなくて。
全く問題なく実行できる環境と、毎回別のオブジェクトに変わってしまう場合の違いってのは何なのか知りたいんだ。

メモリ管理ソフトとか入れて、毎回メモリ解放してるような環境の人とか限定って分けでも無さそうなんだよね
741仕様書無しさん:2015/02/10(火) 06:24:21.16
ちゃんと実証コード書いてみ。BAD_ACCESSにもならないからという、そんな確実なものを書けるなら
なんか初心者に近いのにそうじゃないのを匂わせるのがムカつくんやw
742仕様書無しさん:2015/02/10(火) 06:38:28.85
>破棄された場合に、他のオブジェクトが入るから(__weakじゃ無いな)
って、どういう意味?ポインタはなんとかくでも知っているだよな?Objevtive-Cではインスタンスはポインタにすぎないのも知っているよね?
「破棄された場合に、他のオブジェクトが入る」ってふつうは(?)、変数に格納されている値(アドレス)が変わると受け取るけど?だったら、そういうコードがあるのだろ(=あんたがそうしている)という結論になるけど
アドレスが変わってないのに内容が変わるのは、まあメモリの再利用が濃厚。てかそれ以外はあまり考えられないってのに

そういうところが初心者にしか見えないんだけどな。でも、「ライフタイム修飾子は、割と最近だよね、あんまり使ってないや」ってかなりやっていそうな雰囲気を醸し出すアホかっていう
743仕様書無しさん:2015/02/10(火) 11:12:05.65
単純にメモリが再利用されてるんだろ。
何かのインスタンス:Aを生成して、そのポインタのメモリはたったの4バイト(64bitなら8バイトか)
Aを破棄した後でそこに新しいインスタンス:Bのポインタが割り当てられたってだけ。

MRCなら勝手に解放されちゃまずいものはretainするのが鉄則だろう。
propertyにしてretain属性付ければいい話。つかARC使えよw
744仕様書無しさん:2015/02/10(火) 11:14:25.06
↑ああすまん、ちょっと嘘がある。
745仕様書無しさん:2015/02/10(火) 11:30:48.78
質問者の彼アホ全開なのに本人は気付いてなさげなところが哀れ
746仕様書無しさん:2015/02/10(火) 12:00:56.14
>>743の訂正
再利用されたのはインスタンスAが展開されていた領域な。
だからAもBもポインタ値は同じ。
MRCならAを使う側でretain、使い終わったらreleaseだろ。
747仕様書無しさん:2015/02/10(火) 16:02:37.96
そもそも所有権を持たないオブジェクトが勝手に解放されて、それを参照している部分がどうだこうだと拘るのが異常的ではあるな
フツーに動いていようがなんか変だろうが(潜在的)バグに変わりがないのだから、とっとと直せっちゅうに。そんな意味ないとこに拘るなら、ちゃんと基礎を勉強することに拘れよっていうw
748仕様書無しさん:2015/02/10(火) 16:09:43.98
>>746
ARCに対してのMRCだが、Appleでは正式にはMRR (Manual Retain-Release)と呼ぶのを最近知ったw
749仕様書無しさん:2015/02/10(火) 16:31:17.64
それは知らんかった。
750仕様書無しさん:2015/02/12(木) 00:30:25.72
>>655
UXKit来たな。
751仕様書無しさん:2015/02/13(金) 09:46:50.33
UXKitはiOS開発者向けの移植用KitだからAppKit自体は廃止されないだろう。
最低限のUIを提供するUXKit上で従来のAppKitを乗っけるっていう発想だと思うけど。
752仕様書無しさん:2015/02/15(日) 20:46:27.75
>>751
今ならAudio Hijack 3とBRadikoが定番かな
753仕様書無しさん:2015/02/15(日) 23:35:41.35
どこの誤爆だ?
754仕様書無しさん:2015/02/24(火) 17:24:45.04
MacDeveloperで落とした10.9って、ライセンス的にどういう扱いになるの?
755仕様書無しさん:2015/03/07(土) 17:40:01.14
Yosemite向けに作成したアプリをMavericksでも動くようにしたいんだけど、
その場合、10.10以降のAPIは削除しないとAppStoreに公開できなくなるかな?
きちんとIF文で互換性判定を行ってクラッシュしない物をつくれば大丈夫そうな気もするけど、
Mavericksからみたら10.10のAPIはnon public APIになるわけだし。

下のiOSの人はアウトだったみたいなので、OSXでもアウトにならないか心配。

ttp://hmdt.jp/blog/?p=115
756仕様書無しさん:2015/03/07(土) 17:59:42.22
>>754
10.10でなかったらそこを実行しないようにするだけでいいよ。きちんとIF文で10.10だったら実行(、でなかったら代替でとか)
Frameworkそのものが10.10にしかないのだったら、FrameworkをOptionalでリンク
757仕様書無しさん:2015/03/07(土) 18:03:35.63
>>754
そのURLのとこの non public API ってのは、「ベータ」OSのAPIはまだnon public API扱いってのだろう
そんなベータOSに対応したのにベータOSのは受け付けていないのを知っていてリジェクトされたってほざいているようなところを参照しても意味ないだろうw
758仕様書無しさん:2015/03/09(月) 11:21:16.09
今更Mavericks対応なんて需要あるのか?
759仕様書無しさん:2015/03/09(月) 12:40:44.23
Yosemiteの評価は需要がありそうに見える?
760仕様書無しさん:2015/03/09(月) 12:50:10.34
>>756
なんでこういう流れになるんだ?
761仕様書無しさん:2015/03/09(月) 14:41:14.62
読めないからそういう疑問になるのだろう
762仕様書無しさん:2015/03/09(月) 20:23:01.11
いあ、でもAPIがどうこうとか明らかに無関係じゃ、、
763仕様書無しさん:2015/03/09(月) 21:18:24.35
元々、誤読した結果が
>Mavericksからみたら10.10のAPIはnon public APIになるわけだし
もちろん、これは明確な誤り

元ネタが明確には「一般未公開OS」のAPIとは謳ってないのだから仕方が無いと百歩譲って言えるかもしれないw
複数OSバージョン対応の経験がちょっとでもあればそんな誤読はしないと思うけど

そもそもの記事が「一般未公開OS」に対応し、まだ受付を行っていないのを知っているがコードをそのままにして、申請したらリジェクトされたって、偉そうに逆恨みを連ねているだけだからな
そんなアホな記事を書かなければそもそも誤読が発生しなかったかもなw
764仕様書無しさん:2015/03/10(火) 11:02:04.45
non public APIって要するにアンダースコアで始まるメソッドやクラスだろ?
リジェクトされるのは次期APIでアンスコが消えた時にnon public APIを使っていた既存のアプリがクラッシュするリスクがあるからだよ。
Yosemite用APIでMarvericks向けアプリを作るだけならその問題には抵触しないはず。
きちんとMavericks用とYosemite用で処理を切り分けてクラッシュしないものを提出すれば問題ないと思うよ。
765仕様書無しさん
アンダースコアで始まらないのもあるけどな。Private API/Undocumented APIていう方がわかりいいだろう