Swift part13

1デフォルトの名無しさん (ワッチョイ 0f2d-WqpA)
垢版 |
2021/04/12(月) 16:04:28.17ID:UoC5n/T70

Swiftについて語りましょう

※前スレ
https://mevius.5ch.net/test/read.cgi/tech/1540818496/

スレ立て時は1行目に「!extend::vvvvv」
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2021/04/12(月) 16:06:59.23ID:UoC5n/T70
!extendを初めて使ったがこれで有効になってるのか?
2021/04/12(月) 22:22:02.79ID:UKQVuTyP0
1乙
2021/04/14(水) 20:56:32.07ID:NT2YeJTU0
xcodeのviewcontrollerswiftの行番号横に出てくる青い線ってなんか支障ある?
そのままでもいい?
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では止まらなくなったで
2021/04/15(木) 06:31:06.36ID:51qF/QZH0
邪魔だし消そうと思ったけど、今のバージョンだと消し方よく分からんな
https://teratail.com/questions/154127
2021/04/15(木) 09:19:03.81ID:mXFDlpUu0
>>7
ああこれのこと言ってんのか
数字上の矢印のことかと思ったわ
2021/04/15(木) 18:44:06.06ID:ZdlMN/dRM
>>8
それは消せた
どなたか消し方ご教示願います…
2021/04/16(金) 08:34:30.34ID:2WM9IZ5w0
>>4
保存かコミット(プッシュ?)したら消えるんじゃない?
問題が有るから青くなってるんじゃなくて、変更した箇所が青くなってるから便利だと思うけどな
11デフォルトの名無しさん (ワッチョイ 6be9-cp4x)
垢版 |
2021/05/14(金) 08:31:13.57ID:Crdh4yJI0
Swift開発においては、UIKitとSwiftUIを知らないといけないとか、敷居が高くなってきたなぁ
12デフォルトの名無しさん (ワッチョイ 6be9-cp4x)
垢版 |
2021/05/14(金) 09:12:56.59ID:Crdh4yJI0
勉強がてらに無料ライセンスで自分向けアプリを作ってるのですが、すぐに「もう利用できません」と出てきます
有料ライセンスにすれば、恒久的に利用できるでしょうか?
ライセンス規約には色々書いてありますが「ずっと使えます」という言及が見当たらずどうしたもんかと
2021/05/14(金) 09:24:31.46ID:WB/gV9Wu0
>>11
今から新規で始めるのは不可能レベルだよな
学習コストが高すぎる
UIKitにいたってはどの日本語ソースも古すぎて使い物にならないし
14デフォルトの名無しさん (ワッチョイ 6be9-cp4x)
垢版 |
2021/05/17(月) 10:25:36.01ID:zD/aLPFV0
>今から新規で始めるのは不可能レベルだよな
下手すりゃ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()←
}

矢印の部分で型決定の情報がないってエラーメッセージでるんだが原因わかる?
2021/06/03(木) 22:48:03.46ID:V7bhAYBC0
コード古すぎだろ
2021/06/03(木) 22:58:06.31ID:rCRECRUU0
コードの修正とストア申請まで代行してくれる業者教えて
2021/06/04(金) 11:52:41.92ID:U0h/RJ5l0
もはや受託開発会社探しだな
23デフォルトの名無しさん (ワッチョイ 4dbd-F7mE)
垢版 |
2021/06/04(金) 20:45:19.35ID:P37d5u/90
>>19
tableViewってどこで宣言してんの?
2021/06/05(土) 00:08:29.69ID:yy2ZUubO0
うーん、スキルがある人を募集しようとしたら、1日いくらくらいかかるのかな??
2021/06/05(土) 00:28:57.67ID:f5S9H8yw0
8万円
2021/06/08(火) 15:14:29.75ID:MCIJcY/10
それは原価ベースの値段だな
2021/06/08(火) 16:44:25.90ID:MquOfZeDM
パーソル税も入ってないな
2021/06/08(火) 16:52:11.57ID:SIkqpe8x0
やっとasync/awaitかよ
他の言語から何周遅れだ
2021/06/08(火) 21:06:50.56ID:zJ9nrfP2a
MS起源の構文を入れるのに反対する勢力がApple社内にいたんでしょ
2021/06/13(日) 06:48:17.60ID:2BcHX0XT0
async awaitについて教えて下さい。
DispatchQueueでのsequencial queueと比較して理解しようとしています。
async付きで値を返すClosureブロック自体は、呼び出しスレッドとは別スレッドで動く。Closureの終了後に、awaitしているスレッド側で値を受け取る、という理解で合っていますでしょうか。

この場合、Closureを動かすスレッド自体がawaitなり処理中な場合、デッドロックになるのでしょうか。
2021/06/13(日) 12:15:26.34ID:kMWVg3vn0
>>30
let foo = await fn_async()

fn_asyncは呼び出し側と同じスレッドで実行されて
fn_asyncの中のawaitが来たらsuspendされてスレッドを明け渡す

resumeされた後は呼び出し側と同じスレッドで実行されるかもしれないし
違うスレッドで実行されるかもしれない
2021/06/13(日) 15:25:28.18ID:2BcHX0XT0
ありがとうございます。
c#5.0側の資料なども読んでみました。なんかNSRunLoopでの非同期処理に近い様な。
awaitが登場するまでは同期実行し、そこからスレッドプールへ投げるという事ですかね。
もう少し読み込んでみます。
2021/06/13(日) 16:32:11.81ID:kMWVg3vn0
これ見るといいと思う

Swift concurrency: Behind the scenes
https://developer.apple.com/videos/play/wwdc2021/10254/
2021/06/14(月) 11:17:37.18ID:dKj7zboM0
ボタン押したらバックグラウンドでインカメラを作動して動画が保存される機能付けたいけど難しい?
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とあるのに何故でしょう?
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
39デフォルトの名無しさん (ワッチョイ 4f35-1a2e)
垢版 |
2021/06/28(月) 12:02:29.91ID:eks/qTPV0
>>38
Default implementationの件はSequenceのmakeIterator()の事です。
2021/06/28(月) 12:30:24.04ID:/8Q9yNC80
>>37
コメントアウトしてもOKなのは推論が効くから

SequenceのElementは↓なのでエラーメッセージにあるようにInt?じゃなくIntにする
associatedtype Element where Self.Element == Self.Iterator.Element
41デフォルトの名無しさん (ワッチョイ 4f35-1a2e)
垢版 |
2021/06/28(月) 12:52:19.56ID:eks/qTPV0
>>40
Great Thanks.

typealias Element = Int
とするとCompile errorが消えました。
また、この文が無くても良いのは型推論なのですね。
42デフォルトの名無しさん (ワッチョイ 4f35-1a2e)
垢版 |
2021/06/29(火) 07:37:54.03ID:2raiHHQH0
>>37
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
}
44デフォルトの名無しさん (ワッチョイ 4f35-1a2e)
垢版 |
2021/06/29(火) 07:50:38.38ID:2raiHHQH0
>>43
Doubler == Doubler.Iterator
という意味なら、変なんですが!
45デフォルトの名無しさん (ワッチョイ 4f35-1a2e)
垢版 |
2021/06/29(火) 08:11:12.07ID:2raiHHQH0
>>43
この部分は実装では無く、別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)
})
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
 
レスを投稿する