【Cocoa】Macプログラマのスレ【Objective-C】
■ このスレッドは過去ログ倉庫に格納されています
所有権を獲得してないでだと勝手に解放されて解放されたメモリがたまたまばっちし他のインスタンスに割り当てられるってありうることなのに
いまだにそれがわかってないんだな。自分が無知なのを&理解を深めようともしないのを棚に上げて「みんなARC使ってるから、こういう現象に直面してないのかな」ってアホかw
もう百年どうどう巡りをすればいいと思わざるを得ない >>739
お、ごめんごめん悪気は無いよ、気に障ったなら申し訳ない。
呼び出しはポインタで、retainしないと、そこが再利用されて別のオブジェクトが呼び出されるんだろうなってことは、
前のレスで聞いてるんだけど、それは正解なのかな?
百年?
retain releaseが、当たり前で、何故それをやらなくては行けないかとか、そういう話じゃなくて。
全く問題なく実行できる環境と、毎回別のオブジェクトに変わってしまう場合の違いってのは何なのか知りたいんだ。
メモリ管理ソフトとか入れて、毎回メモリ解放してるような環境の人とか限定って分けでも無さそうなんだよね ちゃんと実証コード書いてみ。BAD_ACCESSにもならないからという、そんな確実なものを書けるなら
なんか初心者に近いのにそうじゃないのを匂わせるのがムカつくんやw >破棄された場合に、他のオブジェクトが入るから(__weakじゃ無いな)
って、どういう意味?ポインタはなんとかくでも知っているだよな?Objevtive-Cではインスタンスはポインタにすぎないのも知っているよね?
「破棄された場合に、他のオブジェクトが入る」ってふつうは(?)、変数に格納されている値(アドレス)が変わると受け取るけど?だったら、そういうコードがあるのだろ(=あんたがそうしている)という結論になるけど
アドレスが変わってないのに内容が変わるのは、まあメモリの再利用が濃厚。てかそれ以外はあまり考えられないってのに
そういうところが初心者にしか見えないんだけどな。でも、「ライフタイム修飾子は、割と最近だよね、あんまり使ってないや」ってかなりやっていそうな雰囲気を醸し出すアホかっていう 単純にメモリが再利用されてるんだろ。
何かのインスタンス:Aを生成して、そのポインタのメモリはたったの4バイト(64bitなら8バイトか)
Aを破棄した後でそこに新しいインスタンス:Bのポインタが割り当てられたってだけ。
MRCなら勝手に解放されちゃまずいものはretainするのが鉄則だろう。
propertyにしてretain属性付ければいい話。つかARC使えよw 質問者の彼アホ全開なのに本人は気付いてなさげなところが哀れ >>743の訂正
再利用されたのはインスタンスAが展開されていた領域な。
だからAもBもポインタ値は同じ。
MRCならAを使う側でretain、使い終わったらreleaseだろ。 そもそも所有権を持たないオブジェクトが勝手に解放されて、それを参照している部分がどうだこうだと拘るのが異常的ではあるな
フツーに動いていようがなんか変だろうが(潜在的)バグに変わりがないのだから、とっとと直せっちゅうに。そんな意味ないとこに拘るなら、ちゃんと基礎を勉強することに拘れよっていうw >>746
ARCに対してのMRCだが、Appleでは正式にはMRR (Manual Retain-Release)と呼ぶのを最近知ったw UXKitはiOS開発者向けの移植用KitだからAppKit自体は廃止されないだろう。
最低限のUIを提供するUXKit上で従来のAppKitを乗っけるっていう発想だと思うけど。 >>751
今ならAudio Hijack 3とBRadikoが定番かな MacDeveloperで落とした10.9って、ライセンス的にどういう扱いになるの? Yosemite向けに作成したアプリをMavericksでも動くようにしたいんだけど、
その場合、10.10以降のAPIは削除しないとAppStoreに公開できなくなるかな?
きちんとIF文で互換性判定を行ってクラッシュしない物をつくれば大丈夫そうな気もするけど、
Mavericksからみたら10.10のAPIはnon public APIになるわけだし。
下のiOSの人はアウトだったみたいなので、OSXでもアウトにならないか心配。
ttp://hmdt.jp/blog/?p=115 >>754
10.10でなかったらそこを実行しないようにするだけでいいよ。きちんとIF文で10.10だったら実行(、でなかったら代替でとか)
Frameworkそのものが10.10にしかないのだったら、FrameworkをOptionalでリンク >>754
そのURLのとこの non public API ってのは、「ベータ」OSのAPIはまだnon public API扱いってのだろう
そんなベータOSに対応したのにベータOSのは受け付けていないのを知っていてリジェクトされたってほざいているようなところを参照しても意味ないだろうw いあ、でもAPIがどうこうとか明らかに無関係じゃ、、 元々、誤読した結果が
>Mavericksからみたら10.10のAPIはnon public APIになるわけだし
もちろん、これは明確な誤り
元ネタが明確には「一般未公開OS」のAPIとは謳ってないのだから仕方が無いと百歩譲って言えるかもしれないw
複数OSバージョン対応の経験がちょっとでもあればそんな誤読はしないと思うけど
そもそもの記事が「一般未公開OS」に対応し、まだ受付を行っていないのを知っているがコードをそのままにして、申請したらリジェクトされたって、偉そうに逆恨みを連ねているだけだからな
そんなアホな記事を書かなければそもそも誤読が発生しなかったかもなw non public APIって要するにアンダースコアで始まるメソッドやクラスだろ?
リジェクトされるのは次期APIでアンスコが消えた時にnon public APIを使っていた既存のアプリがクラッシュするリスクがあるからだよ。
Yosemite用APIでMarvericks向けアプリを作るだけならその問題には抵触しないはず。
きちんとMavericks用とYosemite用で処理を切り分けてクラッシュしないものを提出すれば問題ないと思うよ。 アンダースコアで始まらないのもあるけどな。Private API/Undocumented APIていう方がわかりいいだろう で、結局developerで落とせるOS Xのライセンスはどうなるのかね。
仮想環境とかにインストールして使ってもいいのかね。 誰か、自作のデバッグがMAC OS 10.6で動くかどうか
テストしてもらいたいんだけど?
ttps://sourceforge.jp/projects/awarsiii/releases/
Awars IV.v0.5.zip ってやつがそう
そんなかにdebugあるから、Awars IVを立ち上げれるかどうか こんなの実行する馬鹿いないだろw
ウィルス入りか? Xcode6なんだけど、Macアプリのメニューバーのローカライズって自分で一つづつ翻訳しないといけないんだな。
昔からそうだったっけ? 例えばキーロガーみたいなのが作りたいんですが、
アプリがアクティブじゃなくてもキーイベントを収集できるAPIってありますか? ウイルス作る気か?
なんのために使うかを言ってくれないと教えられん。 まあ、お手軽に普通には Accessibillty で ユーザが許可を与えなければ ならないのだから >>776
いえ、普通にライフログ的なツールが作りたかっただけです。 サンドボックス環境なら[NSEvent addGlobalMonitorForEventsMatchingMask:NSKeyDownMask ...]が一番安全。
確かアクセシビリティは求められた気がする。 サンドボックスはあんま関係ないような
addGlobalMonitorForEventsMatchingMask:に書いてあるように事前に AXIsProcessTrustedを(ただ)呼んでおいてねだね せっかく実証してみたのだから晒してみよう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;
}];
} XcodeでRun(Debugger)する場合には、許可を与えるのはXcodeにね
成果物を直接起動する場合には成果物に許可を >>781
ありがとうございます!早速試してみます。 質問です。
- (BOOL)becomeFirstResponderメソッド内で、直前にフォーカスのあたっていたviewを取得するにはどうすれば良いでしょうか? 誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。
グーグル検索⇒『宮本のゴウリエセレレ』
NJJIMAAZE9 とても簡単な自宅で稼げる方法
参考までに書いておきます
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
LJETR ■ このスレッドは過去ログ倉庫に格納されています