- iOS
- 2017-04-27 - 更新:2018-02-15
クリップボードにテキストをコピーします。
let board = UIPasteboard.general board.setValue("text", forPasteboardType: "public.text")
Xcode: 8.3.2
Swift: 3.1
OS: Sierra 10.12
クリップボードにテキストをコピーします。
let board = UIPasteboard.general board.setValue("text", forPasteboardType: "public.text")
Xcode: 8.3.2
Swift: 3.1
OS: Sierra 10.12
鐘やトライトーン等の効果音を簡単に鳴らすことができます。
import AudioToolbox
let soundIdRing: SystemSoundID = 1000 //鐘 AudioServicesPlaySystemSound(soundIdRing)
ID | |
---|---|
1000 | 鐘 |
1001 | スウォッシュ |
1002 | トライトーン |
1003 | SMSメッセージ受信音 |
1004 | SMSメッセージ送信音 |
1005 | 通知 |
1006 | 充電残量低下音 |
1007 | トライトーン |
1008 | チャイム |
1009 | ガラス |
1010 | ホーン |
その他IDはこちらをご参照ください。
http://iphonedevwiki.net/index.php/AudioServices
Xcode: 8.3.2
Swift: 3.1
OS: Sierra 10.12
剰余(割り算の余り)を求めたいとき、「Mod」か「%」を知っていれば事足りていたのですが、Swift3ではできないケースがありましたので、メモしておきます。
Intでは「%」で大丈夫なようですが、FloatやDoubleの場合はエラーになります。
Doubleの場合(Floatも同様)
let n: Double = 12.0 n.truncatingRemainder(dividingBy: 10.0)
何やらタイトルが長くなってしまいましたが、複合的な内容なのでこうなりました。
今回やりたかったことはタイトルの通りですが、分解すると…
1)WEBからデータをダウンロード
2)バックグラウンドで処理を実行
3)JSONデータを解析
4)解析したデータをRealmに挿入
以上の4つです。
エラーが出なくなるまでかなり苦労したのですが、一番の原因は日本語の扱いに関する部分ですので、
日本語を含まないデータの解析だけならすんなり可能ではないかと思います。
WEBからデータをダウンロードするにはURLSessionを使います。
ダウンロードするURLを指定
let url: String = "http://www.exam.jp/json.php"
セッションを作成します。
let session = URLSession(configuration: URLSessionConfiguration.default)
タスクを登録します。
let task = session.dataTask(with: URLRequest(url: Foundation.URL(string: url)!), completionHandler: { (data, response, error) in if let urlContent = data { // ここに処理を記述 } })
作成したタスクを実行します。
task.resume()
バックグラウンドで処理を実行するには、GCD(Grand Central Dispatch)を使用します。
DispatchQueue.global().async { // バックグラウンドスレッドでの処理を記述 }
asyncだと非同期処理、syncだと同期処理になります。
続きを読む…»
TableViewやCollectionViewを使っているとき、タップしたセルによって遷移するシーンを分岐したい時の方法をご紹介します。
今回はCollectionViewを使っています。
通常、セルからcontrol+ドラッグでセグエを設定するかと思いますが、それだとどちらかのシーンにしかセグエを設定できません。
そのため、View Controllerからセグエを設定します。
ドキュメントアウトラインにてView Controllerを選択し右クリックします。
[Triggered Segues]-[manual]の+をcontrol+ドラッグし遷移したい1つ目のView Controllerでドロップします。
表示方法はShowを選択。
同様に2つ目のView Controllerにも設定します。 続きを読む…»