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/
【Cocoa】Macプログラマのスレ【Objective-C】
■ このスレッドは過去ログ倉庫に格納されています
1仕様書無しさん
2008/06/23(月) 17:06:37320仕様書無しさん
2013/03/14(木) 21:44:57.44 >>319
うん。それを呼び出したいってのだから、そうだろけど
[self application:[UIApplication sharedApplication] didReceiveRemoteNotification:remoteNotif];
は
[self application:application didReceiveRemoteNotification:remoteNotif];
でよかったなあ。そういえば application:didFinishLaunchingWithOptions: 内でという話しだったなと
メソッド名(セレクタ名)の一部と単なる引数名って...
うん。それを呼び出したいってのだから、そうだろけど
[self application:[UIApplication sharedApplication] didReceiveRemoteNotification:remoteNotif];
は
[self application:application didReceiveRemoteNotification:remoteNotif];
でよかったなあ。そういえば application:didFinishLaunchingWithOptions: 内でという話しだったなと
メソッド名(セレクタ名)の一部と単なる引数名って...
322仕様書無しさん
2013/03/17(日) 20:40:54.03 >>321
後日教本で把握した元の質問者だけど、
識別子が複数の単語から形成されるのはプログラミング言語として結構珍しいんじゃないかと思う。
この場合はapplication:didReceiveRemoteNotification という名称のセレクタ(メソッド)になるわけで。
ところで、objective-cのセレクタの第1引数にキーワード名が付けられない理由はなぜだろう?
後日教本で把握した元の質問者だけど、
識別子が複数の単語から形成されるのはプログラミング言語として結構珍しいんじゃないかと思う。
この場合は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
引数無し
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:
でした
[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条については、経営責任も問えますので、刑事告訴できる相手は以下のとおり。
派遣先 当該正社員
派遣先 指揮命令者
派遣元・派遣先 代表取締役
刑事告訴(告発)の行い方ですが、内容証明郵便で告訴状(告発状)を地方検察の直告班に郵送してください。
派遣労働者のパワハラ・セクハラ対応策について
下請け労働者、業務委託、派遣労働者は契約期間が短期という制約があり、契約更新拒否をちらつかせた不当な労働強要の実態があります。
雇用形態における壁・差別は法律に直接的規程はなくとも認められているわけではありません。
「正社員の有期雇用労働者に対する優先的地位乱用」による「侮辱罪」、「脅迫罪」、「強要罪」、「傷害罪」、条例違反で刑事告訴できるが、
本稿では刑法ではなく労基法関連の対策に焦点をあてます。
労働基準法第5条(強制労働の禁止)(1年以上10年以下の懲役又は20万円以上300万円以下の罰金)
■精神の自由を不当に拘束する手段によつて、労働者の意思に反して労働を強制してはならない。
例:正規労働者(同僚)による残業の強制。仕事の期限が遅滞した際に「繰り返し」残業を示唆する。
例:派遣の仕事の回し方の裁量を正社員が決めるなどと示唆する。
例:飲み会、昼食、たばこの同伴を強要する。
労働基準法3条 (六箇月以下の懲役又は三十万円以下の罰金)
■社会的身分を理由として労働条件について差別的取扱をしてはならない。
例:社内制度に明示されていない指揮命令系統が正社員と派遣社員に存在する。
派遣社員も正社員と同様に社内制度に準じるという契約上、業務で平等に取り扱う必要がある。
例:社内制度上の上司でもない正社員が命令をしたり、仕事上の指導権・裁量・許可権限をもつこと
派遣契約の内容にそうした区別を制度化するような客観的な証拠がなければ派遣社員側に有利といえる。
例:派遣社員に業務上における裁量を一切与えず、非管理職の正社員が許可を与える
労基法3、5条については、経営責任も問えますので、刑事告訴できる相手は以下のとおり。
派遣先 当該正社員
派遣先 指揮命令者
派遣元・派遣先 代表取締役
刑事告訴(告発)の行い方ですが、内容証明郵便で告訴状(告発状)を地方検察の直告班に郵送してください。
327仕様書無しさん
2013/03/29(金) 04:19:37.78 昔、17年くらいまえかなー。
appleのdeve用CDに音楽トラックが入ってる月があってさ、女性ボーカルの曲。
誰かタイトルしらない?
appleのdeve用CDに音楽トラックが入ってる月があってさ、女性ボーカルの曲。
誰かタイトルしらない?
328仕様書無しさん
2013/04/24(水) 10:41:58.24 ttp://www1.axfc.net/uploader/so/2879450.pqf
職業プログラマーが3時間でiPhoneアプリを作成出来るようにするための
ドキュメントを公開しました
もし良かったら利用してください
職業プログラマーが3時間でiPhoneアプリを作成出来るようにするための
ドキュメントを公開しました
もし良かったら利用してください
329仕様書無しさん
2013/04/24(水) 12:10:49.81 >プロトコルを採用しているクラスは、そのプロトコルで宣言 されているメソッドを必ず実装しなければなりません
それは以前の話し
今は、@required と @optional が指定でき、実際に @optional なのも多い。もちろん、@optional なプロトコルメソッドは任意
プロトコルなんだから「採用」よりも「準拠」じゃねと思うけど、それはまあいいや
それは以前の話し
今は、@required と @optional が指定でき、実際に @optional なのも多い。もちろん、@optional なプロトコルメソッドは任意
プロトコルなんだから「採用」よりも「準拠」じゃねと思うけど、それはまあいいや
330仕様書無しさん
2013/05/07(火) 17:08:51.52332仕様書無しさん
2013/05/21(火) 01:01:16.92 >>311
これしばらく調子乗ってノリノリでつかってみたけど、あとでクソ面倒なことに気付いたから[[Hoge alloc] init]の形で古典的に書いてるよ。
最初に定義された記法だから破綻がない。
これしばらく調子乗ってノリノリでつかってみたけど、あとでクソ面倒なことに気付いたから[[Hoge alloc] init]の形で古典的に書いてるよ。
最初に定義された記法だから破綻がない。
333仕様書無しさん
2013/05/24(金) 10:37:49.48 流行はalloc initなんて書かないで
newするらしいじゃん
newするらしいじゃん
334仕様書無しさん
2013/05/24(金) 10:56:40.15 >>333
ARCでretain書かなくなったからnewでもいい、ってことだが
googleのobjCガイドラインも、Apple Cocoaガイドラインもalloc initを推奨してる
それに稀にinitを別のシグネチャに変えたりするときに、newだとめんどくさい
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を封印して常にクラスメソッドを使うようにさせなければならないのでしょうか。
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 のインスタンスは解放される
思っているよりもかなり賢いぜよ
@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激変でデザイナー涙目だけど
iOSはGUI激変でデザイナー涙目だけど
341仕様書無しさん
2013/06/14(金) 00:30:51.41 10.10でiOSと統合っぽいな。区切りもいいしw。
342仕様書無しさん
2013/06/14(金) 01:12:53.75 Sprite Kitは使いやすそうだね
344仕様書無しさん
2013/06/15(土) 09:12:11.65 おまえら、はやくこれ完成させてください
https://github.com/ashie/gtkimcocoa
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 ~」はあります。
山ライオンぐらいから厳しくなってきたので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で数行じゃんって話ではありますが…
キーと名前が一致するプロパティに値を移してくれるようなメソッドってあります?
まぁセレクタとforで数行じゃんって話ではありますが…
348仕様書無しさん
2013/06/21(金) 00:30:38.80 ない。
うん、セレクタてかKVCで数行で、これもわかっていると思うがカテゴリで追加すればいいことだからな
うん、セレクタてかKVCで数行で、これもわかっていると思うがカテゴリで追加すればいいことだからな
349仕様書無しさん
2013/06/22(土) 10:58:05.14 KVC下手に使うとあっという間に訳わからんことになるけどね
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で回して突っ込んで置けば良いと俺は思うよ
forで回して突っ込んで置けば良いと俺は思うよ
355仕様書無しさん
2013/06/22(土) 14:15:38.02 こういうヤツが権力を持つとアホなコーディング規約作りそうというの伺える
358仕様書無しさん
2013/06/22(土) 18:19:41.08 01しかない職業病なのか元々馬鹿なのかわからんヤツだな
まあ元々賢くないから職業病wになるのだろうから同じか
まあ元々賢くないから職業病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の便利メソッドってあったけ?
@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;
だな。まあいいや
if(![key isKindOfClass:[NSString class]])
と
continue;
だな。まあいいや
363仕様書無しさん
2013/06/25(火) 18:20:00.23 すみません
KVOについてなんですが
クラスAでプロパティabstractObjectsをKVC準拠にし、
クラスAのサブクラスBでプロパティabstractObjectsの言い換え(エイリアス)としてプロパティconcreteObjectsを追加します
concreteObjectsとabstractObjectsの名前を変えただけで中身は同じなので、サブクラス側でKVCを実装しなおすのはやりたくないのですが
%2b keyPathsForValuesAffectingValueForConcreteObjects
で[NSSet setWithObject:@"abstractObjects"]を返しておけばいいのですかね?
KVOについてなんですが
クラスAでプロパティabstractObjectsをKVC準拠にし、
クラスAのサブクラスBでプロパティabstractObjectsの言い換え(エイリアス)としてプロパティconcreteObjectsを追加します
concreteObjectsとabstractObjectsの名前を変えただけで中身は同じなので、サブクラス側でKVCを実装しなおすのはやりたくないのですが
%2b keyPathsForValuesAffectingValueForConcreteObjects
で[NSSet setWithObject:@"abstractObjects"]を返しておけばいいのですかね?
364仕様書無しさん
2013/06/26(水) 05:00:57.45365仕様書無しさん
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)
そもそもメニューの項目を更新する方法として、このメソッドの書き方は正しいのでしょうか。
そしてメニューを開いている状態でも上手く更新されるような方法を教えてください。
ファイルをダウンロードし、そのダウンロード進行率をメニューの項目として表示しようと思い、以下のようなメソッドを実装しました。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も入れ替わってて意味わかんないです、、
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も入れ替わってて意味わかんないです、、
369仕様書無しさん
2013/07/15(月) NY:AN:NY.AN370仕様書無しさん
2013/07/15(月) NY:AN:NY.AN371仕様書無しさん
2013/07/15(月) NY:AN:NY.AN >>370
今やってみたのですが、1番目の謎は解明できた(やっぱり本が間違っていた)のですが、
2番目はうまく処理してくれませんでした。。
NSArrayではなく、NSMutableArrayにしてやってみたのですがやっぱりエラーになって、、
もしかしてallocとかしないと配列の番号を指定してもエラーになるという事でしょうか?
今やってみたのですが、1番目の謎は解明できた(やっぱり本が間違っていた)のですが、
2番目はうまく処理してくれませんでした。。
NSArrayではなく、NSMutableArrayにしてやってみたのですがやっぱりエラーになって、、
もしかしてallocとかしないと配列の番号を指定してもエラーになるという事でしょうか?
372仕様書無しさん
2013/07/15(月) NY:AN:NY.AN ちなみにエラー内容は
「thread1:signal SIGABRT」です。
「thread1:signal SIGABRT」です。
373仕様書無しさん
2013/07/15(月) NY:AN:NY.AN クラッシュはだいたいにおいてSIGABRTにしかならない
ログに本当の原因が出ているだろう。だいたいにおいて
NSMutableArrayにするのは正解
ログに本当の原因が出ているだろう。だいたいにおいて
NSMutableArrayにするのは正解
374仕様書無しさん
2013/07/16(火) NY:AN:NY.AN >>373
クラッシュ…?
なんか沢山意味不明な文字が書いてありますが、
[ary replaceObjectAtIndex:1 WithObject:@"DDD"]がunrecognizedってなってます。
戻り値もvoidなので書き方自体は間違ってないと思ったのですが…
お手上げです。。
クラッシュ…?
なんか沢山意味不明な文字が書いてありますが、
[ary replaceObjectAtIndex:1 WithObject:@"DDD"]がunrecognizedってなってます。
戻り値もvoidなので書き方自体は間違ってないと思ったのですが…
お手上げです。。
375仕様書無しさん
2013/07/16(火) NY:AN:NY.AN unrecognized selectorとかだったらaryにreplaceObjectAtIndex:withObject:が実装されてないことになる。
aryが別のオブジェクトになってたり、メソッド名をうち間違えてたりするんじゃない?
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;
とでもしているんだろ
か
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における座標」
のように各階層ごとの座標を取得できるものなのでしょうか?
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.AN379仕様書無しさん
2013/07/17(水) NY:AN:NY.AN380仕様書無しさん
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
@あってません。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];
の方がよかったか
よりも
[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"];
なぜエラーになってしまうのか、どなたか教えて頂きたく書き込みいたしました。
よろしくお願い致します。
解説本にサンプルとして書かれた、以下コードを別のコードに変えて実行すると、
「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有りでも期待したように動くのもある
特に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にごろごろ転がっているだろ
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 わかりやすいです‼
ありがとうございます( ; ; )
ありがとうございます( ; ; )
392仕様書無しさん
2013/09/09(月) 19:49:54.32 GTMHTTPFetcher使ってphpのjsonにデータ渡してmysqlに登録する処理をしていて、
特定のデータの時だけ、テーブルに登録した画像のバイナリファイルが欠損するのですが、
何か原因パッと思い浮かばないでしょうか?
objective-cでデータ渡すまでのバイナリは正しくて、phpで受けた時には欠損してるのですが、その間になにが起きてるのかよく分からなくて、
欠損するデータができる場合もパターンがあるのですが、100%同じ欠損を再現するのでネットワークとかハードスペックの問題ではないと思ってます。
特定のデータの時だけ、テーブルに登録した画像のバイナリファイルが欠損するのですが、
何か原因パッと思い浮かばないでしょうか?
objective-cでデータ渡すまでのバイナリは正しくて、phpで受けた時には欠損してるのですが、その間になにが起きてるのかよく分からなくて、
欠損するデータができる場合もパターンがあるのですが、100%同じ欠損を再現するのでネットワークとかハードスペックの問題ではないと思ってます。
393仕様書無しさん
2013/09/16(月) 01:14:19.70 Cocoaで現在マウントされてるメディア名(/Volumes/***)を取得するには
NSArray* arr = [[NSWorkspace sharedWorkspace] mountedRemovableMedia];
を使いますが、dfコマンドで表示されるようなFilesystem名(/dev/disk***)を取得するには
どうすればいいのでしょうか? よろしくお願いします。
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 );
}
}
#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 );
}
}
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」クラスは当然ありません。
基本的な事で恥ずかしいのですが、スーパークラス候補に自作クラスを追加する@の部分の方法をご教授頂けませんでしょうか。
どなたかよろしくお願いいたします。
「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した部分を透明に戻すことができますでしょうか。
よろしくお願い致します。
写真等のUIImageの上に、メモとしてUIImageを置き、その上に落書き等をできるようにしています。
しかし、消しゴムの役割を持つ機能が実装できずに滞っています。
検索しても、白キャンパス前提の、白で塗りつぶして擬似的に消したように見せる状態にすることしか見つけられませんでした。
また、元画像から消しゴムの範囲をコピーして貼付ける手法をとっていますが、メモ部分だけを取り出したい時、
現状では当然ながら消しゴムでこすった部分だけ、メモに元画像が映り込んでしまいうまく使えません。
どのようにして、Strokeした部分を透明に戻すことができますでしょうか。
よろしくお願い致します。
400仕様書無しさん
2013/10/07(月) 11:52:49.21 すいません。誰かにきこうとすると頭が冴えるもので、
書き込み直後、思いついたものを試したところ、解決しました。
CGContextSetBlendMode(UIGraphicsGetCurrentContext(),kCGBlendModeClear);
書き込み直後、思いついたものを試したところ、解決しました。
CGContextSetBlendMode(UIGraphicsGetCurrentContext(),kCGBlendModeClear);
401仕様書無しさん
2013/10/30(水) 00:18:48.87 あるアプリが、「Dockに追加」された事の通知を別のアプリでうけとりたいのですが、何か方法はあるのでしょうか。
403仕様書無しさん
2013/11/03(日) 23:40:15.77 いやそんな通知は無いだろうというのが沈黙なんだろう
~/Library/Preferences/com.apple.dock.plist
をポーリングしてみるとか
~/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させたいのですが。あきらめます。
そうなんですかね、、
>>~/Library/Preferences/com.apple.dock.plist
をポーリングしてみるとか
ちなみに、killall Dockしないと追加内容は、com.apple.dock.plistに反映されない。
追加を検知して、killall Dockさせたいのですが。あきらめます。
405仕様書無しさん
2013/11/04(月) 23:28:55.75406仕様書無しさん
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"
のワーニングが出ます。
エラーではなく動作に問題はないのですが、カテゴリとエクステンションを同時に行う際の正しい書式をご存知の方、ご指導お願いします。
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に実装だけ書けるよ。
UIViewなどの既存のクラスに無名カテゴリを追加するのは良くないと思う。
プライベートなメソッドを追加するだけなら、今は@interfaceで宣言せずに@implementationに実装だけ書けるよ。
408仕様書無しさん
2013/11/14(木) 12:44:01.01409仕様書無しさん
2013/11/14(木) 13:02:19.13411仕様書無しさん
2013/11/22(金) 17:23:50.79 質問があります。
iphone5sになってからデフォルトのカメラアプリが120fpsのスロー動画を撮影できるようになったと思います。
それを用いてアプリを作りたいのですが、これはAVFoundationのフレームワーウで実装できるものなのでしょうか。
activeVideoMinFrameDurationプロパティなどの記述を見つけはしたので、調べる方向性は間違っていないと思いたいのですが・・・
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板にあるし、それ以外のプログラミングの質問はふつープログラム技術板でするもの。
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);
ってどう違うんですか?
NSLog(@"message:%@",str);
NSLog(@"%@",str);
ってどう違うんですか?
418仕様書無しさん
2013/12/20(金) 00:13:30.68 すみません。勘違いでした
419仕様書無しさん
2013/12/28(土) 12:44:43.78 あるクラスの中で使う列挙型を定義したいのですが定義場所はどこが一般的ですか?
・ヘッダファイルのインスタンス変数定義領域
・ヘッダファイルの@interfaceの前
どこなんでしょうか
・ヘッダファイルのインスタンス変数定義領域
・ヘッダファイルの@interfaceの前
どこなんでしょうか
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 空自機レーダー照射、音声データ公開 中国 [蚤の市★]
- 【和訳付き】レーダー照射問題 中国軍と自衛隊との“音声データ”公開 中国国営メディア [♪♪♪★]
- 「中国側も日本機のレーダーを感知していた」 中国メディアが報道 [♪♪♪★]
- 【YouTuber】バイク事故で入院のゆたぼん、振込で「お見舞金」募る [muffin★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★]
- 堀江貴文、キャッシュレス非対応の店にモヤッ 『PayPay』立ち上げの人物にまさかの直談判「現金決済しかできないんだけど…」 [冬月記者★]
- 年末ジャップ、メルカリが売れまくる… [667744927]
- 【悲惨】中国軍が自衛隊に「事前通告」し自衛隊も返答した音声が公開されてしまうwwwこれは高市チェックアウトゕ [597533159]
- 【悲惨】中国軍が自衛隊に「事前通告」し自衛隊も返答した音声が公開されてしまうwwwこれは高市チェックアウトゕ★2 [597533159]
- 現役JKのお茶会スレ( ¨̮ )︎︎𖠚ᐝ180
- 【悲報】JA「全然米が売れなくて倉庫を圧迫してる。助けて!」米卸売り業者「安売りしたら赤字になる…助けて!」 [802034645]
- 【急募】佐藤健(37)さんが急にバカにされ始めた理由WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
