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

Swiftは、Apple Inc.が自社のプラットフォームとLinux用に開発した、安全で高速、かつ表現力豊かな汎用プログラミング言語です。Swiftはオープンソースです。このタグは、言語機能に関する質問、またはSwiftのコードが必要な場合にのみ使用してください。プラットフォームまたはフレームワークに関する(言語に依存しない)質問には、タグ[ios]、[ipados]、[macos]、[watch-os]、[tvos]、[cocoa-touch]、および[cocoa]を使用します。

17
JSONファイルを迅速に解析する方法は?
JSONファイルがありますが、テーブルビューでオブジェクトのリストを解析して使用したいと考えています。誰でもコードを共有してJSONファイルを迅速に解析できますか?
89 ios  swift 

3
Swift:スイッチケースでのオプション値に対するテスト
Swiftでは、オプションの内容に対して切り替えられる値をテストするスイッチステートメントでケースをどのように記述できますnilか?オプションが含まれている場合、ケースをスキップしますか? これが私がこれが見えるかもしれないと想像する方法です: let someValue = 5 let someOptional: Int? = nil switch someValue { case someOptional: // someOptional is non-nil, and someValue equals the unwrapped contents of someOptional default: // either, someOptional is nil, or someOptional is non-nil but someValue does not equal the unwrapped contents of someOptional } これとまったく同じように書くと、コンパイラーsomeOptionalはアンラップされていないと文句を言いますが!、最後に追加して明示的にアンラップすると、もちろん、実行時エラーが発生しsomeOptionalますnil。の?代わりに追加することは!私にはある程度の意味がありますが(オプションの連鎖の精神では)、コンパイラエラーがなくなるわけではありません(つまり、実際にはオプションのラップが解除されません)。

19
タブバー項目のテキストを削除し、画像のみを表示
簡単な質問ですが、どうすればタブバー項目のテキストを削除して画像のみを表示できますか? インスタグラムアプリでバーのアイテムを好きにしたい: xcode 6のインスペクターで、タイトルを削除し、@ 2x(50px)と@ 3x(75px)の画像を選択します。ただし、画像は削除されたテキストの空き領域を使用しません。Instagramアプリのように同じタブバーアイテムの画像を実現する方法はありますか?

4
プロトコルが特定のクラスによってのみ採用されることを要求する方法
このプロトコルが欲しい: protocol AddsMoreCommands { /* ... */ } クラスから継承するクラスによってのみ採用されますUIViewController。このページは、(構造体ではなく)クラスによってのみ採用されることを指定することで、 protocol AddsMoreCommands: class { } しかし、それが特定のクラスによってのみ採用されることを要求する方法を見ることができません。そのページでは、where適合性をチェックするためにプロトコル拡張に句を追加することについて後で説明していますが、それをどのように適応させるかはわかりません。 extension AddsMoreCommands where /* what */ { } これを行う方法はありますか?ありがとう!

19
UISearchBarはiOS 11でナビゲーションバーの高さを増加します
私は次のUISearchBarようなナビゲーションバーの一部になっています。 let searchBar = UISearchBar() //some more configuration to the search bar ..... navigationItem.titleView = searchBar iOS 11何かに更新した後、私のアプリの検索バーで奇妙なことが起こりました。上iOS 10と前に私は私のナビゲーションバーは次のように見ていました: 今iOS 11私が持っています: ご覧のとおり、2つの検索バーの丸めに違いがあり、気になりません。問題は、検索バーがナビゲーションバーの高さを増やすことです。だから私が別のコントローラーに行くときも奇妙に見えます: 実際、奇妙な黒い線の高さと現在のナビゲーションバーの高さの和は、2番目の図に示されているナビゲーションバーの高さと同じです... 黒い線を取り除き、すべてのビューコントローラー全体でナビゲーションバーの高さを一貫させる方法

22
迅速に電話をかける
特定の番号を使用せずに、変数で呼び出されている番号に電話をかけようとしています。または、少なくとも電話の番号をプルアップするように指示しています。変数で呼び出されているこの番号は、パーサーを使用するか、WebサイトのSQLから取得して取得した番号です。関数を使って変数に保存されている電話番号に電話をかけようとするボタンを作成しましたが、役に立ちませんでした。何でも感謝に役立ちます! func callSellerPressed (sender: UIButton!){ //(This is calls a specific number)UIApplication.sharedApplication().openURL(NSURL(string: "tel://######")!) // This is the code I'm using but its not working UIApplication.sharedApplication().openURL(NSURL(scheme: NSString(), host: "tel://", path: busPhone)!) }

3
ジェネリックプロトコルを変数タイプとして使用する方法
私がプロトコルを持っているとしましょう: public protocol Printable { typealias T func Print(val:T) } そしてここに実装があります class Printer<T> : Printable { func Print(val: T) { println(val) } } 私の期待は、Printable変数を使用して次のような値を出力できる必要があるということでした。 let p:Printable = Printer<Int>() p.Print(67) コンパイラはこのエラーで文句を言っています: 「プロトコル 'Printable'は、Selfまたは関連する型の要件があるため、ジェネリック制約としてのみ使用できます」 私は何か間違ったことをしていますか?とにかくこれを修正するには? **EDIT :** Adding similar code that works in C# public interface IPrintable<T> { void Print(T val); } …
89 ios  xcode  generics  swift 

17
NSDateを使用して曜日を取得する
「YYYY-MM-DD」形式の文字列を取り込んで、その週に関連する日付の位置を表すintを吐き出すことになっているメソッドを作成しました(月間で重複しているかどうかは関係ありません)。たとえば、sunday = 1 monday = 2などです。 これが私のコードです: func getDayOfWeek(today:String)->Int{ var formatter:NSDateFormatter = NSDateFormatter() formatter.dateFormat = "YYYY-MM-DD" var todayDate:NSDate = formatter.dateFromString(today)! var myCalendar:NSCalendar = NSCalendar(calendarIdentifier: NSGregorianCalendar) var myComponents = myCalendar.components(NSCalendarUnit.WeekdayOrdinalCalendarUnit, fromDate: todayDate) var weekDay = myComponents.weekdayOrdinal return weekDay } 私はそれNSCalendarUnit.WeekdayOrdinalCalendarが間違っていることを知っていますが、私はほとんどの論理的な組み合わせだと思います。そしてまた、myComponents.weekdayOrdinal例えば中古mycomponents.dayやをいじりました.weekday。 使用するものの私のオプションは次のとおりです。 static var EraCalendarUnit: NSCalendarUnit { get } static var YearCalendarUnit: …

12
Swiftで配列の要素でグループ化する方法
私がこのコードを持っているとしましょう: class Stat { var statEvents : [StatEvents] = [] } struct StatEvents { var name: String var date: String var hours: Int } var currentStat = Stat() currentStat.statEvents = [ StatEvents(name: "lunch", date: "01-01-2015", hours: 1), StatEvents(name: "dinner", date: "01-01-2015", hours: 1), StatEvents(name: "dinner", date: "01-01-2015", hours: 1), StatEvents(name: …
89 ios  arrays  swift  nsarray 

12
ストーリーボードでインターフェースを設定したSwiftのUIViewControllerのカスタム初期化
UIViewControllerのサブクラスのカスタムinitの記述に問題があります。基本的に、プロパティを直接設定するのではなく、viewControllerのinitメソッドを介して依存関係を渡したいです。 viewControllerB.property = value そこで、viewControllerのカスタムinitを作成し、スーパー指定のinitを呼び出しました。 init(meme: Meme?) { self.meme = meme super.init(nibName: nil, bundle: nil) } ビューコントローラーインターフェイスはストーリーボードにあります。カスタムクラスのインターフェイスもビューコントローラーにしました。また、このメソッド内で何もしていない場合でも、Swiftはこのinitメソッドを呼び出す必要があります。そうでなければ、コンパイラは文句を言うでしょう... required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) } 問題は、カスタムinitを呼び出そうとするとMyViewController(meme: meme)、viewControllerのプロパティがまったく初期化されないことです... 私はデバッグしようとしていましたが、viewControllerでinit(coder aDecoder: NSCoder)最初に呼び出され、次にカスタムinitが後で呼び出されました。ただし、これら2つのinitメソッドは異なるselfメモリアドレスを返します。 私は自分のViewControllerのためのinitで何かを間違っを疑っていて、それが常に返されますselfとinit?(coder aDecoder: NSCoder)、何の実装を持ちません、。 viewControllerのカスタムinitを正しく作成する方法を知っている人はいますか?注:私のviewControllerのインターフェースはストーリーボードで設定されています これが私のviewControllerコードです: class MemeDetailVC : UIViewController { var meme : Meme! @IBOutlet weak var editedImage: UIImageView! // …

5
SwiftのC ++クラスとの対話
私はC ++で書かれたクラスの重要なライブラリを持っています。私はそれらをSwiftコードとして書き直すのではなく、Swift内のある種のブリッジを介してそれらを利用しようとしています。主な動機は、C ++コードが複数のプラットフォームで使用されるコアライブラリを表すことです。事実上、私はSwiftベースのUIを作成して、コア機能がOSXで機能できるようにしています。 「SwiftからC ++関数を呼び出すにはどうすればよいですか」という質問が他にもあります。これは私の質問ではありません。C ++関数にブリッジするには、以下が正常に機能します。 「C」を介してブリッジヘッダーを定義します #ifndef ImageReader_hpp #define ImageReader_hpp #ifdef __cplusplus extern "C" { #endif const char *hexdump(char *filename); const char *imageType(char *filename); #ifdef __cplusplus } #endif #endif /* ImageReader_hpp */ Swiftコードで関数を直接呼び出すことができるようになりました let type = String.fromCString(imageType(filename)) let dump = String.fromCString(hexdump(filename)) 私の質問はより具体的です。Swift内からC ++クラスをインスタンス化して操作するにはどうすればよいですか?これについては何も公開されていないようです。
89 c++  swift 

21
ユーザーがSwiftで画像を選択できるようにするにはどうすればよいですか?
私はSwiftで最初のiOSアプリケーション(iPhoneのみ)を書いています。メインアプリケーションビューでは、ユーザーがフォトギャラリーから画像を選択できるようにする必要があります。 ViewController.swiftの次のサンプルコードを見つけました: class ViewController: UIImagePickerController, UINavigationControllerDelegate, UIImagePickerControllerDelegate { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!) { var …

8
View ControllerとSwiftの他のオブジェクトの間でどのようにデータを共有しますか?
Swiftアプリに複数のView Controllerがあり、それらの間でデータを受け渡しできるようにしたいとします。ビューコントローラースタックで数レベル下にいる場合、別のビューコントローラーにデータを渡すにはどうすればよいですか?またはタブバービューコントローラーのタブ間? (注意:この質問は「リンガー」です。)非常に多くの質問が寄せられるので、このテーマに関するチュートリアルを書くことにしました。以下の私の答えを参照してください。
88 ios  swift 

7
Swift初期化子がスーパークラスのコンビニエンス初期化子を呼び出せないのはなぜですか?
次の2つのクラスを考えます。 class A { var x: Int init(x: Int) { self.x = x } convenience init() { self.init(x: 0) } } class B: A { init() { super.init() // Error: Must call a designated initializer of the superclass 'A' } } これが許可されない理由がわかりません。最終的には、各クラスの指定イニシャライザは、なぜ私は自分自身を繰り返す必要がない、彼らが必要とする任意の値で呼び出されたBS」initのデフォルト値を指定することでx利便とき、再びinitではAうまくやるだろうか?

7
Swiftの不変/可変コレクション
Swift言語での可変/不変オブジェクト(配列、辞書、セット、データ)の作成を理解するために、AppleのSwiftプログラミングガイドを参照していました。しかし、Swiftで不変のコレクションを作成する方法を理解できませんでした。 Objective-Cで次のSwiftに相当するものを見たいです 不変の配列 NSArray *imArray = [[NSArray alloc]initWithObjects:@"First",@"Second",@"Third",nil]; 可変配列 NSMutableArray *mArray = [[NSMutableArray alloc]initWithObjects:@"First",@"Second",@"Third",nil]; [mArray addObject:@"Fourth"]; 不変の辞書 NSDictionary *imDictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@"Value1", @"Key1", @"Value2", @"Key2", nil]; 可変辞書 NSMutableDictionary *mDictionary = [[NSMutableDictionary alloc]initWithObjectsAndKeys:@"Value1", @"Key1", @"Value2", @"Key2", nil]; [mDictionary setObject:@"Value3" forKey:@"Key3"];

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