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

■ このスレッドは過去ログ倉庫に格納されています
1仕様書無しさん
垢版 |
2008/06/23(月) 17:06:37
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/
2015/02/09(月) 00:28:20.01
Xcodeを糞だのなんだの言う前に、その糞言う仕事を受ける身分を呪うのが先だろうw
何も知らない知ったか上と身分をわきまえない逆らえない>>723が、なにを言うのだか
2015/02/09(月) 00:32:25.39
まぁそう言うなよ
そんな事言ったら何も言えなくなるじゃないか
新しい事やるのは好きだし楽しくやってるよ
2015/02/09(月) 00:33:09.54
あ、上には逆らえないからそういう身分はわきまえているのかw
>>723のようなしょーもない愚痴は知り合いとの飲みの席にだけにしといてくれや
2015/02/09(月) 00:37:16.95
ていうか俺がやってみたいから俺が決めて俺が実装してるんだけどな
上がどうのとか下っ端根性丸出しでかっこ悪いぜ
とか言うと切れそうだけど
2015/02/09(月) 00:42:31.77
>リファクタリングすら出来なくてワロタ
>まぁこれはswiftだけっぽいが
ここだけでもそうだが、自分でやりはじめていきなり第一声(?)が糞だのって、マゾなのアホなの?プログラマには向いていそうで向いていなさそう。俺には単純なバグに見えるw
なんで切れるとか言うのかなあ、それほどお前の言うことはたいしたことないよ?
2015/02/09(月) 00:43:40.47
いやいやごめんよ、喧嘩をうりに来たんじゃないんだ
まったりこのスレ見てくよ
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
2015/02/09(月) 00:46:48.88
>>730
ごめ>>730の例は悪いな
元のNSArrayのカウンター依存になるか
2015/02/09(月) 00:52:03.34
そもそも、それはグローバルとは言わない。単なるインスタンス変数
2015/02/09(月) 00:58:53.70
>>730
https://developer.apple.com/jp/documentation/
高度なメモリ管理プログラミングガイド
(高度でも何でもなくいたって基本的なことだけどw)

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

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

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

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

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

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

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

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

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

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

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

MRCなら勝手に解放されちゃまずいものはretainするのが鉄則だろう。
propertyにしてretain属性付ければいい話。つかARC使えよw
2015/02/10(火) 11:14:25.06
↑ああすまん、ちょっと嘘がある。
2015/02/10(火) 11:30:48.78
質問者の彼アホ全開なのに本人は気付いてなさげなところが哀れ
2015/02/10(火) 12:00:56.14
>>743の訂正
再利用されたのはインスタンスAが展開されていた領域な。
だからAもBもポインタ値は同じ。
MRCならAを使う側でretain、使い終わったらreleaseだろ。
2015/02/10(火) 16:02:37.96
そもそも所有権を持たないオブジェクトが勝手に解放されて、それを参照している部分がどうだこうだと拘るのが異常的ではあるな
フツーに動いていようがなんか変だろうが(潜在的)バグに変わりがないのだから、とっとと直せっちゅうに。そんな意味ないとこに拘るなら、ちゃんと基礎を勉強することに拘れよっていうw
2015/02/10(火) 16:09:43.98
>>746
ARCに対してのMRCだが、Appleでは正式にはMRR (Manual Retain-Release)と呼ぶのを最近知ったw
2015/02/10(火) 16:31:17.64
それは知らんかった。
2015/02/12(木) 00:30:25.72
>>655
UXKit来たな。
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が定番かな
2015/02/15(日) 23:35:41.35
どこの誤爆だ?
2015/02/24(火) 17:24:45.04
MacDeveloperで落とした10.9って、ライセンス的にどういう扱いになるの?
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
2015/03/07(土) 17:59:42.22
>>754
10.10でなかったらそこを実行しないようにするだけでいいよ。きちんとIF文で10.10だったら実行(、でなかったら代替でとか)
Frameworkそのものが10.10にしかないのだったら、FrameworkをOptionalでリンク
2015/03/07(土) 18:03:35.63
>>754
そのURLのとこの non public API ってのは、「ベータ」OSのAPIはまだnon public API扱いってのだろう
そんなベータOSに対応したのにベータOSのは受け付けていないのを知っていてリジェクトされたってほざいているようなところを参照しても意味ないだろうw
2015/03/09(月) 11:21:16.09
今更Mavericks対応なんて需要あるのか?
759仕様書無しさん
垢版 |
2015/03/09(月) 12:40:44.23
Yosemiteの評価は需要がありそうに見える?
2015/03/09(月) 12:50:10.34
>>756
なんでこういう流れになるんだ?
2015/03/09(月) 14:41:14.62
読めないからそういう疑問になるのだろう
2015/03/09(月) 20:23:01.11
いあ、でもAPIがどうこうとか明らかに無関係じゃ、、
2015/03/09(月) 21:18:24.35
元々、誤読した結果が
>Mavericksからみたら10.10のAPIはnon public APIになるわけだし
もちろん、これは明確な誤り

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

そもそもの記事が「一般未公開OS」に対応し、まだ受付を行っていないのを知っているがコードをそのままにして、申請したらリジェクトされたって、偉そうに逆恨みを連ねているだけだからな
そんなアホな記事を書かなければそもそも誤読が発生しなかったかもなw
2015/03/10(火) 11:02:04.45
non public APIって要するにアンダースコアで始まるメソッドやクラスだろ?
リジェクトされるのは次期APIでアンスコが消えた時にnon public APIを使っていた既存のアプリがクラッシュするリスクがあるからだよ。
Yosemite用APIでMarvericks向けアプリを作るだけならその問題には抵触しないはず。
きちんとMavericks用とYosemite用で処理を切り分けてクラッシュしないものを提出すれば問題ないと思うよ。
2015/03/10(火) 15:52:17.37
アンダースコアで始まらないのもあるけどな。Private API/Undocumented APIていう方がわかりいいだろう
2015/03/12(木) 13:48:55.90
で、結局developerで落とせるOS Xのライセンスはどうなるのかね。
仮想環境とかにインストールして使ってもいいのかね。
2015/04/30(木) 22:12:09.01
誰か、自作のデバッグがMAC OS 10.6で動くかどうか
テストしてもらいたいんだけど?

ttps://sourceforge.jp/projects/awarsiii/releases/


Awars IV.v0.5.zip ってやつがそう
そんなかにdebugあるから、Awars IVを立ち上げれるかどうか
2015/05/01(金) 00:12:45.22
こんなの実行する馬鹿いないだろw
ウィルス入りか?
2015/05/01(金) 00:39:14.86
なんか昔どっかでみたな。続けていたのか
2015/05/01(金) 21:06:07.54
っていう
2015/06/29(月) 17:58:53.83
Xcode6なんだけど、Macアプリのメニューバーのローカライズって自分で一つづつ翻訳しないといけないんだな。
昔からそうだったっけ?
2015/06/29(月) 18:18:14.23
イミフ
2015/11/14(土) 19:11:45.46
例えばキーロガーみたいなのが作りたいんですが、
アプリがアクティブじゃなくてもキーイベントを収集できるAPIってありますか?
2015/11/14(土) 19:50:50.31
うん、あるよ。当然
2015/11/14(土) 20:09:52.99
ウイルス作る気か?
なんのために使うかを言ってくれないと教えられん。
2015/11/14(土) 20:22:49.66
まあ、お手軽に普通には Accessibillty で ユーザが許可を与えなければ ならないのだから
2015/11/14(土) 20:59:08.44
>>776
いえ、普通にライフログ的なツールが作りたかっただけです。
2015/11/14(土) 21:25:16.89
サンドボックス環境なら[NSEvent addGlobalMonitorForEventsMatchingMask:NSKeyDownMask ...]が一番安全。
確かアクセシビリティは求められた気がする。
2015/11/14(土) 21:31:34.15
サンドボックスはあんま関係ないような
addGlobalMonitorForEventsMatchingMask:に書いてあるように事前に AXIsProcessTrustedを(ただ)呼んでおいてねだね
2015/11/14(土) 21:40:25.81
せっかく実証してみたのだから晒してみようw

- (void)installGlobalMonitor:(NSTimer *)timer {
if(!AXIsProcessTrusted())
return;
[timer invalidate];

[NSEvent addGlobalMonitorForEventsMatchingMask:NSKeyDownMask handler:^(NSEvent *event ) {
NSLog(@"Global:%@", event);
}];
}

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
// Insert code here to initialize your application
if(AXIsProcessTrustedWithOptions((__bridge CFDictionaryRef)@{ (__bridge NSString *)kAXTrustedCheckOptionPrompt : @(YES) }))
[self installGlobalMonitor:nil];
else
[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(installGlobalMonitor:) userInfo:nil repeats:YES];

[NSEvent addLocalMonitorForEventsMatchingMask:NSKeyDownMask handler:^NSEvent *(NSEvent *event) {
NSLog( @Local:%@", event);
return event;
}];
}
2015/11/14(土) 21:42:55.64
XcodeでRun(Debugger)する場合には、許可を与えるのはXcodeにね
成果物を直接起動する場合には成果物に許可を
2015/11/14(土) 23:30:46.84
>>781
ありがとうございます!早速試してみます。
2015/11/24(火) 03:35:17.82
質問です。
- (BOOL)becomeFirstResponderメソッド内で、直前にフォーカスのあたっていたviewを取得するにはどうすれば良いでしょうか?
2016/01/15(金) 21:46:53.29
GetKeys IM
785仕様書無しさん
垢版 |
2017/06/12(月) 06:35:07.46
いみがわからない
786仕様書無しさん
垢版 |
2017/12/29(金) 21:08:05.51
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。

グーグル検索⇒『宮本のゴウリエセレレ』

NJJIMAAZE9
787仕様書無しさん
垢版 |
2018/05/22(火) 13:59:26.05
とても簡単な自宅で稼げる方法
参考までに書いておきます
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

LJETR
2018/06/02(土) 09:20:42.59
【マック】Macintoshプログラミング質問箱
http://mevius.2ch.net/test/read.cgi/tech/1113058054/
落ちた
2018/06/07(木) 10:25:54.59
https://supernova.studio/
https://www.sketchapp.com/
ttp://photoshopvip.net/103903
ttps://goodpatch.com/blog/sketch-plugins/

Sketchプラグイン集
https://sketchapp.com/extensions/plugins/
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況