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

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

4
Objective-CでSwift構造体を使用する方法
単に私は以下のようにアプリケーション定数を格納する構造体を持っています: struct Constant { static let ParseApplicationId = "xxx" static let ParseClientKey = "xxx" static var AppGreenColor: UIColor { return UIColor(hexString: "67B632") } } これらの定数はConstant.ParseClientKey、たとえばを呼び出すことにより、Swiftコードで使用できます。しかし、私のコードでは、Objective-Cクラスもいくつか含まれています。だから私の質問は、Objective-Cコードでこれらの定数を使用する方法ですか? 定数を宣言するこの方法が適切でない場合、SwiftとObjective-Cの両方のコードで使用されるグローバル定数を作成する最良の方法は何ですか?

6
iOS:2つの日付を比較する
私が持っているNSDate、私は他の2つと比較しなければならないことをNSDate、私はしてみてくださいNSOrderAscendingとNSOrderDescending私の日付は、他の2つの日付に等しい場合は? 例:myDate = 24/05/2011 1つと2つであると他の2つがある場合24/05/2011、24/05/2011何を使用できますか?

14
MKMapViewまたはUIWebViewオブジェクトのタッチイベントをインターセプトする方法は?
私は何が間違っているのかわかりませんが、私はタッチをキャッチしようとします MKMapViewオブジェクトにます。次のクラスを作成してサブクラス化しました。 #import <UIKit/UIKit.h> #import <MapKit/MapKit.h> @interface MapViewWithTouches : MKMapView { } - (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *) event; @end そして実装: #import "MapViewWithTouches.h" @implementation MapViewWithTouches - (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *) event { NSLog(@"hello"); //[super touchesBegan:touches withEvent:event]; } @end しかし、このクラスを使用すると、コンソールには何も表示されないようです。 MapViewWithTouches *mapView = [[MapViewWithTouches alloc] initWithFrame:self.view.frame]; [self.view insertSubview:mapView atIndex:0]; 私が間違っていることは何か考えていますか?

2
NSDictionary-辞書にキーと値のペアが含まれているかどうかを確認する必要があります
次のように尋ねるだけです。辞書を持っているとしましょう。 NSMutableDictionary *xyz=[[NSMutableDictionary alloc] init]; [xyz setValue:@"sagar" forKey:@"s"]; [xyz setValue:@"amit" forKey:@"a"]; [xyz setValue:@"nirav" forKey:@"n"]; [xyz setValue:@"abhishek" forKey:@"a"]; [xyz setValue:@"xrox" forKey:@"x"]; 今、私は次のように確認する必要があります [xyzにはキー「b」の値が含まれていますか?ペアかどうか? 質問はどうですか? もう1つの質問は、Key-Valueペアの総数をカウントする方法ですか? たとえば言う NSInteger mCount=[xyz keyCounts];

14
Xcode 4(および依存関係)のコンパイル、ビルド、またはアーカイブの問題
この質問は、過去数週間にわたって進化し、より一般的な問題をカバーしています xcode4 (そして古いプロジェクトからのアップグレードプロジェクト xcodes)。 ただし、問題の多くは、同じ手順に従うことで解決できます。 次のいずれかの問題がある場合は、承認された回答の方法を試してください。 Xcode 4がアプリのアーカイブに失敗する Xcode 4が使用できないアーカイブを作成する Xcode 4は.ipaを作成しません Xcode 4は、プリプロセッサエラーのためにコンパイルに失敗します Xcode 4はヘッダーを見つけることができません Xcode 4のコードコンプリートが機能しない プロジェクトの依存関係はコンパイルされません 依存関係を追加すると、上記の問題が発生します 元の質問 タイトル:Xcode 4の「字句またはプリプロセッサの問題ファイルが見つかりません」 Xcode 4にプロジェクトがあり、正常にビルドしてデバイスとシミュレーターで実行しますが、静的ライブラリに関連付けられたヘッダーファイルを検索すると、アーカイブしようとするとエラーが発生します。 In file included from /Volumes/Development/Path/LBProject/LBProject/LBProject-Prefix.pch:15: In file included from /Volumes/Development/Path/LBProject/LBFDefines.h:23: In file included from /Volumes/Development/Path/LBProject/Classes/LBProjectAppDelegate.h:11: In file included from /Volumes/Development/Path/LBProject/LBProject/../FKNDirectory/FKNDirectoryManager.h:10: /Volumes/Development/Path/LBProject/LBProject/../FKNDirectory/FKNDataModel.h:11:9: fatal error: 'Merchant.h' file …

27
nilモデルではNSPersistentStoreCoordinatorを作成できません
Core Dataで最初の亀裂があり、デバイスでコードを実行すると次のエラーが発生しますが、シミュレータでは問題なく動作します。 *キャッチされない例外「NSInvalidArgumentException」によるアプリの終了、理由:「nilモデルでNSPersistentStoreCoordinatorを作成できません」 問題を引き起こしているかもしれない私の方法のいくつか: - (NSManagedObjectContext *)managedObjectContext { if (__managedObjectContext != nil) { return __managedObjectContext; } NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator]; if (coordinator != nil) { __managedObjectContext = [[NSManagedObjectContext alloc] init]; [__managedObjectContext setPersistentStoreCoordinator:coordinator]; } return __managedObjectContext; } /** Returns the managed object model for the application. If the model doesn't …

4
プログラムによる資産カタログへのアクセス
私はそれが新機能であることを知っていますが、これは不可能かもしれませんが、アセットカタログを使用してアセットを整理できるようにしたいのですが、すべての画像にプログラムでアクセスします。今、どのようにして自分の画像にアクセスしますか?私はまだそれらのようなファイル名でそれらにアクセスしますか? [UIImage imageNamed:@"my-asset-name.png"]; 一見、アセットカタログは拡張子を参照しないので、「。png」なしでアクセスする方が効率的でしょうか? 自分でテストする代わりに私が尋ねる理由は、アセットとアセットカタログを削除してからビルドフォルダーをクリーニングした後でも、アプリケーション内のアセットに引き続きアクセスできるためです。これにより、実装時にアセットカタログをテストできなくなります。 アセットカタログを調べたところ、各アセットの「Contents.json」が見つかり、次のような形式になっています。 { "images" : [ { "idiom" : "universal", "scale" : "1x" }, { "idiom" : "universal", "scale" : "2x", "filename" : "my-asset@2x.png" } ], "info" : { "version" : 1, "author" : "xcode" } } どのようにアクセスすればよいのかまだわかりませんが、これで解決するでしょうか?

5
Swiftでは、1つ以上のプロトコルに準拠する特定の型の変数をどのように宣言できますか?
Swiftでは、次のように宣言することで、変数の型を明示的に設定できます。 var object: TYPE_NAME さらに一歩踏み込んで、複数のプロトコルに準拠する変数を宣言する場合は、protocol宣言型を使用できます。 var object: protocol<ProtocolOne,ProtocolTwo>//etc 1つ以上のプロトコルに準拠し、特定の基本クラス型でもあるオブジェクトを宣言したい場合はどうなりますか?Objective-Cの同等の機能は次のようになります。 NSSomething<ABCProtocolOne,ABCProtocolTwo> * object = ...; Swiftでは、私はそれが次のようになることを期待します: var object: TYPE_NAME,ProtocolOne//etc これにより、プロトコルで定義された追加のインターフェイスだけでなく、基本型の実装にも柔軟に対応できるようになります。 私が見逃しているもっと明白な方法はありますか? 例 例として、UITableViewCellプロトコルに準拠したセルを返す責任があるファクトリーがあるとします。プロトコルに準拠したセルを返す汎用関数を簡単に設定できます。 class CellFactory { class func createCellForItem<T: UITableViewCell where T:MyProtocol >(item: SpecialItem,tableView: UITableView) -> T { //etc } } 後で、タイプとプロトコルの両方を活用しながら、これらのセルをデキューしたい var cell: MyProtocol = CellFactory.createCellForItem(somethingAtIndexPath) as UITableViewCell テーブルビューセルがプロトコルに準拠していないため、これはエラーを返します... セルがaでUITableViewCellありMyProtocol、変数宣言のに準拠していることを指定できますか? …

18
UICollectionViewでセルを左揃え
私のプロジェクトではUICollectionViewを使用しています。この場合、線上に幅の異なる複数のセルがあります。による: https //developer.apple.com/library/content/documentation/WindowsViews/Conceptual/CollectionViewPGforIOS/UsingtheFlowLayout/UsingtheFlowLayout.html 等間隔でセルを線全体に広げます。これは期待どおりに発生しますが、左揃えにし、パディング幅をハードコードします。 UICollectionViewFlowLayoutをサブクラス化する必要があると思いますが、チュートリアルなどをオンラインで読んだ後、これがどのように機能するのかわかりません。


4
2つのCGRectの比較
ビューのフレームが特定のCGRectと等しいかどうかを確認する必要がありました。私はそれを次のようにしてみました: CGRect rect = CGRectMake(20, 20, 20, 20); if (self.view.frame == rect) { // do some stuff } しかし、と言うエラーが出ましたInvalid operands to binary expression('CGRect' (aka 'struct CGRect') and 'CGRect')。2つCGRectのを単純に比較できないのはなぜですか?


2
ARCはディスパッチキューをサポートしていますか?
「ディスパッチキューのメモリ管理」に関するアップルのドキュメントを読んでいます。 ガベージコレクションされたアプリケーションを実装する場合でも、ディスパッチキューと他のディスパッチオブジェクトを保持して解放する必要があります。Grand Central Dispatchは、メモリを再利用するためのガベージコレクションモデルをサポートしていません。 ARCはガベージコレクタではないことを知っていますが、dispatch_retainやdispatch_release my dispatch_queue_tを実行する必要がないことを確認したい

7
ViewController respondsToSelector:割り当て解除されたインスタンスに送信されるメッセージ(クラッシュ)
さて、ここに取り引きがあります、私は私のデバッグとクラッシュについての質問を出すのが嫌いです。通常は自分で処理しますが、すでに複数の質問を表示した後でも、これを回避することはできません。 わかりましたので、ここに問題があります。このスタックトレースでアプリがランダムにオン/オフにクラッシュすることがわかります。 *** -[ViewController respondsToSelector:]: message sent to deallocated instance 0x1e5d2ef0 どこViewController時々 、私のコードがクラッシュした場所を変えることができ、持っているNOのその特定の関連性をViewControllerし、所有していないか、それを呼び出します。 また、そのコンソールトレースを取得するために、ゾンビを有効にしましたobjc_msgSend。しかし、それがどこにあるのかわかりません...私は本当に行き詰まっています!通常、私は常にクラッシュをデバッグするので、私は本当にこれで立ち往生しています。 繰り返しますが、これはさまざまな場所でさまざまなタイミングで、オンとオフでクラッシュします。そして、それがクラッシュした場所はほとんど持っていないとの関連性をViewController。そして、これは非常に混乱します。 私のコードが必要ですか?私が持っているたくさんのファイルを、それが別の場所にクラッシュされているので、私のコードを配布することは混乱になります! 運が悪いのにシンボリックブレークポイントを追加しようとしましたが、iOSのInstrumentsアプリケーションではZombiesを使用できません。サポートされていないアーキテクチャフレームワークがあるため、シミュレータでアプリを実行できません。 みんな、ありがとう...
95 objective-c  ios  xcode  crash 

7
NSAutoreleasePool自動解放プールはどのように機能しますか?
私が理解しているように、alloc、new、またはcopyで作成されたものはすべて手動で解放する必要があります。例えば: int main(void) { NSString *string; string = [[NSString alloc] init]; /* use the string */ [string release]; } しかし、私の質問は、これは同じように有効ではないでしょうか?: int main(void) { NSAutoreleasePool *pool; pool = [[NSAutoreleasePool alloc] init]; NSString *string; string = [[[NSString alloc] init] autorelease]; /* use the string */ [pool drain]; }

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