【Cocoa】Macプログラマのスレ【Objective-C】
【Cocoa】Macプログラマのスレ【Objective-C】
元スレ
1 :仕様書無しさん:2008/06/23(月) 17:06:37 .net
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/
422 :仕様書無しさん:2014/01/01(水) 16:07:58.79 .net
親クラスHumanで initWithName という指定イニシャライザがあります。
小クラスTalashiでは init というメソッドをオーバーライドし
– (id)init
{
self = [super initWithName:”Takashi”];
if (nil) {
…
}
return self;
}
のようにしようと思ったのですがこれでは親クラスの指定イニシャライザをオーバーライドしていません。
この場合 initWithName もオーバーライドした方がいいのでしょうか?
756 :仕様書無しさん:2015/03/07(土) 17:40:01.14 .net
Yosemite向けに作成したアプリをMavericksでも動くようにしたいんだけど、
その場合、10.10以降のAPIは削除しないとAppStoreに公開できなくなるかな?
きちんとIF文で互換性判定を行ってクラッシュしない物をつくれば大丈夫そうな気もするけど、
Mavericksからみたら10.10のAPIはnon public APIになるわけだし。
下のiOSの人はアウトだったみたいなので、OSXでもアウトにならないか心配。
ttp://hmdt.jp/blog/?p=115
445 :仕様書無しさん:2014/01/05(日) 00:56:23.40 .net
親クラスで宣言してあるプロパティを小クラスでインスタンス変数アクセスしようとすると
Use of undeclared identifier “_test”
みたいなエラーが出るんだけどどうすればいいの
親クラスでインスタンス変数アクセスするといける
368 :仕様書無しさん:2013/07/14(日) NY:AN:NY.AN .net
>>367
納得する必要は一切無い
自分でそのコード動かして見れば良いよ
502 :仕様書無しさん:2014/02/12(水) 02:25:56.93 .net
object-cでiphoneアプリ(オークションアプリ)作った場合
運営側の管理画面はほかの言語で作るのでしょうか※ruby on railsなど
285 :仕様書無しさん:2012/11/17(土) 11:20:00.39 .net
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor]; //★
639 :仕様書無しさん:2014/08/08(金) 16:58:32.78 .net
どうしてもわからないことがあります
navBarとtabBarの色をUIColorで指定しているんですが、実機だと思ったような色が出ません
[UINavigation Bar appearance].barTintColor = [UIColor blackColor];
のように指定しているんですが、シミュレーター上だと黒色になるんですが実機だとグレーにしかなりません
黒だけではなく、tabとnavの時だけ色が薄くなるように感じます
何か特別な設定が必要なのでしょうか・・・?
681 :仕様書無しさん:2014/11/16(日) 23:25:39.96 .net
>>678
SmallTalkの カッコと引数名の合わせ技が、今風ではないので脳がまだ慣れとらんとです。
427 :仕様書無しさん:2014/01/01(水) 23:32:00.26 .net
あるオブジェクトの隣のオブジェクトを取得するメソッドの名前はどのようにつければいいですか?
– (id)nextObjectOf:(id)obj position:(pos)p
posは前か後ろかを指定するものだと思って下さい
こんな感じのメソッド名でいいですかね
102 :仕様書無しさん:2010/08/11(水) 16:07:10 .net
プログラミングごとき13インチMBPで十分と思ったが、画面狭すぎてXcode使いにくいナリ・・・
293 :仕様書無しさん:2012/12/23(日) 23:11:52.86 .net
543 :仕様書無しさん:2014/03/12(水) 23:04:52.57 .net
知らんがな
それはリアルな友達と話した方がいいだろう
209 :仕様書無しさん:2012/02/25(土) 15:49:22.38 .net
pkgでインストールする際、app以外の外部リソース(pkgになっていない)を単純にコピー
したいのですが、できるのでしょうか?
PackageMakerのPackage LocationをSelf-Containedとは別の設定にしたりして
試しているのですが、なかなかうまく行きません。
外部リソースをpkgに入れたくない理由ですが、Windows用と共通なデータを
配布ディスクのルートに置いているからです。
よろしくお願いします。
592 :仕様書無しさん:2014/06/04(水) 00:30:24.31 .net
共存もそうだし、Objective-Cだけはもうダメですでもないのにな
仮にObjective-Cを完璧に捨てる予定だとしても、明日にもでもないし、果たして2年後3年後なのかわかりもしないののにね
506 :仕様書無しさん:2014/02/12(水) 12:54:30.42 .net
>>503さん
ありがとうございます。助かりました。
574 :仕様書無しさん:2014/05/13(火) 21:22:58.34 .net
Macの開発環境って将来的にC++ベースになったりするの?
335 :仕様書無しさん:2013/05/28(火) 12:30:45.22 .net
ARCについて質問です。
ARCで、イニシャライザでFlyweightパターンなどの都合でレシーバ以外のオブジェクトを返した場合、
センダ側ではalloc→initとやっている訳ですから、releaseすることなくそのオブジェクトへのポインタがセンダ側で失われメモリリークしますよね
かといってイニシャライザ側の実装ファイルをARC解除して、レシーバ以外のオブジェクトを返すときにイニシャライザでreleaseしようとすると、
センダがもしalloc→initとやらずに、alloc→autorelease→initとかやっていたら、二重にreleaseされてしまう恐れがありますよね…
Flyweightパターンを適用する場合にはinitを封印して常にクラスメソッドを使うようにさせなければならないのでしょうか。
347 :仕様書無しさん:2013/06/20(木) 23:59:49.39 .net
NSDictionaryからクラスに、
キーと名前が一致するプロパティに値を移してくれるようなメソッドってあります?
まぁセレクタとforで数行じゃんって話ではありますが…
220 :仕様書無しさん:2012/05/11(金) 10:43:15.41 .net
ワーカースレッドを作りたいんですが、
ARCが有効なプロジェクトでなぜか循環参照が起きてしまいます。
weak_selfを__unsafe_unretainedにすればひとまず解決することはわかりました。
ですが、__weakにするとなぜか循環参照がおこって、deallocが呼ばれません。
xcode 4.3.2です。
ttp://codepad.org/EBgxU0jw
どなたかご教示ください。
463 :仕様書無しさん:2014/01/05(日) 13:20:14.16 .net
>>462
あ、変わりに
instance variable ” is private
にはなるな
83 :仕様書無しさん:2010/01/29(金) 10:45:27 .net
18 :仕様書無しさん:2008/06/30(月) 23:54:44 .net
>>13
ここは Mac スレというより、むしろ NeXTSTEP スレですよ。
593 :仕様書無しさん:2014/06/04(水) 01:18:13.93 .net
Swiftの絶対的な優位性が無くてフラグメンテーションが起きるのを心配してるんじゃないか?
互換性やコード変換が可能といってもコストはゼロじゃないし、
中途半端にObjective-Cが残ったり一部だけSwiftになったりすると、互換性持たせるために却ってコストが増えるという。
数年で全部Swiftに移行完了するのが理想だろうね
44 :仕様書無しさん:2009/02/19(木) 14:25:35 .net
理解できないっていうか、ObjCはCの拡張だから先にCを使えるようになってれば覚えることが少なくて済む
99 :仕様書無しさん:2010/05/05(水) 01:38:30 .net
>>98
Objective-C のコンパイラはある。
Windows 版の Cocoa は無い。
397 :仕様書無しさん:2013/09/22(日) 22:36:09.14 .net
xcodeにてobjective-cを勉強中の者です。
「Xcode4ではじめるObjective-cプログラミング」という書籍の内容を進めているのですが、
以下の部分について、方法がわからず困っております。
——————-
あらかじめ、スーパークラスとなるPersonクラスをプロジェクトに追加しておきます。
「File」メニューの「New」→「New File」を選択し、テンプレートを選択するダイアログを表示します。
「Choose a template for your new file」画面で、左側のグループから「Mac OS X」→「Cocoa」を選択します。右側にグループに属するテンプレートの一覧が表示されるので「Objective-C class」を選択します。
次の画面では「Class」でクラス名として「ClubMember」を指定します。「Subclass of」で継承元となる「Person」を選択します。
次の画面で保存先のフォルダを選択し「Create」ボタンをクリックします。
以上で、「ClubMember.h」と「ClubMember.m」のひな形がプロジェクトに追加されます。インターフェースセクションである「ClubMember.h」を開いて、Person.hがインポートされていること、およびスーパークラスが「Person」になっていることを確認してください。
—————————
環境はOS X でバージョンが10,8,5、Xcodeのバージョンが4.6.3です。
上記部分までのレッスンで、自作クラス作成がありPersonクラス(Person.h、Person.m)は作成済みです。
その流れの中、上記の「Personクラスをプロジェクトに追加しておきます」の方法がわかりません。
よって、の[「Person」を選択します]の部分でスーパークラスの選択に「Person」クラスは当然ありません。
基本的な事で恥ずかしいのですが、スーパークラス候補に自作クラスを追加するの部分の方法をご教授頂けませんでしょうか。
どなたかよろしくお願いいたします。
771 :仕様書無しさん:2015/05/01(金) 00:39:14.86 .net
67 :仕様書無しさん:2009/08/24(月) 03:15:28 .net
./hello¥ world.out
でうまくいくが?
82 :仕様書無しさん:2010/01/28(木) 21:01:10 .net
Xcodeでフルスクラッチで書けばいいんじゃないかな。
595 :仕様書無しさん:2014/06/04(水) 15:18:51.29 .net
別にいいと思うけどな。頑固とかじゃなくて好きならそれを使えばいいだけで
Swift – Objective-C/C はトールフリーブリッジっぽいけどな。だったら尚更好きな方を使えばいいだけだな
744 :仕様書無しさん:2015/02/10(火) 11:12:05.65 .net
単純にメモリが再利用されてるんだろ。
何かのインスタンス:Aを生成して、そのポインタのメモリはたったの4バイト(64bitなら8バイトか)
Aを破棄した後でそこに新しいインスタンス:Bのポインタが割り当てられたってだけ。
MRCなら勝手に解放されちゃまずいものはretainするのが鉄則だろう。
propertyにしてretain属性付ければいい話。つかARC使えよw
322 :仕様書無しさん:2013/03/17(日) 20:40:54.03 .net
>>321
後日教本で把握した元の質問者だけど、
識別子が複数の単語から形成されるのはプログラミング言語として結構珍しいんじゃないかと思う。
この場合はapplication:didReceiveRemoteNotification という名称のセレクタ(メソッド)になるわけで。
ところで、objective-cのセレクタの第1引数にキーワード名が付けられない理由はなぜだろう?
703 :仕様書無しさん:2015/01/17(土) 13:58:09.51 .net
Appleは一人じゃないので&お金有り余っているようなので&でかいキャンパスできるので、継続は難しくないんじゃね
625 :仕様書無しさん:2014/07/05(土) 23:52:54.68 .net
別にObjective-Cやって損はないよ。
Swiftの情報が普及するのに1年以上は掛かる。
それまで初心者は手を付けられない。
Swiftが完全に普及するのは2年くらいかかるんじゃないだろうか。
現行開発者でも年内は様子見がほとんどだと思う。
490 :仕様書無しさん:2014/02/05(水) 11:25:23.46 .net
UIKitはUIWindowがあって無いようなものだしな
フルスクリーン大好きでそれしか使ってないヤツの妄言に真面目に考える必要は無いな
455 :仕様書無しさん:2014/01/05(日) 11:56:12.21 .net
みんなありがとう
初歩的な質問かもしれんが
@interface xxx : yyy
{
ここで宣言されてる変数はprivate?
}
@end
651 :仕様書無しさん:2014/08/25(月) 14:13:37.62 .net
[value isKindOfClass:[NSString class]]
とかじゃなく、使う側が、setHoge:の引数の型がってこと?
316 :仕様書無しさん:2013/03/14(木) 18:23:21.25 .net
[質問]
カテゴリ化されたメソッドの明示的な呼び出し方
iOSの起動時にapplication: didFinishLaunchingWithOptionsが呼び出されますが、
このときに application: didReceiveRemoteNotification を明示的に呼び出したいのですが
NSDictionary *remoteNotif = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
[self didReceiveRemoteNotification: remoteNotif];
[application didReceiveRemoteNotification: remoteNotif];
のいずれも@interface AppDelegate/UIApplication にselectorが定義されていないというエラーになります。
どのように呼び出せばいいのでしょうか。
605 :仕様書無しさん:2014/06/17(火) 08:36:27.29 .net
速度マックスを求める今こそ、アセンブラへの原点回帰をだな(ry
508 :仕様書無しさん:2014/02/12(水) 21:10:52.43 .net
>>504
performSegueWithIdentifier:sender:
使ってやってみたんですが
Warning:
Attempt to present <modalのビューコントローラ> on <モーダルの一個下のビューコントローラ> whose view is not in the window hierarchy.
とでて出来ません。
ウィンドウ階層に入ってないということだと思うんですが何をすればいいんでしょうか
433 :仕様書無しさん:2014/01/02(木) 06:13:21.23 .net
NSArrayで返すメソッド一つ用意すれば事足りると思う
71 :仕様書無しさん:2009/08/25(火) 15:15:48 .net
ここで書かれている¥は円記号であってバックスラッシュではない
ひねりが加わっているが “hello¥ world.out” も円記号とスペースを含むファイル名である。
つまり、、、、
758 :仕様書無しさん:2015/03/07(土) 18:03:35.63 .net
>>755
そのURLのとこの non public API ってのは、「ベータ」OSのAPIはまだnon public API扱いってのだろう
そんなベータOSに対応したのにベータOSのは受け付けていないのを知っていてリジェクトされたってほざいているようなところを参照しても意味ないだろうw
205 :仕様書無しさん:2012/02/22(水) 12:37:16.70 .net
>>204
>Javaとかだと参照を渡すだけでどうにか
>できたんですけど、Objective-Cだときれいにならないんで
ここがわからない。同じじゃないと思うので詳しく
19 :仕様書無しさん:2008/07/01(火) 00:07:07 .net
んだ。
CocoaなんてちっともMacな環境じゃないな。
10年前のNeXT環境と基本なんにもかわらねぇ。
777 :仕様書無しさん:2015/11/14(土) 20:09:52.99 .net
ウイルス作る気か?
なんのために使うかを言ってくれないと教えられん。
698 :仕様書無しさん:2014/12/30(火) 00:31:44.39 .net
279 :仕様書無しさん:2012/10/22(月) 12:05:13.58 .net
>>278
私も悩んだ
仕様変更だろうから、あきらめた
489 :仕様書無しさん:2014/02/05(水) 11:15:29.38 .net
UIKitってAppKitと互換性あるの?
UIKit対応とかめっちゃ面倒そうなんだが・・・
1アプリ1日で対応できるなら許すけど。
485 :仕様書無しさん:2014/02/03(月) 23:27:07.21 .net
775 :仕様書無しさん:2015/11/14(土) 19:11:45.46 .net
例えばキーロガーみたいなのが作りたいんですが、
アプリがアクティブじゃなくてもキーイベントを収集できるAPIってありますか?
691 :仕様書無しさん:2014/12/01(月) 05:45:32.29 .net
>>690
やっぱりないんですか …
自作します。ありがとうございました。
514 :仕様書無しさん:2014/02/13(木) 22:44:13.04 .net
>>511
実機みたくなるのはiPhone 非Retina iOS5.1 100%のときだけだな。
それ以外ならウィンドウみたくなるよ。
745 :仕様書無しさん:2015/02/10(火) 11:14:25.06 .net
562 :仕様書無しさん:2014/04/04(金) 01:19:46.58 .net
@interfaceの中で宣言した物に関してはクラスと小クラス内でのみ有効なstatic変数になる。
483 :仕様書無しさん:2014/01/14(火) 00:24:00.17 .net
AppleEvent:アプリケーション間で通信する場合のひとつのAppleの規格
イベントクラス、イベントID、データを独自に定義してとかアプリケーション間でやりとりするのには特に不備は無い。パイプ使ってとかの通信よりは面倒な面も有るが
AppleScript:人にわかりやすいようにスクリプトで記述できる、まあ一般的に言うスクリプト
実装はAppleEventによっている。スクリプトとAppleEventの変換辞書を各アプリケーションが持っていて、システムはスクリプトからAppleEventへの変換をその辞書をベースに行なってという
アプリケーションでAppleScriptの実装/対応を行なうというのは、AppleEventの処理を行なうのと辞書を用意すること(簡単に言えば)
なので、スクリプトってなんか嫌というのなら、AppleEventをそのまま使えばいい
AppleEventを処理するのはめんどくさい&AppleScriptを使えるAPIがCocoaにあるから、わざわざそんなことないけどね、普通は
766 :仕様書無しさん:2015/03/10(火) 15:52:17.37 .net
アンダースコアで始まらないのもあるけどな。Private API/Undocumented APIていう方がわかりいいだろう
374 :仕様書無しさん:2013/07/16(火) NY:AN:NY.AN .net
>>373
クラッシュ…?
なんか沢山意味不明な文字が書いてありますが、
[ary replaceObjectAtIndex:1 WithObject:@”DDD”]がunrecognizedってなってます。
戻り値もvoidなので書き方自体は間違ってないと思ったのですが…
お手上げです。。
10 :仕様書無しさん:2008/06/24(火) 00:56:32 .net
722 :仕様書無しさん:2015/02/09(月) 00:15:43.12 .net
Application Iconはビットマップだよ
retainするしないとか言っている意味がわからん
オーナシップを得ないで参照だけすることはできるし、オーナシップを得ないといつ対象が無くなるかわからんしっていうだけ
>別のオブジェクトが代入されるのは、ユニークな名前呼び出しに見えて〜
以下、何を言っているのかイミフだな。ポインタとか知っているようで知らないんだろうなあという
760 :仕様書無しさん:2015/03/09(月) 12:40:44.23 .net
652 :仕様書無しさん:2014/08/25(月) 16:20:52.73 .net
NSMethodSignature使えばわかるよ。ちとメンドイが。
129 :108:2010/09/18(土) 13:35:40 .net
また質問なんですが、
参照カウントの勉強にサンプルを書いて色々な所で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が増えると思っていたのですが。。
どう考えたら良いのでしょうか?
511 :仕様書無しさん:2014/02/13(木) 21:46:50.21 .net
すまんどこで聞けばいいかわからんからここで聞かせてくれ
最近iPhoneアプリ開発始めた者だけどiOSシミュレータの見た目が通常は実機みたいな見た目になるみたいなんだが
こんな感じで通常のウィンドウみたいな表示になる。誰か直し方教えてくれさい
54 :仕様書無しさん:2009/04/26(日) 17:22:22 .net
今、Apple Developer Connectionにログインできないのは俺だけか?
ドキュメントを読みたいんだが。
696 :仕様書無しさん:2014/12/25(木) 19:22:59.76 .net
サイズから見てもSwiftで既存フレームワークを使うのにちょっと何かが足りない分を補間するぐらいだろう
言っていることは全般にわたって全然違う
466 :仕様書無しさん:2014/01/06(月) 12:17:00.71 .net
大体ドコの板違いのスレでもある程度続いちゃったら
もう自治厨の勧告程度じゃ変わらないのよ
784 :仕様書無しさん:2015/11/14(土) 23:30:46.84 .net
>>783
ありがとうございます!早速試してみます。
566 :仕様書無しさん:2014/04/12(土) 15:07:43.90 .net
>>565
Mac App Store で提供/に登録するアプリは サンドボックス必須 らしい。他は今まで通り手も可という
238 :仕様書無しさん:2012/05/12(土) 17:23:21.86 .net
>>237
×iOSは
○CocoaやiOSは
ARC は Objective-C の言語仕様の一部だけど、元々 retain/autorelease/release は Objective-C とは関係無い Framework の仕様でそれを言語仕様に取り込んだようなもんってことね
解らない解決できないだけを強行に言われ、でも自分の考えだけは頑固ってのは正直イラっとしたし、どっかで見たこともあるのでもうおしまいw
レスを投稿する(名前省略可)