Swift part13
1デフォルトの名無しさん (ワッチョイ 0f2d-WqpA)
2021/04/12(月) 16:04:28.17ID:UoC5n/T70Swiftについて語りましょう
※前スレ
https://mevius.5ch.net/test/read.cgi/tech/1540818496/
スレ立て時は1行目に「!extend::vvvvv」
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2デフォルトの名無しさん (ワッチョイ f72d-WqpA)
2021/04/12(月) 16:06:59.23ID:UoC5n/T70 !extendを初めて使ったがこれで有効になってるのか?
3デフォルトの名無しさん (ワッチョイ 2310-8YTl)
2021/04/12(月) 22:22:02.79ID:UKQVuTyP0 1乙
4デフォルトの名無しさん (ワッチョイ d701-H6g2)
2021/04/14(水) 20:56:32.07ID:NT2YeJTU0 xcodeのviewcontrollerswiftの行番号横に出てくる青い線ってなんか支障ある?
そのままでもいい?
そのままでもいい?
5デフォルトの名無しさん (ワッチョイ 2310-8YTl)
2021/04/14(水) 23:43:33.08ID:ghw/se4N0 青くしてるとそこで止まるで
6デフォルトの名無しさん (ワッチョイ f72d-mU/W)
2021/04/14(水) 23:49:10.52ID:yHDG+5KY0 Xcode12からはdebug previewでは止まらなくなったで
7デフォルトの名無しさん (ワッチョイ d701-H6g2)
2021/04/15(木) 06:31:06.36ID:51qF/QZH0 邪魔だし消そうと思ったけど、今のバージョンだと消し方よく分からんな
https://teratail.com/questions/154127
https://teratail.com/questions/154127
8デフォルトの名無しさん (ワッチョイ 2310-8YTl)
2021/04/15(木) 09:19:03.81ID:mXFDlpUu09デフォルトの名無しさん (アウアウクー MM9f-H6g2)
2021/04/15(木) 18:44:06.06ID:ZdlMN/dRM10デフォルトの名無しさん (ワッチョイ ffbb-Htjb)
2021/04/16(金) 08:34:30.34ID:2WM9IZ5w011デフォルトの名無しさん (ワッチョイ 6be9-cp4x)
2021/05/14(金) 08:31:13.57ID:Crdh4yJI0 Swift開発においては、UIKitとSwiftUIを知らないといけないとか、敷居が高くなってきたなぁ
12デフォルトの名無しさん (ワッチョイ 6be9-cp4x)
2021/05/14(金) 09:12:56.59ID:Crdh4yJI0 勉強がてらに無料ライセンスで自分向けアプリを作ってるのですが、すぐに「もう利用できません」と出てきます
有料ライセンスにすれば、恒久的に利用できるでしょうか?
ライセンス規約には色々書いてありますが「ずっと使えます」という言及が見当たらずどうしたもんかと
有料ライセンスにすれば、恒久的に利用できるでしょうか?
ライセンス規約には色々書いてありますが「ずっと使えます」という言及が見当たらずどうしたもんかと
13デフォルトの名無しさん (ワッチョイ 2910-dF1z)
2021/05/14(金) 09:24:31.46ID:WB/gV9Wu014デフォルトの名無しさん (ワッチョイ 6be9-cp4x)
2021/05/17(月) 10:25:36.01ID:zD/aLPFV0 >今から新規で始めるのは不可能レベルだよな
下手すりゃObjectCまで知ってないといけないから実務でやるの怖い
下手すりゃObjectCまで知ってないといけないから実務でやるの怖い
15デフォルトの名無しさん (ワッチョイ 6be9-Bqla)
2021/05/17(月) 14:50:59.35ID:zD/aLPFV0 Javaやphpに比べるとプレイヤーが圧倒的に少ないなswift
16デフォルトの名無しさん (ワッチョイ 6d2d-pswo)
2021/05/17(月) 15:49:21.45ID:v1HmDqI00 過当競争に飛び込んでいく勇気ないわ
17デフォルトの名無しさん (スップ Sddb-Hf/L)
2021/05/19(水) 01:11:15.03ID:nXtdymM/d かと言って、ドロイド開発しても売れねーしなwww
18デフォルトの名無しさん (ワッチョイ 2bbb-C4va)
2021/05/29(土) 09:25:17.82ID:W6PXZQdJ0 ここで質問する内容かわからないけど、realms やfirebaseみたいにpostgresqlのデータをリアルタイムで同期してくれるツール見たいのないかね。
見つかってももう更新してなかったりで。
見つかってももう更新してなかったりで。
19デフォルトの名無しさん (アウアウクー MM0d-vWf6)
2021/06/03(木) 13:56:46.59ID:LDTrzaXbM @objc func headertapped(sender: UITapGestureRecognizer) {
guard let section = sender.view?.tag else {
return
}
courseArray[section].isShown.toggle()
tableView.beginUpdates()←
tableView.reloadSections([section], with: .automatic)←
tableView.endUpdates()←
}
矢印の部分で型決定の情報がないってエラーメッセージでるんだが原因わかる?
guard let section = sender.view?.tag else {
return
}
courseArray[section].isShown.toggle()
tableView.beginUpdates()←
tableView.reloadSections([section], with: .automatic)←
tableView.endUpdates()←
}
矢印の部分で型決定の情報がないってエラーメッセージでるんだが原因わかる?
20デフォルトの名無しさん (ワッチョイ 4910-+Bic)
2021/06/03(木) 22:48:03.46ID:V7bhAYBC0 コード古すぎだろ
21デフォルトの名無しさん (ワッチョイ 01da-w12y)
2021/06/03(木) 22:58:06.31ID:rCRECRUU0 コードの修正とストア申請まで代行してくれる業者教えて
22デフォルトの名無しさん (ワッチョイ d9a7-9V+W)
2021/06/04(金) 11:52:41.92ID:U0h/RJ5l0 もはや受託開発会社探しだな
23デフォルトの名無しさん (ワッチョイ 4dbd-F7mE)
2021/06/04(金) 20:45:19.35ID:P37d5u/90 >>19
tableViewってどこで宣言してんの?
tableViewってどこで宣言してんの?
24デフォルトの名無しさん (ワッチョイ caec-CsQ+)
2021/06/05(土) 00:08:29.69ID:yy2ZUubO0 うーん、スキルがある人を募集しようとしたら、1日いくらくらいかかるのかな??
25デフォルトの名無しさん (ワッチョイ 0a01-UPQK)
2021/06/05(土) 00:28:57.67ID:f5S9H8yw0 8万円
26デフォルトの名無しさん (ワッチョイ d9a7-9V+W)
2021/06/08(火) 15:14:29.75ID:MCIJcY/10 それは原価ベースの値段だな
27デフォルトの名無しさん (ブーイモ MM2e-pa8K)
2021/06/08(火) 16:44:25.90ID:MquOfZeDM パーソル税も入ってないな
28デフォルトの名無しさん (ワッチョイ 0a7c-Qqtb)
2021/06/08(火) 16:52:11.57ID:SIkqpe8x0 やっとasync/awaitかよ
他の言語から何周遅れだ
他の言語から何周遅れだ
29デフォルトの名無しさん (アウアウウー Sa11-3tT5)
2021/06/08(火) 21:06:50.56ID:zJ9nrfP2a MS起源の構文を入れるのに反対する勢力がApple社内にいたんでしょ
30デフォルトの名無しさん (ワッチョイ 335f-gyPn)
2021/06/13(日) 06:48:17.60ID:2BcHX0XT0 async awaitについて教えて下さい。
DispatchQueueでのsequencial queueと比較して理解しようとしています。
async付きで値を返すClosureブロック自体は、呼び出しスレッドとは別スレッドで動く。Closureの終了後に、awaitしているスレッド側で値を受け取る、という理解で合っていますでしょうか。
この場合、Closureを動かすスレッド自体がawaitなり処理中な場合、デッドロックになるのでしょうか。
DispatchQueueでのsequencial queueと比較して理解しようとしています。
async付きで値を返すClosureブロック自体は、呼び出しスレッドとは別スレッドで動く。Closureの終了後に、awaitしているスレッド側で値を受け取る、という理解で合っていますでしょうか。
この場合、Closureを動かすスレッド自体がawaitなり処理中な場合、デッドロックになるのでしょうか。
31デフォルトの名無しさん (ワッチョイ ff01-NdOG)
2021/06/13(日) 12:15:26.34ID:kMWVg3vn0 >>30
let foo = await fn_async()
fn_asyncは呼び出し側と同じスレッドで実行されて
fn_asyncの中のawaitが来たらsuspendされてスレッドを明け渡す
resumeされた後は呼び出し側と同じスレッドで実行されるかもしれないし
違うスレッドで実行されるかもしれない
let foo = await fn_async()
fn_asyncは呼び出し側と同じスレッドで実行されて
fn_asyncの中のawaitが来たらsuspendされてスレッドを明け渡す
resumeされた後は呼び出し側と同じスレッドで実行されるかもしれないし
違うスレッドで実行されるかもしれない
32デフォルトの名無しさん (ワッチョイ 335f-gyPn)
2021/06/13(日) 15:25:28.18ID:2BcHX0XT0 ありがとうございます。
c#5.0側の資料なども読んでみました。なんかNSRunLoopでの非同期処理に近い様な。
awaitが登場するまでは同期実行し、そこからスレッドプールへ投げるという事ですかね。
もう少し読み込んでみます。
c#5.0側の資料なども読んでみました。なんかNSRunLoopでの非同期処理に近い様な。
awaitが登場するまでは同期実行し、そこからスレッドプールへ投げるという事ですかね。
もう少し読み込んでみます。
33デフォルトの名無しさん (ワッチョイ ff01-NdOG)
2021/06/13(日) 16:32:11.81ID:kMWVg3vn0 これ見るといいと思う
Swift concurrency: Behind the scenes
https://developer.apple.com/videos/play/wwdc2021/10254/
Swift concurrency: Behind the scenes
https://developer.apple.com/videos/play/wwdc2021/10254/
34デフォルトの名無しさん (ワッチョイ 2301-plNJ)
2021/06/14(月) 11:17:37.18ID:dKj7zboM0 ボタン押したらバックグラウンドでインカメラを作動して動画が保存される機能付けたいけど難しい?
35デフォルトの名無しさん (ワッチョイ 2301-YknO)
2021/06/16(水) 21:34:11.02ID:NAAsM4eN0 swift ui以前に、swiftそのものを使ってる人が居ない
36デフォルトの名無しさん (ワッチョイ a32d-Cdqd)
2021/06/17(木) 05:45:32.93ID:rV77MlmA0 SwiftUIな
スペースはいらない
スペースはいらない
37デフォルトの名無しさん (ワッチョイ 4f35-1a2e)
2021/06/28(月) 11:33:00.10ID:eks/qTPV0 struct DoubleGenerator: IteratorProtocol {
var cnt = 1
typealias Element = Int
mutating func next() -> Element? {
defer { cnt *= 2 }
return cnt <= 10 ? cnt : nil
}
}
struct Doubler: Sequence {
// typealias Element = Int?
typealias Iterator = DoubleGenerator
func makeIterator() -> Iterator {
return Iterator()
}
}
上記のコードはコンパイル出来るのですが、コメントを外すとダメです。
SequenceのAPI DocumentにはElement, Iterator requiredとあるのに何故でしょう?
var cnt = 1
typealias Element = Int
mutating func next() -> Element? {
defer { cnt *= 2 }
return cnt <= 10 ? cnt : nil
}
}
struct Doubler: Sequence {
// typealias Element = Int?
typealias Iterator = DoubleGenerator
func makeIterator() -> Iterator {
return Iterator()
}
}
上記のコードはコンパイル出来るのですが、コメントを外すとダメです。
SequenceのAPI DocumentにはElement, Iterator requiredとあるのに何故でしょう?
38デフォルトの名無しさん (ワッチョイ 4f35-1a2e)
2021/06/28(月) 11:39:10.32ID:eks/qTPV0 >>37
API Referenceには
Default implementations provided.
とあるのでconflictするのかな?
ちな、compile errorは、
error: 'Sequence' requires the types ‘Doubler.Element' (aka 'Optional<Int>')
and 'DoubleGenerator.Element' (aka 'Int') be equivalent
API Referenceには
Default implementations provided.
とあるのでconflictするのかな?
ちな、compile errorは、
error: 'Sequence' requires the types ‘Doubler.Element' (aka 'Optional<Int>')
and 'DoubleGenerator.Element' (aka 'Int') be equivalent
39デフォルトの名無しさん (ワッチョイ 4f35-1a2e)
2021/06/28(月) 12:02:29.91ID:eks/qTPV0 >>38
Default implementationの件はSequenceのmakeIterator()の事です。
Default implementationの件はSequenceのmakeIterator()の事です。
40デフォルトの名無しさん (ワッチョイ 3f01-0Hhk)
2021/06/28(月) 12:30:24.04ID:/8Q9yNC80 >>37
コメントアウトしてもOKなのは推論が効くから
SequenceのElementは↓なのでエラーメッセージにあるようにInt?じゃなくIntにする
associatedtype Element where Self.Element == Self.Iterator.Element
コメントアウトしてもOKなのは推論が効くから
SequenceのElementは↓なのでエラーメッセージにあるようにInt?じゃなくIntにする
associatedtype Element where Self.Element == Self.Iterator.Element
41デフォルトの名無しさん (ワッチョイ 4f35-1a2e)
2021/06/28(月) 12:52:19.56ID:eks/qTPV042デフォルトの名無しさん (ワッチョイ 4f35-1a2e)
2021/06/29(火) 07:37:54.03ID:2raiHHQH0 >>37
func makeIterator() -> Iterator {
return Iterator()
この部分はdefault implementationがあるとAPI referenceにある。
Jump to Definitionでソースを見てみる!
func makeIterator() -> Iterator {
return Iterator()
この部分はdefault implementationがあるとAPI referenceにある。
Jump to Definitionでソースを見てみる!
43デフォルトの名無しさん (ワッチョイ 4f35-1a2e)
2021/06/29(火) 07:45:51.58ID:2raiHHQH0 >>42
これか!
where Self == Self.Iterator
これはどう言う事でしょうか?
/// A default makeIterator() function for `IteratorProtocol` instances that
/// are declared to conform to `Sequence`
extension Sequence where Self == Self.Iterator {
/// Returns an iterator over the elements of this sequence.
@inlinable public func makeIterator() -> Self
}
これか!
where Self == Self.Iterator
これはどう言う事でしょうか?
/// A default makeIterator() function for `IteratorProtocol` instances that
/// are declared to conform to `Sequence`
extension Sequence where Self == Self.Iterator {
/// Returns an iterator over the elements of this sequence.
@inlinable public func makeIterator() -> Self
}
44デフォルトの名無しさん (ワッチョイ 4f35-1a2e)
2021/06/29(火) 07:50:38.38ID:2raiHHQH045デフォルトの名無しさん (ワッチョイ 4f35-1a2e)
2021/06/29(火) 08:11:12.07ID:2raiHHQH0 >>43
この部分は実装では無く、別Sequenceの別シグネチャによる定義なのかな?
XcodeのJump to Definition機能ではdefault implementationを発見することは出来なかった。
この部分は実装では無く、別Sequenceの別シグネチャによる定義なのかな?
XcodeのJump to Definition機能ではdefault implementationを発見することは出来なかった。
46デフォルトの名無しさん (ワッチョイ 8f8c-eHmd)
2021/06/30(水) 09:59:39.81ID:xkSteTRI0 非同期処理でTwitterAPI通信を行なって(Twitterライブラリ Swifter使用)、あるユーザーの最新ツイート一件を(30秒くらいの間)取得し続け、そのユーザーがツイートを行いツイートが更新された瞬間 そのツイートを表示するという仕組みを作りたいのですが、
( 早い者勝ちシステムに勝つため)
ループ部分の良い案が思いつきません、アドバイスいただけませんでしょうか
以下がSwifterライブラリで用意されたのユーザーの最新ツイート一件を取得する関数です、ツイートの取得に成功するとsuccess 、APIエラー等で取得できない場合はfailureが帰ります
ループを行いsuccess時に取得したツイートが前回 取得時のテキストと異なっていたら そのテキストを返すという関数を作りたいので、もし可能でしたらアドバイスやコードをお願いしたいです。長々と申し訳ありません
swifter.getTimeline(for: .screenName("ターゲットのID"),count:1 , success: { json in
// 成功時の処理
print(json[0]["text"])
}, failure: { error in
// 失敗時の処理
print(error)
})
( 早い者勝ちシステムに勝つため)
ループ部分の良い案が思いつきません、アドバイスいただけませんでしょうか
以下がSwifterライブラリで用意されたのユーザーの最新ツイート一件を取得する関数です、ツイートの取得に成功するとsuccess 、APIエラー等で取得できない場合はfailureが帰ります
ループを行いsuccess時に取得したツイートが前回 取得時のテキストと異なっていたら そのテキストを返すという関数を作りたいので、もし可能でしたらアドバイスやコードをお願いしたいです。長々と申し訳ありません
swifter.getTimeline(for: .screenName("ターゲットのID"),count:1 , success: { json in
// 成功時の処理
print(json[0]["text"])
}, failure: { error in
// 失敗時の処理
print(error)
})
47デフォルトの名無しさん (ワッチョイ 7f35-k50j)
2021/07/04(日) 15:02:10.40ID:PTgpkIAJ0 Combineフレームワークを弄ってる。
自前のSubscriber, 例えばWeatherInfoを受け取るWeatherSubscriberクラスを実装しようとすると、大変なのだと気がついた。
UITableViewDelegateがtableViewメソッドの実装をたくさん求めるのと同様に、Subscriberはreceiveのシグネチャ違いのメソッドを3つも求めて来る。
e.g.
receive:_
receive:subscription
receive:completion
自前のSubscriber, 例えばWeatherInfoを受け取るWeatherSubscriberクラスを実装しようとすると、大変なのだと気がついた。
UITableViewDelegateがtableViewメソッドの実装をたくさん求めるのと同様に、Subscriberはreceiveのシグネチャ違いのメソッドを3つも求めて来る。
e.g.
receive:_
receive:subscription
receive:completion
48デフォルトの名無しさん (ワッチョイ 7f35-k50j)
2021/07/05(月) 07:20:36.29ID:bBZppKt50 MVVMって何だ?
とずっと思ってたがMVCにObserver/Observableなメカニズムを導入したものだと理解した。
SwiftUI使えば必然的にMVVMを採用せざるを得ないという、良記事がここに!
https://tech-blog.rakus.co.jp/entry/20210331/swift
RxSwift付属のPlaygroundを開くとマシンのLoadAverageが飛び上がりXcodeがカクカク動いて閉口していた2017年頃から、気になってたのだ。
とずっと思ってたがMVCにObserver/Observableなメカニズムを導入したものだと理解した。
SwiftUI使えば必然的にMVVMを採用せざるを得ないという、良記事がここに!
https://tech-blog.rakus.co.jp/entry/20210331/swift
RxSwift付属のPlaygroundを開くとマシンのLoadAverageが飛び上がりXcodeがカクカク動いて閉口していた2017年頃から、気になってたのだ。
49デフォルトの名無しさん (アウアウエー Sa82-28NW)
2021/07/05(月) 08:29:19.96ID:CIIXcSIba アーキテクトの話に、あー聞いたことあるってなりたい
50デフォルトの名無しさん (スップ Sd4a-tKHk)
2021/07/06(火) 17:09:41.61ID:aMSJ7UkJd51デフォルトの名無しさん (ワッチョイ 758c-4x/S)
2021/07/09(金) 14:43:33.42ID:Bmeh7adm0 dispatch使って非同期の処理を並列化させて
1番早かった処理が1つ完了したら処理を止めるなんてできる?
1番早かった処理が1つ完了したら処理を止めるなんてできる?
52デフォルトの名無しさん (ワッチョイ 758c-4x/S)
2021/07/09(金) 17:42:02.52ID:Bmeh7adm0 非同期処理1: ----->キャンセル
非同期処理2: ----------->完了★ 一つが終わった時他を止めたい
非同期処理3: -->キャンセル
非同期処理2: ----------->完了★ 一つが終わった時他を止めたい
非同期処理3: -->キャンセル
53デフォルトの名無しさん (ワッチョイ a301-knaX)
2021/07/09(金) 18:03:36.19ID:w0l6CXLG0 3つ全部にキャンセル投げる処理をそれぞれのCompletion Handlerに入れとけば?
最近は変わってるかもだけど昔はキャンセルが必要なやつはDispatchWorkItem使ってた
非同期処理側でキャンセルリクエストされたかどうかをチェックして自分で処理を抜ける必要はある
最近は変わってるかもだけど昔はキャンセルが必要なやつはDispatchWorkItem使ってた
非同期処理側でキャンセルリクエストされたかどうかをチェックして自分で処理を抜ける必要はある
54デフォルトの名無しさん (ワッチョイ 758c-4x/S)
2021/07/09(金) 22:10:32.71ID:Bmeh7adm0 ありがとうございます。 ちょっとやってみます
55デフォルトの名無しさん (ワッチョイ 4bda-jBUj)
2021/07/14(水) 02:46:29.81ID:Z9MQZom50 IAP詳しい人いたら教えて下さい。
1.自動更新のサブスクリプションを購入
2.アプリをアンインストール+再インストール
3.リストア(SKReceiptRefreshRequest)実行
サーバ側でレシート検証を行うと、
「1」で購入した時のレシートに含まれるInApp.TransactionIDが
「3」で更新されたレシートに含まれるInApp.TransactionIDが変わってしまってます。
PurchaseDateとかその他フィールドはすべて同じ。
TransactionIDだけ変わってしまってます(sandbox)。
これは仕様でしょうか?それともApple側の不具合?
1.自動更新のサブスクリプションを購入
2.アプリをアンインストール+再インストール
3.リストア(SKReceiptRefreshRequest)実行
サーバ側でレシート検証を行うと、
「1」で購入した時のレシートに含まれるInApp.TransactionIDが
「3」で更新されたレシートに含まれるInApp.TransactionIDが変わってしまってます。
PurchaseDateとかその他フィールドはすべて同じ。
TransactionIDだけ変わってしまってます(sandbox)。
これは仕様でしょうか?それともApple側の不具合?
56デフォルトの名無しさん (JP 0H43-/6+5)
2021/07/14(水) 07:55:15.35ID:wgyTk/upH57デフォルトの名無しさん (ワッチョイ a301-knaX)
2021/07/14(水) 08:19:51.99ID:idSc395A058デフォルトの名無しさん (ワッチョイ 05da-Y02U)
2021/07/14(水) 08:41:37.27ID:QnWeAExd0 C系を経てswift の勉強を始めたけど
この言語作った人頭おかしい
かなりのひねくれものだと思う
この言語作った人頭おかしい
かなりのひねくれものだと思う
59デフォルトの名無しさん (ワッチョイ ad35-/6+5)
2021/07/14(水) 08:49:24.63ID:7XtdSzBj0 >>58
Is Swift getting too complicated? – Chris Lattner on Swiftly Speaking
この動画によると、言語オタクがContributerに集ってる。
どの点がひねくれてる?
Is Swift getting too complicated? – Chris Lattner on Swiftly Speaking
この動画によると、言語オタクがContributerに集ってる。
どの点がひねくれてる?
レスを投稿する
ニュース
- 【少子化】少子化は女のせい?男のせい?SNSで不毛すぎる議論が勃発…「産ませる発言」vs「淘汰される遺伝子」泥沼バトルへ [ぐれ★]
- 【TV】ファン5万人がガチで投票! プロ野球総選挙、栄えある1位は [牛丼★]
- 【*彡】巨人・坂本勇人 『流れ星に何を願うか』の質問に「結婚相手」と即答、結婚願望告白 女性ファンから歓声と悲鳴 [鉄チーズ烏★]
- 植田日銀総裁 「利上げが遅れれば、米欧のように非常に高いインフレが起きて、日本は大幅な利上げが必要となる」 [お断り★]
- 【速報】政府、与党がNISA未成年解禁を検討 ★2 [蚤の市★]
- 日テレ、国分太一の「答え合わせ」を却下 「答え合わせをするまでもない」「心当たりがあると述べられている」★ 2 [muffin★]
- 【実況】博衣こよりのえちえちSSholoX4周年🛸💜🥀🧪🍃★4
- 【緊急】あと1時間半でブラックフライデーセール終了!マジで買うべきもの教えろ! [794961135]
- 早苗のおまんこパンパンパン🏡
- 現役JKのお茶会スレ( ¨̮ )︎︎𖠚ᐝ175
- イルミ、危険すぎて問題に [399583221]
- 明日から保険証使えなくなるけどどうすんのこれ
