WWDC2014で発表されたAppleの新言語Swiftについて語りましょう
関連スレ
プログラミング言語Swift Part4
http://potato.2ch.net/test/read.cgi/mac/1484763495/
[SDK]iPhoneアプリ開発初心者質問箱48[touch][iPad]
http://potato.2ch.net/test/read.cgi/mac/1484217623/
Xcode part14
http://potato.2ch.net/test/read.cgi/mac/1476190499/
Swiftアンチスレ part1
http://echo.2ch.net/test/read.cgi/tech/1458491343/
前スレ
Swift part9
http://echo.2ch.net/test/read.cgi/tech/1476758084/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
Swift part10 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 3b3c-eq+O)
2017/02/20(月) 10:00:13.40ID:ChbPWtRt02デフォルトの名無しさん (ワッチョイ 7ba1-vagz)
2017/02/20(月) 11:06:31.94ID:Gb72M66o0 < `∀´>ニダー
3デフォルトの名無しさん (ワッチョイ bbbd-ea4t)
2017/02/20(月) 13:14:50.34ID:mI2RJMjC0 さて、また荒らしと文字列の扱いについて談笑しようじゃないか
4デフォルトの名無しさん (スプッッ Sd7f-PET2)
2017/02/20(月) 13:18:27.57ID:ij1Njg09d 極上の言語のスレはここかな?
5デフォルトの名無しさん (ワッチョイ 8bc9-ykbm)
2017/02/20(月) 16:05:25.21ID:IDSTiL890 WebAPIを叩く最小限のコードを書いています。
Terminal.Appで実行したところ、動くには動くのですが、最後のsleep文をコメントアウトすると、結果が表示されません。
sleep文はダサいので、うまい具合にbackgroundで実行中のThreadを待ち合わせる方法は無いでしょうか?なお、Swift3.0.2です。
import Foundation
var dic: Any = ["": ""]
func printJSON(_ data: Data) {
do {
let json = try JSONSerialization.jsonObject(with: data, options: .allowFragments)
dic = json
print(json)
} catch {
print("parse error!")
}
}
let url = URL(string: "http://date.jsontest.com/")!
let task = URLSession.shared.dataTask(with: url) { data, response, error in
if let jsonData = data {
printJSON(jsonData)
DispatchQueue.main.async(execute: { print("dic = ¥(dic)") })
//mainスレッドを捕まえて実行
}
}
task.resume()
print("OK")
sleep(1) // 1秒待つ
Terminal.Appで実行したところ、動くには動くのですが、最後のsleep文をコメントアウトすると、結果が表示されません。
sleep文はダサいので、うまい具合にbackgroundで実行中のThreadを待ち合わせる方法は無いでしょうか?なお、Swift3.0.2です。
import Foundation
var dic: Any = ["": ""]
func printJSON(_ data: Data) {
do {
let json = try JSONSerialization.jsonObject(with: data, options: .allowFragments)
dic = json
print(json)
} catch {
print("parse error!")
}
}
let url = URL(string: "http://date.jsontest.com/")!
let task = URLSession.shared.dataTask(with: url) { data, response, error in
if let jsonData = data {
printJSON(jsonData)
DispatchQueue.main.async(execute: { print("dic = ¥(dic)") })
//mainスレッドを捕まえて実行
}
}
task.resume()
print("OK")
sleep(1) // 1秒待つ
6デフォルトの名無しさん (ワッチョイ 5f3c-Scgb)
2017/02/20(月) 17:57:22.66ID:E/pOlJmJ0 Dispatch Group使ってwaitするか
DispatchWorkItem使ってwaitするか
かな
DispatchWorkItem使ってwaitするか
かな
7デフォルトの名無しさん (ワッチョイ bbbd-ea4t)
2017/02/20(月) 18:12:47.50ID:mI2RJMjC0 NSConditionでの実装例
ttp://swift.sandbox.bluemix.net/#/repl/58aab29626c3ba5cbe1d44ee
文字列でなんやかんや話してたエロい人たちがより良い例を出してくれると信じてる
ttp://swift.sandbox.bluemix.net/#/repl/58aab29626c3ba5cbe1d44ee
文字列でなんやかんや話してたエロい人たちがより良い例を出してくれると信じてる
8デフォルトの名無しさん (スッップ Sd7f-yXFx)
2017/02/20(月) 20:20:31.52ID:jVgNOv8dd >>5
Sleep()がカッコ悪いのでsyncで呼ぶ
Sleep()がカッコ悪いのでsyncで呼ぶ
9デフォルトの名無しさん (ワッチョイ 5f3c-Scgb)
2017/02/20(月) 21:23:20.98ID:E/pOlJmJ0 let task = URLSession.shared.dataTask(with: url) { data, response, error in
動きがなんかおかしいと思ったら
これcompletionHandler設定できてないような
動きがなんかおかしいと思ったら
これcompletionHandler設定できてないような
10デフォルトの名無しさん (ワッチョイ 5f3c-Scgb)
2017/02/20(月) 21:45:53.42ID:E/pOlJmJ0 最後にdispatchMain()を追加して明示的にexit()すればいいみたい
http://stackoverflow.com/questions/31944011/how-to-prevent-a-command-line-tool-from-exiting-before-asynchronous-operation-co
#! /usr/bin/env swift
import Foundation
var dic: Any = ["": ""]
func printJSON(_ data: Data) {
do {
let json = try JSONSerialization.jsonObject(with: data, options: .allowFragments)
dic = json
print(json)
} catch {
print("parse error!")
}
}
let url = URL(string: "http://date.jsontest.com/")!
let task = URLSession.shared.dataTask(with: url, completionHandler: { data, response, error in
if let jsonData = data {
printJSON(jsonData)
DispatchQueue.main.async(execute: {print("dic = ¥(dic)"); exit(EXIT_SUCCESS)})
}
})
task.resume()
print("OK")
dispatchMain()
http://stackoverflow.com/questions/31944011/how-to-prevent-a-command-line-tool-from-exiting-before-asynchronous-operation-co
#! /usr/bin/env swift
import Foundation
var dic: Any = ["": ""]
func printJSON(_ data: Data) {
do {
let json = try JSONSerialization.jsonObject(with: data, options: .allowFragments)
dic = json
print(json)
} catch {
print("parse error!")
}
}
let url = URL(string: "http://date.jsontest.com/")!
let task = URLSession.shared.dataTask(with: url, completionHandler: { data, response, error in
if let jsonData = data {
printJSON(jsonData)
DispatchQueue.main.async(execute: {print("dic = ¥(dic)"); exit(EXIT_SUCCESS)})
}
})
task.resume()
print("OK")
dispatchMain()
11デフォルトの名無しさん (ワッチョイ 5f3c-Scgb)
2017/02/20(月) 21:51:31.66ID:E/pOlJmJ0 関係ないけどこの外部ステートへの依存の仕方はちょっと気持ち悪く感じる
var dic: Any = ["": ""]
var dic: Any = ["": ""]
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「中国人の訪日熱は冷めた」 人気旅行先から日本外れる 14日で自粛呼びかけ1カ月 ★2 [蚤の市★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★7 [蚤の市★]
- 最新版Z級クソ映画ランキングが決定! [牛丼★]
- 【STARTO ENTERTAINMENT】SUPER EIGHTの横山裕、フジ『ドッキリGP』ロケで全治2ヶ月の重傷 [Ailuropoda melanoleuca★]
- 「1800万円の売り上げゼロに…」中国インバウンドに特化の宿の今 ★2 [蚤の市★]
- 公用車カーナビのNHK受信料「全額免除を」 千葉市議会、国に制度創設求める意見書可決 [少考さん★]
- 日銀が利上げしたら、国債金利も上がって日本が詰むという事実 [805596214]
- ちんちんぼっきする人が羨ましい
- 麻婆豆腐食べてる
- 【朗報】南鳥島のレアアース、中国産の「20倍の純度」青山繁晴氏「日本は資源大国」日本復活のファンファーレが鳴り響く! [673057929]
- 愛国者「釘を使わない日本独自の伝統工法スゴイ!」X民「それ中国起源ですよ」→批判殺到 [834922174]
- 福島瑞穂、議員定数減を批判「一生麻婆と八宝菜と青椒肉絲しか食べられなかったら悲惨!!
