タグ付けされた質問 「cocoa」

Cocoaは、MacOS用のAppleのアプリケーション開発フレームワークであり、Foundation、Application Kit、およびCore Dataで構成されています。iOSの質問には「cocoa-touch」タグを使用します。

6
NSPredicateを使用してNSDictionaryキーに基づいてNSArrayをフィルタリングする
辞書がたくさんあります。 キーに基づいて配列をフィルター処理したいのですが。 私はこれを試しました: NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(SPORT == %@)", @"Football"]; NSArray *filteredArray = [data filteredArrayUsingPredicate:predicate]; これは機能しません。結果はありません。私は何か間違っていると思います。「SPORT」がivarであった場合、これがメソッドであることは知っています。それが鍵だとしたら、おそらく違うと思います。 しかし、私は例を見つけることができませんでした。 ありがとう 更新 検索している文字列を引用符で囲みました。 NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(SPORT == '%@')", @"Football"]; それでも動作しません。 アップデート2 解決しました。私は実際には一重引用符を削除する必要がありましたが、これはガイドの言うことに反するようです。 私の本当の問題は、ネストされた配列があり、実際に辞書を評価していなかったことです。骨頭が動く。

5
NSString:isEqualとisEqualToString
違いは何であるisEqual:とはisEqualToString:? クラスが単にオーバーライドするのではなく、なぜisEqualTo *メソッド(NSArrayのisEqualToArray、NSDataのisEqualToDataなど)を追加するのisEqual:ですか?

6
NSLogとCGPointデータ
タッチが割り当てられているポイントと呼ばれるCGPointがあります。 UITouch *touch = [touches anyObject]; CGPoint point = [touch locationInView:self]; x座標値をコンソールログに取得します。 NSLog(@"x: %s", point.x); これを使用すると、このログ出力は次のようになります。 x:(null) これがデバッガーと変数ウォッチを使用して呼び出されたときに、ポイントがnullではないことを確認しました。 助けてくれてありがとう、 ありがとう// :)

4
Objective-Cで実行時にセレクターを動的に作成するにはどうすればよいですか?
をSEL使用してコンパイル時に作成する方法を知っています@selector(MyMethodName:)が、私がやりたいことは、から動的にセレクターを作成することですNSString。これは可能ですか? 私は何ができますか: SEL selector = @selector(doWork:); [myobj respondsToSelector:selector]; 私がやりたいこと:(疑似コード、これは明らかに動作しません) SEL selector = selectorFromString(@"doWork"); [myobj respondsToSelector:selector]; 私はApple APIのドキュメントを検索してきましたが、コンパイル時の@selector(myTarget:)構文に依存しない方法を見つけていません。


8
UIViewの境界を超えた相互作用
UIButtonのフレームがその親のフレームの外側にある場合、UIButton(またはそのほかのコントロール)がタッチイベントを受け取ることは可能ですか?これを試すと、UIButtonがイベントを受信できないようです。これを回避するにはどうすればよいですか?


5
Objective-Cのいわゆる「クラスクラスター」とは正確には何ですか?
私はNSArrayがまさにそのようなものであることを読んでいました。重いですね。私の机の上にはObjective-C、Cocoa、およびCについての本当に太った本が7冊あります。それらのどれもクラスクラスターについてまったく言及していません。少なくとも、本の後ろにある索引では見つけることができません。それでそれは何ですか?




13
複数の非同期NSURLConnection接続の管理
私のクラスには、次のような大量の繰り返しコードがあります。 NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self]; 非同期リクエストの問題は、さまざまなリクエストが発生し、それらをすべて1つのエンティティとして扱うように割り当てられたデリゲートがある場合に、多くの分岐と醜いコードが実行を開始します。 どのようなデータが返されますか?これが含まれている場合はそれを行い、それ以外の場合はそれを行います。ビューにIDでタグを付けることができるように、これらの非同期リクエストにタグを付けることができると便利だと思います。 複数の非同期リクエストを処理するクラスを管理するのに最も効果的な方法は何でしょうか。

11
NSArrayにc-structを配置する最良の方法は何ですか?
c構造体をに保存する通常の方法は何NSArrayですか?メリット、デメリット、メモリ処理? 注目すべきは、違いは何だvalueWithBytesとはvalueWithPointer -ジャスティンと以下のナマズが提起しました。 これはvalueWithBytes:objCType:、将来の読者のためのAppleの議論へのリンクです... いくつかの水平思考、よりパフォーマンスで見ているために、Evgenは、使用しての問題提起しているSTL::vector中でC ++を。 (これは興味深い問題を引き起こします:STL::vector最小限の "配列のきちんとした処理"を可能にする高速なCライブラリがありますか? だから元の質問... 例えば: typedef struct _Megapoint { float w,x,y,z; } Megapoint; それで、そのような独自の構造をに保存するための通常の、最良の、慣用的なNSArray方法は何ですか?そしてそのイディオムでメモリをどのように処理しますか? 構造体を格納するための通常のイディオムを具体的に探していることに注意してください。もちろん、新しい小さなクラスを作ることで問題を回避することができます。しかし、私は実際に構造体を配列に配置するための通常のイディオムがどのようにしているかを知りたいと思います。 ところでここにおそらくNSDataアプローチがありますか?最高ではない... Megapoint p; NSArray *a = [NSArray arrayWithObjects: [NSData dataWithBytes:&p length:sizeof(Megapoint)], [NSData dataWithBytes:&p length:sizeof(Megapoint)], [NSData dataWithBytes:&p length:sizeof(Megapoint)], nil]; ちなみに、参考としてJarret Hardieに感謝します。CGPointsこれは、に保存して類似する方法NSArrayです。 NSArray *points = [NSArray arrayWithObjects: [NSValue valueWithCGPoint:CGPointMake(6.9, 6.9)], [NSValue valueWithCGPoint:CGPointMake(6.9, …

7
XcodeでMacアプリケーションのアイコンを設定するにはどうすればよいですか?
私はObjective-Cコードの記述とInterfaceBuilderでの設計について多くのことを学び、単純なプログラムのアイコンを設定したいと思っていました。 Icon Composerのすべてのサイズフィールドに同じJPGを追加し、ICNSを取得しましたが、プロジェクトに追加する方法がわかりませんでした。 前もって感謝します。
87 xcode  cocoa  macos  icons 

4
NSUserDefaultsのキーとして定数NSStringを使用する
NSUSerDefaultsを使用してユーザー設定を保存しています。キーを定数として設定するのは良い考えだとどこかで読んだことを覚えています-そして私は同意します。次のコードは私が現在持っているものです: [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithInt:polygon.numberOfSides] forKey:@"polygonNumberOfSides"]; これを次のように変更してみました: @implementation Controller NSString const *kPolygonNumberOfSides = @"polygonNumberOfSides"; -(void)savePolygonInfo { [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithInt:polygon.numberOfSides] forKey:kPolygonNumberOfSides]; } これは機能しますが、「warning: passing argument 1 of 'objectForKey:' discards qualifiers from pointer target type」を生成します。私は自分のコードをコンパイラの警告から解放したいと思っています。この警告を修正するにはどうすればよいですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.