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

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

8
他の依存関係に触れずに単一のポッドを更新する方法
次のコマンドで単一のポッドが更新されることを理解していますpod update <podname>。ただし、これにより、以前にインストールした他のポッド(更新コマンドに含まれていないポッド)の依存関係も更新されます。単一のポッドを更新し、他のすべての依存関係をそのままにする方法はありますか?
202 cocoa  cocoapods 

11
UIImage(Cocoa Touch)またはCGImage(Core Graphics)からピクセルデータを取得する方法
UIImage(Cocoa Touch)を持っています。そこから、CGImageなど、入手したいものを入手できてうれしいです。この関数を書きたい: - (int)getRGBAFromImage:(UIImage *)image atX:(int)xx andY:(int)yy { // [...] // What do I want to read about to help // me fill in this bit, here? // [...] int result = (red << 24) | (green << 16) | (blue << 8) | alpha; return result; }

10
CSS印刷:ページ間のDIVの半分を避けますか?
アイテムの大きなコレクションを取得し、それらをCocoaのWebViewのHTMLにポップするソフトウェアのプラグインを作成しています(WebKitをレンダラーとして使用しているため、基本的にこのHTMLファイルがサファリ)。 それが作成するDIVは動的な高さですが、あまり変化しません。通常は約200pxです。とにかく、ドキュメントごとにこれらのアイテムが約600あり、印刷するのに非常に時間がかかっています。運がよければ、各ページの下と上に半分に切り刻まれたエントリーがあり、実際にプリントアウトを使用するのは非常に困難です。 page-break-before、page-break-after、page-break-inside、およびこれら3つの組み合わせを試してみましたが、役に立たなかった。WebKitが命令を適切にレンダリングしていないか、それとも使い方の理解が足りないのかもしれません。とにかく、私は助けが必要です。印刷時にDIVの半分をカットしないようにするにはどうすればよいですか?

20
反復中にNSMutableArrayから削除する最良の方法?
Cocoaでは、NSMutableArrayをループして特定の基準を満たす複数のオブジェクトを削除する場合、オブジェクトを削除するたびにループを再起動せずにこれを行うための最良の方法は何ですか? おかげで、 編集:明確にするために-私が最善の方法を探していました。たとえば、現在のインデックスを手動で更新するよりもエレガントな方法です。たとえば、C ++では私が実行できます。 iterator it = someList.begin(); while (it != someList.end()) { if (shouldRemove(it)) it = someList.erase(it); }
194 objective-c  cocoa 

28
iOS-CocoaPodsがビルドに失敗し、ヘッダーファイルが見つからない
CocoaPodsを使用するiOSプロジェクトがあります。他の開発者が同じプロジェクトに取り組み始めるまで、すべてが順調に機能していました。彼はいくつかの変更を加え(私が知る限りコードにのみ)、リポジトリに新しいブランチを作成しました。私は彼のブランチをチェックアウトしてビルドしようとしましたが、エラーが発生しました:ASLogger / ASLogger.hファイルが見つかりません。 プロジェクト全体を削除して新しいコピーを作成し、「ポッドインストール」を使用しても、ビルドの失敗はまだ残っています。問題が発生する可能性のある場所について何か考えがありますか?さらに情報が必要な場合は、お問い合わせください。

12
NSMutableArrayをシャッフルする最良の方法は何ですか?
がある場合NSMutableArray、要素をランダムにシャッフルするにはどうすればよいですか? (私はこれについて私自身の回答があります。これは以下に掲載されていますが、私はCocoaを初めて使用するので、もっと良い方法があるかどうか知りたいです。) 更新:@Mukeshによって指摘されているように、iOS 10以降およびmacOS 10.12以降では、-[NSMutableArray shuffledArray]シャッフルに使用できる方法があります。詳細については、https://developer.apple.com/documentation/foundation/nsarray/1640855-shuffledarray?language = objcを参照してください。(ただし、これにより、要素を所定の位置に入れ替えるのではなく、新しい配列が作成されることに注意してください。)

6
ユニットテスト内のコードがバンドルリソースを見つけられないのはなぜですか?
私が単体テストしているいくつかのコードは、リソースファイルをロードする必要があります。次の行が含まれています。 NSString *path = [[NSBundle mainBundle] pathForResource:@"foo" ofType:@"txt"]; アプリでは問題なく実行されますが、単体テストフレームワークで実行pathForResource:するとnilが返され、検索できませんでしたfoo.txt。 これが単体テストターゲットのバンドルリソースfoo.txtのコピービルドフェーズに含まれていることを確認したので、なぜファイルが見つからないのですか?


4
なぜObjective-Cのデリゲートは通常、保持ではなくプロパティの割り当てを与えられるのですか?
私はスコットスティーブンソンによって管理されている素晴らしいブログをサーフィンしていて、代理人に「割り当て」プロパティと「保持」を割り当てるという基本的なObjective-Cの概念を理解しようとしています。ガベージコレクションされた環境では、どちらも同じであることに注意してください。私は主に非GCベースの環境(例:iPhone)に関心があります。 スコットのブログから直接: 「assignキーワードは、値をコピーまたは保持するのではなく、インスタンス変数に直接値を割り当てるセッターを生成します。これは、NSIntegerやCGFloatなどのプリミティブ型、またはデリゲートなどの直接所有していないオブジェクトに最適です。」 デリゲートオブジェクトを直接所有していないとはどういう意味ですか?私は通常、デリゲートを保持します。なぜなら、彼らが奈落の底に逃げたくない場合は、保持がそれを処理してくれるからです。私は通常、UITableViewControllerをそれぞれのdataSourceおよびデリゲートから分離して抽象化します。その特定のオブジェクトも保持します。UITableViewには常にデリゲートがあるので、それが消えないようにしたいと思います。 誰かがどこで/なぜ私が間違っているのかさらに説明できるので、Objective-C 2.0プログラミングで、保持の代わりにデリゲートで割り当てプロパティを使用するこの一般的なパラダイムを理解できますか? ありがとう!

6
Mac用のMenubarアプリケーションを作成する方法
EDIT:これは素敵な既製のメニューバーアプリケーションである、ここで(githubのソースこれで)答え。 メニューバーアプリケーションの作り方を知りたくて、そのための要件は何ですか? メニューバーのシンプルなアプリケーションが、ブラウザを使用してリンクを開くことであるのを見ました。それに似たものを作成したいと思います。 これは、私が同様に作成したいアプリケーションです。
175 macos  cocoa  menubar 

4
NSUserDefaultsにNSDateを保存する最適な方法は何ですか?
私が遭遇したNSUserDefaultsにNSDateを格納する方法は2つあります。 オプション1-setObject:forKey: // Set NSDate *myDate = [NSDate date]; [[NSUserDefaults standardUserDefaults] setObject:myDate forKey:@"myDateKey"]; // Get NSDate *myDate = (NSDate *)[[NSUserDefaults standardUserDefaults] objectForKey:@"myDateKey"]; オプション2-timeIntervalSince1970 // Set NSDate *myDate = [NSDate date]; NSTimeInterval myDateTimeInterval = [myDate timeIntervalSince1970]; [[NSUserDefaults standardUserDefaults] setFloat:myDateTimeInterval forKey:@"myDateKey"]; // Get NSTimeInterval myDateTimeInterval = [[NSUserDefaults standardUserDefaults] floatForKey:@"myDateKey"]; NSDate *myDate = …

13
Objective-C名前空間の衝突を解決する最良の方法は何ですか?
Objective-Cには名前空間がありません。Cによく似ており、すべてが1つのグローバル名前空間内にあります。一般的な方法は、クラスの頭にイニシャルを付けることです。たとえば、IBMで作業している場合は、クラスの前に「IBM」を付けることができます。Microsoftで働いている場合は、「MS」を使用できます。等々。時々、イニシャルはプロジェクトを参照します。例えばAdiumはクラスの前に "AI"を付けます(イニシャルを取ることのできる背後に会社はないので)。Appleはクラスの前にNSを付け、このプレフィックスはApple専用に予約されていると述べています。 これまでのところ。ただし、クラス名の前に2〜4文字を追加することは、非常に限定された名前空間です。たとえば、MSやAIはまったく異なる意味を持つ可能性があり(たとえばAIは人工知能である可能性があります)、他の開発者がそれらを使用して同じ名前のクラスを作成する場合があります。バング、名前空間の衝突。 これが独自のクラスと使用している外部フレームワークのいずれかとの衝突である場合は、クラスの名前を簡単に変更できます。しかし、2つの外部フレームワークを使用すると、どちらのフレームワークにもソースがなく、変更できないのでしょうか。アプリケーションはそれらの両方とリンクし、名前の競合が発生します。これらをどのように解決しますか?両方のクラスを引き続き使用できるようにそれらを回避する最良の方法は何ですか? Cでは、ライブラリに直接リンクしないことでこれらを回避できます。代わりに、実行時にdlopen()を使用してライブラリをロードし、dlsym()を使用して探しているシンボルを見つけ、それをグローバルシンボルに割り当てます(任意の方法で名前を付けることができます)、このグローバルシンボルを介してアクセスできます。たとえば、一部のCライブラリにopen()という名前の関数があるために競合が発生した場合、myOpenという名前の変数を定義して、ライブラリのopen()関数を指すようにして、システムのopen()を使用したい場合に、あなたは単にopen()を使用し、もう1つを使用したい場合は、myOpen識別子を介してそれにアクセスします。 Objective-Cでも同様のことが可能ですか?そうでない場合、名前空間の競合を解決するために使用できる他の巧妙でトリッキーなソリューションはありますか?何か案は? 更新: これを明確にするために:名前空間の衝突を事前に回避する方法またはより適切な名前空間を作成する方法を提案する回答は確かに歓迎されます。しかし、私の問題を解決しないので、それらを答えとして受け入れません。2つのライブラリがあり、それらのクラス名が衝突しています。それらを変更することはできません。どちらのソースもありません。衝突はすでに存在しており、それを事前に回避する方法についてのヒントはもはや役に立ちません。それらをこれらのフレームワークの開発者に転送し、将来的にはより良い名前空間を選択することを期待できますが、当面は、単一のアプリケーション内でフレームワークを使用するソリューションを探しています。これを可能にする解決策はありますか?

7
SwiftでNSDataから文字列を初期化する方法
私はNSDataSwift から文字列を初期化しようとしています。 でNSStringのココアのドキュメント Appleはあなたがこれを使用する必要が言っています: init(data data: NSData!, encoding encoding: UInt) ただし、Appleは、使用例や配置場所の例を含めていませんinit。 次のコードをObjective-CからSwiftに変換しようとしています NSString *string; string = [[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding]; 私は次のような多くの可能な構文を試しています(もちろんそれはうまくいきませんでした): var string:NSString! string = init(data: fooData,encoding: NSUTF8StringEncoding)
173 string  swift  cocoa  nsdata 

10
Objective-C Cocoaアプリケーションでの正規表現
最初のグーグルは、Objective-C Cocoaアプリケーションで正規表現を実行する組み込みの方法がないことを示しています。 したがって、4つの質問: それは本当ですか? 私をからかってるの? さて、あなたがお勧めする素敵なオープンソースライブラリはありますか? おそらくNSScannerクラスを使用して、ライブラリをインポートせずに十分に近づける方法は何ですか?
173 objective-c  regex  cocoa 

8
CFStringRefをNSStringに変換する方法は?
NSString *aNSString; CFStringRef aCFString; aCFString = CFStringCreateWithCString(NULL, [aNSString UTF8String], NSUTF8StringEncoding); aCFString = CFXMLCreateStringByUnescapingEntities(NULL, aCFString, NULL); NSStringから新しいものを入手するにはどうすればよいaCFStringですか?
169 cocoa  string  cfstring 

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