タグ付けされた質問 「objective-c」

このタグは、Objective-C機能に関する質問または言語のコードに依存する質問でのみ使用する必要があります。タグ[cocoa]および[cocoa-touch]は、Appleのフレームワークまたはクラスについて質問するために使用する必要があります。これらのプラットフォームに固有の問題には、関連タグ[ios]、[macos]、[apple-watch]、および[tvos]を使用します。





19
SwiftでHTTPリクエストを行うにはどうすればよいですか?
私はiBooksでAppleのThe Programming Language Swiftを読みましたが、Swiftで HTTPリクエスト(cURLなど)を作成する方法を理解できません。Obj-Cクラスをインポートする必要がありますか、それともデフォルトのライブラリをインポートするだけですか?または、ネイティブのSwiftコードに基づいてHTTPリクエストを行うことはできませんか?

8
Objective-C ARC:強いvs保持、弱いvs割り当て
ARC strongとによって導入されたプロパティには、2つの新しいメモリ管理属性がありweakます。 とcopyは明らかにまったく別のものですが、strongvs retainとweakvsの間に違いはありますassignか? 私の理解では、ここでの唯一の違いは、ポインターにweak割り当てnilられることですが、割り当てられassignません。つまり、解放されたポインターにメッセージを送信すると、プログラムがクラッシュします。しかし、私がを使用する場合weak、これは起こりません。なぜなら、メッセージ送信nilは何もしないからです。 私は間の違いを知らないstrongとretain。 私が使用すべき理由何らかの理由があるassignとretain新しいプロジェクトで、または廃止さのようなものですか?

7
押したときにUILongPressGestureRecognizerが2回呼び出される
ユーザーが2秒間押し続けたかどうかを検出しています。 UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleLongPress:)]; longPress.minimumPressDuration = 2.0; [self addGestureRecognizer:longPress]; [longPress release]; これは私が長押しを処理する方法です: -(void)handleLongPress:(UILongPressGestureRecognizer*)recognizer{ NSLog(@"double oo"); } 2秒以上押し続けると、「double oo」というテキストが2回印刷されます。どうしてこれなの?どうすれば修正できますか?

4
純粋にCでiOSアプリを書く方法
私はここを読みますObjective-Cの前にLearn C? 通常、私は次にいくつかのObj-Cコードを純粋なCコードに置き換えます(結局、好きなだけそれらを組み合わせることができ、Obj-Cメソッドのコンテンツは完全に純粋なCコードにすることができます) これは本当ですか? 純粋にCプログラミング言語でiPhoneアプリを構築することは可能ですか?


12
Objective-Cでクラスのプライベートメソッドを定義する最良の方法
私はObjective-Cのプログラミングを始めたばかりで、Javaの経験があるため、Objective-Cプログラムを書く人々がプライベートメソッドをどのように扱うのか疑問に思います。 私はいくつかの慣習や習慣があるかもしれないことを理解しており、Objective-Cでプライベートメソッドを扱うために人々が使用する最高のテクニックのアグリゲーターとしてこの質問について考えます。 投稿するときは、アプローチの引数を含めてください。なぜそれが良いのですか?(あなたが知っている)どの欠点があり、どのようにそれらに対処しますか? これまでの私の調査結果についても。 MyClass.mファイルで定義されたカテゴリ [eg MyClass(Private)] を使用して、プライベートメソッドをグループ化することができます。 このアプローチには2つの問題があります。 Xcode(およびコンパイラ?)は、対応する@implementationブロックのプライベートカテゴリのすべてのメソッドを定義しているかどうかをチェックしません MyClass.mファイルの先頭にプライベートカテゴリを宣言する@interfaceを配置する必要があります。そうしないと、Xcodeは「自分はメッセージ「privateFoo」に応答しない可能性があります」などのメッセージを表示します。 最初の問題は、空のカテゴリ [MyClass()]などで回避できます。 二つ目は私をとても悩ませます。ファイルの終わり近くにプライベートメソッドを実装(および定義)したいのですが。それが可能かどうかわかりません。

3
「タイプ 'NSString *'のパラメーターに 'const NSString *'を送信すると、修飾子が破棄されます」警告
私は次のように呼び出したい定数NSStringを持っています: [newString isEqualToString:CONSTANT_STRING]; ここに間違ったコードがありますか? 私はこの警告を受けました: 「const NSString *」をタイプ「NSString *」のパラメータに送信すると、修飾子が破棄されます これらはどのように宣言する必要がありますか?

16
UIViewの下に影を描画するにはどうすればよいですか?
UIViewCocoa Touchの下端に影を付けようとしています。CGContextSetShadow()影の描画に使用する必要があることは理解していますが、Quartz 2Dプログラミングガイドは少し曖昧です。 グラフィック状態を保存します。 関数を呼び出し、CGContextSetShadow適切な値を渡します。 影を付ける描画をすべて行います。 グラフィック状態を復元する 私はUIViewサブクラスで次のことを試しました: - (void)drawRect:(CGRect)rect { CGContextRef currentContext = UIGraphicsGetCurrentContext(); CGContextSaveGState(currentContext); CGContextSetShadow(currentContext, CGSizeMake(-15, 20), 5); CGContextRestoreGState(currentContext); [super drawRect: rect]; } ..しかし、これは私にとってはうまくいきません、そして(a)次にどこに行くべきか、そして(b)私UIViewがこの仕事をするために私にすべきことが何かあるかどうかについて私は少し行き詰まっていますか?

5
__attribute __((constructor))はどのように正確に機能しますか?
セットアップが必要なことは明らかです。 正確にはいつ実行されますか? 括弧が2つあるのはなぜですか? ある__attribute__機能は?マクロ?構文? これはCで動作しますか?C ++? 機能する関数は静的である必要がありますか? いつ__attribute__((destructor))実行しますか? Objective-Cの例: __attribute__((constructor)) static void initialize_navigationBarImages() { navigationBarImages = [[NSMutableDictionary alloc] init]; } __attribute__((destructor)) static void destroy_navigationBarImages() { [navigationBarImages release]; }
347 c++  objective-c  c  gcc 

30
Objective-CとCocoaを記述するときに使用するベストプラクティスは何ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。事実、参考文献、専門知識によって回答が裏付けられることを期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前に閉鎖。 ロックされています。質問はトピックから外れていますが、歴史的に重要であるため、この質問とその回答はロックされています。現在、新しい回答や相互作用を受け入れていません。 私はHIG(かなり便利です!)について知っていますが、Objective-Cを作成するとき、具体的にはCocoa(またはCocoaTouch)を使用するときに、どのプログラミングプラクティスを使用しますか。


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