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

iOSアプリを駆動するCocoa Touch Frameworksは、Macに見られる多くの実績のあるパターンを共有しますが、タッチベースのインターフェースと最適化に特に重点を置いて構築されました。


10
NSStringプロパティ:コピーまたは保持しますか?
プロパティ名で呼び出されたクラスがあるとSomeClassしましょうstring: @interface SomeClass : NSObject { NSString* name; } @property (nonatomic, retain) NSString* name; @end 名前にが割り当てられている可能性があることを理解していNSMutableStringます。その場合、誤動作につながる可能性があります。 一般的に文字列の場合、代わりに属性を使用することは常に良い考えですか?copyretain 「コピーされた」プロパティは、そのような「保持された」プロパティよりも効率が悪いのですか?


4
ファイルの種類をiPhoneアプリケーションに関連付けるにはどうすればよいですか?
iPhoneアプリとファイルタイプの関連付けについて。 で、この有益な質問私はアプリがカスタムURLプロトコルに関連付けることができることを学びました。 それはほぼ1年前のことで、それ以来Appleは「ドキュメントサポート」を導入しました。これにより、一歩進んで、アプリをファイルタイプに関連付けることができます。不明なファイルタイプが検出されたときに他の適切なアプリを起動するようにアプリを設定する方法については、ドキュメントに多くの説明があります。これは、URLプロトコルの登録のように、関連付けがアプリの箱から出して機能しないことを意味します。 これは私に質問を導きます:関連するアプリケーションを選択するために、SafariやMailのようなシステムアプリがこのシステムを実装していますか、それとも以前のように何もしませんか?
318 ios  cocoa-touch 

30
テキストに応じてUILabelの高さを調整します
UILabel(ダイナミックテキストの長い行)に次のテキストがあるとします。 エイリアン軍はチームをはるかに上回っているので、プレイヤーは、ポストアポカリプスの世界を利用して、ゴミ箱、柱、車、瓦礫、その他の物体の背後にあるカバーを探す必要があります。 UILabel'sテキストが収まるように高さのサイズを変更したいと思います。以下のプロパティを使用UILabelして、テキストを内側に折り返します。 myUILabel.lineBreakMode = UILineBreakModeWordWrap; myUILabel.numberOfLines = 0; 正しい方向に進んでいない場合はお知らせください。ありがとう。


6
SwiftからiOSでUUIDを生成する
私のiOS Swiftアプリで、テーブルキーとして使用するランダムなUUID(GUID)文字列を生成したいのですが、次のスニペットが機能しているようです: let uuid = CFUUIDCreateString(nil, CFUUIDCreate(nil)) これは安全ですか? または、おそらくより良い(推奨される)アプローチはありますか?

30
-didSelectRowAtIndexPath:呼び出されていません
タブビュー内にテーブルビューがあるiOSアプリを書いています。私UITableViewControllerはで実装しましたが-tableView:didSelectRowAtIndexPath:、実行時に行を選択すると、メソッドが呼び出されません。ただし、テーブルビューにデータが入力されているため、コントローラーの他のtableViewメソッドが呼び出されていることがわかります。 これを実現するために私が台無しにしたかもしれないアイデアは誰にもありますか?

23
XibファイルからカスタムUITableViewCellsをどのようにロードしますか?
質問は簡単です:UITableViewCellXibファイルからカスタムをどのようにロードしますか?これにより、Interface Builderを使用してセルを設計できます。メモリ管理の問題により、答えは明らかに単純ではありません。このスレッドは問題に言及し、解決策を提案しますが、NDAのリリース前であり、コードが不足しています。決定的な答えを提供せずに問題を議論する長いスレッドがあります。 ここに私が使用したいくつかのコードがあります: static NSString *CellIdentifier = @"MyCellIdentifier"; MyCell *cell = (MyCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { NSArray *nib = [[NSBundle mainBundle] loadNibNamed:CellIdentifier owner:self options:nil]; cell = (MyCell *)[nib objectAtIndex:0]; } このコードを使用するには、の新しいサブクラスであるMyCell.m / .hを作成し、必要なコンポーネントをUITableViewCell追加IBOutletsします。次に、新しい「空のXIB」ファイルを作成します。IBでXibファイルを開き、UITableViewCellオブジェクトを追加し、その識別子を「MyCellIdentifier」に設定し、そのクラスをMyCellに設定してコンポーネントを追加します。最後に、IBOutletsをコンポーネントに接続します。IBでファイルの所有者を設定していないことに注意してください。 他のメソッドは、ファイルの所有者の設定を推奨し、追加のファクトリクラスを介してXibがロードされない場合にメモリリークを警告します。上記のInstruments / Leaksでテストしたところ、メモリリークはありませんでした。 では、Xibからセルをロードする標準的な方法は何ですか?ファイルの所有者を設定しますか?工場は必要ですか?もしそうなら、ファクトリーのコードはどのように見えますか?複数のソリューションがある場合は、それぞれの長所と短所を明確にしましょう...

30
EXC_BAD_ACCESSシグナルを受信しました
アプリケーションをデバイスにデプロイすると、プログラムは数サイクル後に次のエラーで終了します。 Program received signal: "EXC_BAD_ACCESS". プログラムはiPhoneシミュレーターで問題なく実行されます。また、命令を1つずつ実行する限り、デバッグして実行されます。もう一度走らせたらすぐにEXC_BAD_ACCESS信号を打ちます。 この特定のケースでは、それは偶然にも加速度計コードのエラーでした。シミュレーター内では実行されないため、エラーはスローされませんでした。ただし、デバイスに展開されると実行されます。 この質問に対する回答のほとんどは一般的なEXC_BAD_ACCESSエラーを扱っているため、恐ろしい不正アクセスエラーのキャッチオールとしてこれを開いたままにしておきます。 EXC_BAD_ACCESS通常、不正なメモリアクセスの結果としてスローされます。詳細については、以下の回答をご覧ください。 EXC_BAD_ACCESS以前に信号に遭遇したことがありますか?どのように対処しましたか?
290 ios  cocoa-touch 

24
UIToolbarに左矢印ボタン(UINavigationBarの「戻る」スタイルなど)を作成する
に「戻る」左矢印ベゼルボタンを作成したいですUIToolbar。 私が知る限り、これらのいずれかを取得する唯一の方法はUINavigationController、デフォルト設定のままにして、左側のバー項目に1つ使用することです。しかしUIBarButtonItem、それをとして作成する方法を見つけることができないためUIToolbar、と非常に似ていても、標準で作成することはできませんUINavigationBar。 ボタン画像を使用して手動で作成することはできましたが、ソース画像がどこにも見つかりません。アルファチャネルエッジを持っているため、スクリーンショットや切り取りでは、多目的な結果は得られません。 私が使用するすべてのサイズと配色のスクリーンショットを超えるアイデアはありますか? 更新:質問を避けて、私はこれを尋ねるべきではなく、使用するべきであることを示唆するのをやめてくださいUINavigationBar。私のアプリはInstapaper Proです。(スペースを節約し、読み取り可能なコンテンツ領域を最大化するために)下部のツールバーのみが表示され、左矢印の戻るボタンを下部に配置したいと思います。 これを行う必要はないということは答えではなく、確かに賞金に値しません。

15
NSUserDefaultsのクリア
私が使用している+[NSUserDefaults standardUserDefaults]アプリケーションの設定を保存するために。これは約12個の文字列値で構成されます。これらの値をデフォルト値に設定するのではなく、完全に削除することは可能ですか?



9
layoutSubviewsはいつ呼び出されますか?
layoutSubviewアニメーション中にメッセージが表示されないカスタムビューがあります。 画面いっぱいにビューがあります。画面の下部にカスタムサブビューがあり、ナビゲーションバーの高さを変更した場合、Interface Builderでサイズが正しく変更されます。layoutSubviewsビューが作成されたときに呼び出されますが、二度と呼び出されません。私のサブビューは正しくレイアウトされています。呼び出し中のステータスバーをオフに切り替えるlayoutSubviewsと、メインビューがサイズ変更をアニメーション化しても、サブビューが呼び出されません。 layoutSubviews実際にはどのような状況で呼ばれていますか? 私がしているautoresizesSubviewsに設定NO私のカスタムビューのために。そして、Interface Builderには、上部と下部の支柱と垂直矢印のセットがあります。 パズルのもう1つの部分は、ウィンドウをキーにする必要があることです。 [window makeKeyAndVisible]; それ以外の場合、サブビューは自動的にサイズ変更されません。

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