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
364デフォルトの名無しさん (ワッチョイ 8f7c-Kyt2)
垢版 |
2024/09/30(月) 12:42:12.45ID:hUFXiD1y0
SwiftUIだとレンダータイミングが間引かれてしまったりもあるのかもしれないですね。
UIKitでCADisplayLinkも検証してみてもいいかもしれません
365デフォルトの名無しさん (ワッチョイ 43c3-n1O6)
垢版 |
2024/09/30(月) 17:21:54.13ID:tXnenHaH0
ありがとうございます
366デフォルトの名無しさん (ワッチョイ 137d-zc+1)
垢版 |
2024/11/02(土) 14:01:47.21ID:y1X+kHvk0
長年使ってたMac Book Proが最新バージョンのXcodeに対応できなくなった😭
367デフォルトの名無しさん (ワッチョイ 23ab-KrXD)
垢版 |
2024/11/21(木) 17:50:15.39ID:LoqnpzPm0
主演女優(アクター)といえば、

陽キャ「オードリーヘップバーン」
陽キャ2「高橋しょうこ」
キモオタ陰キャ「マルチスレッドからアクセス!」
2024/11/25(月) 19:05:16.76ID:E2r7B+Pl0
Apple製品の開発ができるから人気があるかと思ってスレ覗いてみたが閑古鳥鳴いてるな
以外だ
2024/11/25(月) 19:38:33.47ID:JSRGwlX80
そもそも5ch自体過疎ってるやん。
370デフォルトの名無しさん (スップ Sdbf-fTgC)
垢版 |
2024/11/26(火) 02:00:49.68ID:CJ2r3j13d
そりゃスタバでMac開いてる人でもSwift使ってる人はおらん
371デフォルトの名無しさん (ワッチョイ bfc4-fTgC)
垢版 |
2024/11/26(火) 15:25:07.86ID:YRxmHwLI0
スタバでマック使う人って、1行もプログラム書けないかわりにブログ書いてんでしょ?
2025/01/04(土) 20:13:48.25ID:S1qSnEDx0
hosyu
2025/03/18(火) 22:53:06.87ID:O7h9e7G90
hosyu
2025/03/19(水) 10:39:09.56ID:rXC9RH7l0
ClaudeCode使ってコード生成してみたけどなかなか凄いねこれ。
直さなきゃならないけどめんどくさいところ頼んだらすぐ直してくれるし。
2025/03/23(日) 20:26:41.56ID:RxyY7oE/0
熟練プログラマーは不要になるな
2025/04/07(月) 20:40:13.38ID:uluKTjHua
Swiftってプログラム言語じゃなくてアプリツクールだと思う
2025/04/08(火) 00:00:38.73ID:JluuJQb/0
言語としても面白いぞ
なんにせよ間口が広いのは良いことだ
378デフォルトの名無しさん (ワッチョイ 5e43-c4Ac)
垢版 |
2025/05/05(月) 15:46:38.47ID:bOUQbi380
xcode16.3なんですが、左ペインの虫眼鏡
show find navigator
検索エリアの大文字小文字区別アイコン押下してもオンにならないんはワイ環ですかね?
xcode再インストしても変わらないんですが
2025/05/06(火) 23:05:07.03ID:AZizFcLW0
同じバージョンだけど問題なさそう
試した範囲だとFind > Asset Referencesの時だけ大文字小文字を切り替えられなかった
380デフォルトの名無しさん (ワッチョイ 5e67-c4Ac)
垢版 |
2025/05/07(水) 02:36:03.06ID:ODpNV6H+0
>>379
ありがとう
中ペイン、ソースコードのところだと大文字小文字アイコン押下は可能で意図した検索は可能です

osクリーンインストするのも時間的コストの兼ね合いからvmware入れて検証してみます
381デフォルトの名無しさん (ワッチョイ 922e-Enlg)
垢版 |
2025/05/07(水) 15:20:42.46ID:7aByWlek0
下記は全て2025年5月7日の記事

OpenAI、ChatGPTの6つのモデルの違いと適切なプロンプトを解説
https://news.mynavi.jp/techplus/article/20250507-3275757/

Microsoftの新規のソースコードの約3割をAIが生成、Nadella氏が明かす
https://news.mynavi.jp/techplus/article/20250507-3271749/

スコットランドの住民を悩ます謎の怪音「ヘブリディアン・ハム」の正体はいまだ不明
https://karapaia.com/archives/507130.html
382デフォルトの名無しさん (ワッチョイ 46a8-Lof8)
垢版 |
2025/05/24(土) 03:37:45.63ID:JkI4IB9+0
swiftの関数で異なる引数の型を異なる型で戻り値にする場合のアドバイスお願いします

テスト関数(faild func)
func test(num: int or double) -> int or double {
var ret: int or double!

switch (type(of: num)) {
case int:
ret = num * 2
case double:
ret = num * 2.0
default:
ret = nil
}

return(ret)
}
2025/05/24(土) 10:34:59.24ID:iDI/w+P00
>>382
1. オーバーロード
2. ジェネリクス(T: Numeric)
3. プロトコル(Numeric)
4. Enum

ChatGPTにでも聞けばコード含めて全部回答してくれるんじゃないか
384デフォルトの名無しさん (ワッチョイ 460e-Lof8)
垢版 |
2025/05/24(土) 12:47:55.54ID:JkI4IB9+0
自己解決しました

>>383
ここで聞いてるのであって、gptとかはだいたい周知してるのでアドバイスにもなりません
わからないならレスしないでください
385デフォルトの名無しさん (ワッチョイ 06ea-Lof8)
垢版 |
2025/05/24(土) 13:26:00.72ID:IMvqkj3f0
>>382
こんな感じでいいんじゃね?
知らんけど

func test<T>(num: Any) -> T {
switch (num) {
case is Int:
let ret: Int = num as! Int;
return(ret * 2 as! T);
case is Double:
let ret: Double = num as! Double;
return(ret * 2.0 as! T);
default:
return(type(of: num) as! T);
};
};
2025/05/24(土) 14:29:35.35ID:aVm4nxod0
>>384
おまえ、GPT使っててこれなのかw
救いようがないな
387デフォルトの名無しさん (ワッチョイ df15-Lof8)
垢版 |
2025/05/24(土) 16:56:21.96ID:ISd6qXTY0
>>386
さすがにGPT連呼ウゼーわ
無脳ゴミ虫はロムってろ
388デフォルトの名無しさん (アウアウウー Sa2f-/ppz)
垢版 |
2025/05/24(土) 17:56:44.75ID:6QA0+Pxwa
もちつけ
https://www.youtube.com/watch?v=VuUasiilq44
389デフォルトの名無しさん (ワッチョイ 46c5-Lof8)
垢版 |
2025/05/24(土) 20:29:32.23ID:JkI4IB9+0
>>385
マジ、ありがとう!パーフェクトです
早速つかわしてもらいます
2025/05/24(土) 21:35:38.50ID:/vXms6Z50
おまえ、あのクソコードで自演バレてないと思ってたのかwww
救いようがないなw
2025/05/24(土) 22:39:28.60ID:xQOrGKFD0
うわぁ自演久々にみたわ
キッツーwww
392デフォルトの名無しさん (ワッチョイ 5f48-7h9Y)
垢版 |
2025/05/25(日) 03:03:44.36ID:tp/e59CE0
自演とか言うてるオマエラ
コーティングはどうした?

悔しーのーwww
2025/05/25(日) 06:51:03.20ID:jqh7iVcP0
>>392
お前のハゲ頭に塗るツルピカコーティングのこと言ってんのか?
394デフォルトの名無しさん (ワッチョイ bb4f-7h9Y)
垢版 |
2025/05/26(月) 12:10:01.23ID:E/O4cAvn0
なんか荒れててワロタ
Gptが万能だと思ってる底辺って、結構いるんだな
じゃあ、このスレは不要だから削除申請しといてあげたよW

Gptに感謝W
2025/05/26(月) 12:24:31.90ID:mCNwP+3w0
こいつこれで自演バレてないと思ってるとかどういう頭してるんだよw
マジで頭悪すぎだろwww
2025/06/10(火) 10:38:10.27ID:J5CIMo790
test
397デフォルトの名無しさん (ワッチョイ fb08-G4JC)
垢版 |
2025/06/10(火) 10:51:04.60ID:co9N3dhx0
func test_func(function: () -> Void) -> String {
let test: String = "引数のfunction名"
return(test)
}

func test_func1() -> Void {
return()
}

func test_func2() -> Void {
return()
}

print(test_func(function: test_func1())) //test_func1 出力
print(test_func(function: test_func2())) //test_func2 出力

--
関数の引数に関数を指定した場合、引数の関数名を取得する方法ってありますか?
2025/06/10(火) 14:52:10.11ID:CdIKdoXB0
>>397
#functionでできる範囲内で工夫したら?

@objc属性をつけられるならリフレクションでどうにかできると思うけど面倒くさい

あとはマクロを使って#call_test_func(function: test_func1)を
test_func(function: test_func1, name: “test_func1”)に展開するとかかな
399デフォルトの名無しさん (ワッチョイ fb08-G4JC)
垢版 |
2025/06/10(火) 21:15:44.74ID:co9N3dhx0
private test_func_name: String!
func test_func(function: () -> Void) -> String {
function()
let test: String = test_func_name
return(test)
}

func test_func1() -> Void {
test_func_name = #function
return()
}

func test_func2() -> Void {
test_func_name = #function
return()
}

print(test_func(function: test_func1())) //test_func1 出力
print(test_func(function: test_func2())) //test_func2 出力

--
>>398
> test_func(function: test_func1, name: “test_func1”)
これって、スペルミスしやすいですよね

上記の方が、まだマシな気はします

根本的に
関数の引数に関数を指定した場合、引数の関数名を取得
は不可ってことでしょうか
2025/06/10(火) 21:35:35.99ID:kcNgEpD90
https://stackoverflow.com/questions/52083874/swift-print-name-of-a-function-stored-in-a-variable
これの回答?
401デフォルトの名無しさん (ワッチョイ fb08-G4JC)
垢版 |
2025/06/10(火) 22:03:32.75ID:co9N3dhx0
>>400
いいえ 違います
2025/06/10(火) 22:15:58.52ID:povNpgQm0
>Swift is a statically dispatched programming language.
>This results in Swift using memory addresses as much as possible when it needs to call a function.
>The side effect is the inability to capture the called function name, since in most of the cases it will be a simple memory address.
403デフォルトの名無しさん (ワッチョイ fb08-G4JC)
垢版 |
2025/06/10(火) 22:48:21.96ID:co9N3dhx0
>>402
ありがとう
ディクショナリー化して逃げることにします
2025/06/10(火) 23:17:17.93ID:HzGLhqs50
>>399
>これって、スペルミスしやすいですよね
だからマクロ・・・・・

>>402
@objc属性つければ事情が変わる
405デフォルトの名無しさん (ワッチョイ fbc8-jSs6)
垢版 |
2025/06/11(水) 01:29:20.37ID:Y6NiPAiA0
テスト
406デフォルトの名無しさん (ワッチョイ fb6a-G4JC)
垢版 |
2025/06/11(水) 08:54:28.08ID:Y6NiPAiA0
>>404
マクロにしても...

すいませんが、サンプルコーディングみせてもらえませんか
お願いします
407デフォルトの名無しさん (ワッチョイ fbe8-G4JC)
垢版 |
2025/06/11(水) 23:22:15.31ID:Y6NiPAiA0
関数の引数に関数を指定した場合、引数の関数名取得して適宜分岐処理したかっただけでしたが、実質無理っぽいですね
いろいろと検索してたらObjectIdentifierなるものがあって、試したところ
引数の関数名は取得できないまでも、引数の関数の識別ができたので、解決しました
2025/06/11(水) 23:36:45.91ID:xQ0zj3960
>>406
主なところだけ書くけど
let firstArg = node.arguments.first!
let expr = firstArg.expression.trimmedDescription
return "test_func(function: \(expr), name: \"\(expr)\")"
みたいなので
#call_test_func(function: test_func1)みたいな呼び出しを
test_func(function: test_func1, name: "test_func1”)に展開できる
2025/06/11(水) 23:44:57.69ID:xQ0zj3960
>>407
高階関数で受け取った関数を識別して分岐処理を書くのは一般的には筋が悪い実装だよ
理解した上であえてやってるならいいけどそうじゃないなら再考を勧める
410デフォルトの名無しさん (ワッチョイ fbe8-G4JC)
垢版 |
2025/06/12(木) 00:07:03.79ID:gPSDSI/z0
>>408
test_func(function: test_func1, name: "test_func1”)

test_func1 と "test_func1" として実装するのが気に入らないのです

>>409
そもそも引数に関数ってのが、好ましくないのは承知してます
ただ、どうしても引数とした関数として処理した方が、プログラム上、高メリットとなるので実装してます

余談ながら@objc化して引数の関数名を取得は可能でしたが、Selectorとかなんやらでなんか面倒で...
ObjectIdentifier使った方が、意外にスマートな分岐処理が実装できたので、ObjectIdentifierで処理します
2025/06/12(木) 01:05:32.00ID:huei3sVu0
>>410
>そもそも引数に関数ってのが、好ましくないのは承知してます
関数を受け渡しするのは別に悪くない
使う状況によってはむしろ好ましいことも多い
悪いのは関数を受け渡しする形にしているにもかかわらず
受け取った側でどの関数が渡されたかを識別して分岐しようとすること

@objcのは最初に書いてあるように一番面倒なやり方だからね
リフレクションを使いまくるような用途じゃなければ割に合わない
2025/06/12(木) 12:08:03.22ID:1TmeXXfD0
ありえん設計だな
何か根本的に勘違いしてるとしか考えられん
413デフォルトの名無しさん (ワッチョイ 199c-nbgv)
垢版 |
2025/10/27(月) 13:46:24.84ID:94yXD1ih0
Apple発のプログラミング言語「Swift」でAndroidアプリの開発が可能に
https://gigazine.net/news/20251027-swift-sdk-for-android/
2025/10/29(水) 08:44:36.17ID:/33m2d4b0
なんかもう言語とかフレームワークとかなんでも良くなってきてる感
どうせAIが書くし
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況