問題タブ [cocoa]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
22347 参照

objective-c - 今日から 1 か月を表すように NSDate を変更する

作業中の Cocoa アプリに繰り返しイベントを追加しています。これらは数学的に定義できるため (3600*24*7 = 1 週間)、毎日、毎週繰り返します。次のコードを使用して日付を変更します。

イベントが繰り返されてから何か月が経過したかはわかっていますが、1 か月/3 か月/6 か月/9 か月先を表す NSDate オブジェクトを作成する方法がわかりません。理想的には、ユーザーに 10 月 14 日から毎月繰り返すと言ってもらい、毎月 14 日に繰り返します。

0 投票する
2 に答える
561 参照

cocoa - NSOpenPanel でエイリアスを選択できるのに、シンボリック リンクを選択できないのはなぜですか?

NSOpenPanelどんな種類のファイルでも選択できるを作りたいのでこうします

これにより、シンボリック リンクを除くすべてのファイルを選択できます。
それらは単に選択可能ではなく、明らかなsetResolvesAliases
ものは何もしません。

何を与える?

更新 1:さらにテストを行ったところ、この奇妙な点
は Leopard (10.5.5) には存在するが、Tiger (10.4.8) には存在しないことがわかりました。

更新 2:上記のコードは、mac エイリアス (
リソース フォークに存在する永続的なパス データ) を選択できますが、シンボリック リンク (ln -s で作成されたファイル) は選択できません。

0 投票する
6 に答える
13061 参照

objective-c - init/dealloc で Objective C 2.0 アクセサーを使用してはいけないのはなぜですか?

この質問に対する@mmalc の 回答で、彼は「一般に、dealloc (または init) でアクセサ メソッドを使用しないでください」と述べています。なぜmmalcはこれを言うのですか?

私が考えることができる唯一の本当の理由は、パフォーマンスと @dynamic セッターの未知の副作用を回避することです。

討論?

0 投票する
2 に答える
3483 参照

regex - Cocoa アプリケーションでユーザーが入力した URL を検証する最良の方法は何ですか?

Cocoa に習熟するために、自作の Web ブラウザーを構築しようとしています。ユーザーが有効な URL を入力したかどうかを検証する良い方法が必要です。私はいくつかの正規表現を試しましたが、NSString にはいくつかの興味深い癖があり、私が見たほとんどの正規表現が使用している逆引用符の一部が好きではありません。

0 投票する
11 に答える
8184 参照

objective-c - Cocoa で autorelease を使用するコストはいくらですか?

Apples のドキュメントのほとんどは、特に GUI ビューを作成するときに、自動解放されたオブジェクトの使用を避けているようですが、自動解放されたオブジェクトを使用するコストを知りたいですか?

最終的に、すべてが自動解放され、retain/release の使用が特定のケースのルールの例外となる戦略を使用する必要がありますか? または、 [NSString stringWithEtc...] のような便利なメソッドから返されたオブジェクトの例外である autorelease を使用して、一般的に保持/解放を使用する必要がありますか?

0 投票する
6 に答える
5537 参照

cocoa - ユーザーが NSTableView でセルの編集を終了したときに通知を受け取るにはどうすればよいですか?

ユーザーが NSTableView のセルの編集をいつ終了したかを知る必要があります。このテーブルには、(CalCalendarStore から取得した) ユーザーのすべてのカレンダーが含まれているため、ユーザーの変更を保存するには、CalCalendarStore に変更を通知する必要があります。ただし、ユーザーが編集を終了した後に呼び出されるものは何も見つかりません。テーブルのデリゲートにメソッドがあると思いますが、編集が終了したときではなく、編集が開始されたときに呼び出されるメソッドしか見ませんでした。

0 投票する
9 に答える
85309 参照

objective-c - Xcodeで警告を抑制する方法はありますか?

Xcodeで警告を抑制する方法はありますか?

たとえば、文書化されていないメソッドを呼び出していますが、メソッドがヘッダーにないため、コンパイル時に警告が表示されます。ヘッダーに追加して警告を停止できることはわかっていますが、ヘッダーに追加する以外に (ヘッダーをクリーンで標準に保つことができるように) 警告を抑制する方法があるかどうか疑問に思っていますか? プラグマか何か?

0 投票する
1 に答える
209 参照

objective-c - ObjCオブジェクトをクリーンアップする際に非メモリリソースを処理するためのパターンはありますか?

非メモリリソースに関連する状態を持つオブジェクトは、通常、そのリソースで明示的に「終了」するためのメソッドを提供します。「リソースを使用中」の状態でオブジェクトの割り当て解除が試行された場合に対処するための一般的な方法はありますか?私はいくつかの異なるアプローチを見てきました:

  1. プログラマーが間違いを犯したことをログに記録し、それをデバッグする方法を教えます(それを行いますNSLock
  2. リソースが呼び出し元によって管理されているか、割り当て解除時に放棄されているかを呼び出し元に選択させます(例NSFileHandle
  3. オブジェクトが期待される最終状態にない場合、つまりプログラマーが私のオブジェクトをそのように使用しないことを主張する場合は、例外を発生させます
  4. 帰りはいつも片付けてください。

GCのドキュメントでは、メモリ管理と一緒に他のリソースを管理することは悪い考えであることが確認されており、(まだ)4を実行する例が示されていますが、注意が必要です。それで、誰かが常に従うアプローチを「選んだ」のでしょうか?

0 投票する
6 に答える
4899 参照

cocoa - 識別子によるバンドルの検索


任意のバンドル識別子からバンドルを作成したいcom.apple.iokit.IOStorageFamily

バンドル ID は一意である必要があるため、これは不合理なことではあり
ませんが、明らかなコードは機能しません。

このコードは、すでにロードされているバンドルに対してのみ機能します
(こんにちは、ニワトリと卵の問題)。実際、 何かを行う前に
、識別子について必要以上に知っておく必要があります。
上記のスタイルの ID
では、最終的なコンポーネントを grep して変換し、
/System/Library/Extensions/IOStorageFamily.kext
そこにパスでロードします。

これは最先端ですか、それとももっと一般的な方法がありますか?

0 投票する
2 に答える
1431 参照

cocoa - MacOS で通貨記号が数値の左または右にあるかどうかを判断する方法

Mac Carbon プロジェクトで CFLocale / CFNumberFormatter を使用して、数値の左側または右側に通貨記号があるかどうかを判断するにはどうすればよいですか?

I need to interface with a spreadsheet application which requires me to pass a number, currency symbol, currency symbol location and padding instead of a CStringRef created with CFNumberFormatter.

provides me with the currency symbol as a string. But I'm lost on how to determine the position of the currency symbol...