【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/
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であろうと問題ありません)。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

Deployment Target を 10.10 にして Releaseビルド してもどかどかっと入るけど
チラっと小さいのの中見てみたけどなんでいるのかわからなんのがだなあ
2015/01/17(土) 13:45:13.21
もうObjective-CマスターしちゃったのでわざわざSwift始めようとは思わないんだよな。
言語オタクでもない限り、そういう開発者って多いと思う。
今後は両言語が消えることなく好みで使われていくと思う。
Appleは今後保守大変だろうな。
2015/01/17(土) 13:58:09.51
Appleは一人じゃないので&お金有り余っているようなので&でかいキャンパスできるので、継続は難しくないんじゃね
2015/01/17(土) 14:05:55.02
あー、Apple社内での Swift派 vs Objevtive-C派 の派閥争いが起こりそうな気もしないでもないなw
なんの利益にもならないので、仲良く切磋琢磨協力して高めてほしいものだ
2015/01/19(月) 00:40:46.95
やっぱり、フレームワークの更新で、ニル撲滅するのが先決だよね。
2015/01/19(月) 01:40:32.20
nil返さなきゃならない場合はどうすんの?Exception?NSError?
2015/01/19(月) 16:01:49.26
if let文を強要するしかない。
インデントが増えてコードがキモくなるけど。
2015/01/19(月) 17:59:22.07
何の利点があるんだか
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")
}
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")
}
2015/01/20(火) 12:02:51.56
「nil撲滅」に対してだったんだけど…「nil撲滅」ってどういう意味やねん
711仕様書無しさん
垢版 |
2015/01/20(火) 17:25:15.09
NSWorkspaceのmountedRemovableMediaではMacに接続しているiPhoneが見れなくなってしまいました。
Macから接続しているiPhoneのデータを取得する方法を知ってますか?
2015/01/23(金) 14:33:25.67
みなさんOSXアプリ向けのアイコンってどうやって作ってますか?
年会費払って「Graphics Tools for Xcode」入れてもアイコンを一から作り始められるわけではないですよね?
Graphics Tools for Xcodeはコンバータやジェネレータのみという認識なのですが、
OSXらしいヌルヌルしたアイコンを作るならGIMPやイラストレーターのような専用ソフトを使うのが常識なのでしょうか。
他になにか定番アプリでもあるのでしょうか。
2015/01/23(金) 15:32:30.63
GimpじゃなくてInkscapeやろ
2015/01/23(金) 17:29:01.01
別にGimpでアイコン作ってもいいんじゃないか?
俺はPhotoshopだが。
2015/01/23(金) 17:50:31.25
>OSXらしいヌルヌルしたアイコンを作るなら
って意味がいまいちわからんが、Mountain Lionからだったかベクターアインコン(PDF)推し
2015/02/07(土) 04:53:43.37
iconutilでPDF扱えないみたいなんでけど、新しいコマンドラインツールでも入ったのか?

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

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

retainするしないとか言っている意味がわからん
オーナシップを得ないで参照だけすることはできるし、オーナシップを得ないといつ対象が無くなるかわからんしっていうだけ
>別のオブジェクトが代入されるのは、ユニークな名前呼び出しに見えて〜
以下、何を言っているのかイミフだな。ポインタとか知っているようで知らないんだろうなあという
2015/02/09(月) 00:19:37.62
>>720
>メモリが再利用されたら別のオブジェクトが入ってても何らおかしくないだろ
うむ、たまたまそういう場合もあるある。そこらポインタ周りのことを何もわかってなさそ
2015/02/09(月) 00:24:14.98
仕事でswiftで実装する事になったので暫くこのスレの住人になろうと思う
しかしxcodeってのは糞だな
リファクタリングすら出来なくてワロタ
まぁこれはswiftだけっぽいが
よくあれでみんなアプリ作ってるわ
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
配列がなにかでおかしな事やってないか?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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