Swift part13 (412レス)
1-

1: デフォルトの名無しさん (ワッチョイ 0f2d-WqpA) [] 2021/04/12(月) 16:04:28.17 ID:UoC5n/T70(1/2) AAS
Swiftについて語りましょう

※前スレ
2chスレ:tech

スレ立て時は1行目に「!extend::vvvvv」 VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
313: デフォルトの名無しさん (ブーイモ MM3e-gFlL) [sage] 2023/12/06(水) 18:11:45.85 ID:ACsizq8cM(1) AAS
キャストじゃなくない?
314: デフォルトの名無しさん (ワッチョイ 3774-rY2n) [] 2023/12/10(日) 23:45:00.90 ID:z8YVVd3a0(1) AAS
いや、想像がつかないだろうけどprintがないんだよ
現在推奨のSwiftの仕様にはprintがないの
315: デフォルトの名無しさん (ワッチョイ 3710-tASO) [sage] 2023/12/11(月) 00:36:20.51 ID:suCCl44L0(1/2) AAS
はぁ?と思ったらSwiftUIのこと言ってんのか
ウィジェットでちょっと触っただけで普段使わないな
Swiftで十分よ
316: デフォルトの名無しさん (ワッチョイ 3710-tASO) [sage] 2023/12/11(月) 00:41:14.97 ID:suCCl44L0(2/2) AAS
ていうかSwiftUIとSwiftを混同するなよ
別もんだしSwiftUIでまともに開発してやつ見たことないわ
317: デフォルトの名無しさん (ワッチョイ ff35-RTrI) [sage] 2023/12/11(月) 01:10:54.08 ID:Wtm9Ko9j0(1) AAS
SwiftUIにprintがないなんて言い方する?
UIの話ならpreviewすればいいだけだし
Swiftの仕様にはprintはあるし
何がいいたいのか全くわからないよ
318: デフォルトの名無しさん (ワッチョイ eb82-hmxp) [] 2023/12/16(土) 23:08:03.69 ID:0fexV+0L0(1) AAS
同じく
319: デフォルトの名無しさん (ワッチョイ 71ee-icwS) [sage] 2024/01/30(火) 08:33:33.14 ID:vlP7/rzZ0(1) AAS
SwiftUIでmacアプリ開発してるけどたしかにprintはサジェストに出てこない
debugPrintならある
320: デフォルトの名無しさん (ワッチョイ 6f40-Fmzm) [] 2024/06/12(水) 03:02:02.04 ID:zzU8dTRc0(1) AAS
Swiftて技術書とか学習動画少ないな
SwiftUIだとさらに少ない
321: デフォルトの名無しさん (ワッチョイ a32d-jMsA) [sage] 2024/06/12(水) 08:19:02.72 ID:SGSVO8U00(1) AAS
そのうえ初期の頃は仕様がコロコロ変わってたから、
古本屋で安く買える技術書も、古い動画も
あまり役に立たないという…

結局、Apple公式のドキュメントを英語で読むのが
安くて早い、って感じになっちゃったんじゃない?
322: デフォルトの名無しさん (ワッチョイ 1310-Fmzm) [sage] 2024/06/12(水) 09:06:36.81 ID:i8+gQpWW0(1) AAS
Appleのは定義が書いてあるだけで学習や応用には適して無いんだよな
323: デフォルトの名無しさん (ワッチョイ 0f01-eDuR) [sage] 2024/06/12(水) 10:27:37.31 ID:nwt+ZdXf0(1) AAS
とりあえずは公式から始めるのが一番
https://docs.swift.org/swift-book/documentation/the-swift-programming-language/
https://developer.apple.com/tutorials/swiftui

書籍も動画も英語のものなら普通にある
日本語書籍は訳書が出るころには古くなるからもう出版社も対応しなくなった
324: デフォルトの名無しさん (オイコラミネオ MMff-wF7s) [] 2024/06/14(金) 10:09:19.25 ID:8oVOqVGDM(1) AAS
iOSエンジニアは国内で3000人しかいないみたいだからな。
そりゃ本も出なくなる。
325: デフォルトの名無しさん (ワッチョイ 1310-Fmzm) [sage] 2024/06/14(金) 14:28:44.24 ID:u5xuUVyj0(1/2) AAS
まじかそんなもんなの?
サラリーマンなったら高給取りになれそうな人数やん
326
(1): デフォルトの名無しさん (ワッチョイ ff34-Fmzm) [] 2024/06/14(金) 17:05:04.60 ID:PMI2v4lY0(1) AAS
でもSwiftエンジニアの単価は安いんだよな
327: デフォルトの名無しさん (ワッチョイ c378-WIOR) [sage] 2024/06/14(金) 18:12:39.95 ID:meBpbsC60(1) AAS
仕様が安定したっぽいんでiPadのswift playgroundで変な生物歩かせてひと通りは文法覚えた(そして忘れた)
こないだちょっと統計計算やる必要があってMacのplaygroundで計算に使ったかな
328: デフォルトの名無しさん (ワッチョイ 1310-Fmzm) [sage] 2024/06/14(金) 20:55:47.22 ID:u5xuUVyj0(2/2) AAS
仕様安定したと思っても平気でごろっと変えてくるで
329: デフォルトの名無しさん (JP 0H7f-wF7s) [] 2024/06/14(金) 21:30:29.36 ID:WiYGsMsTH(1) AAS
>>326
メンバーレベルの単価としては高いほうだとおもうけど。
そりゃSAPなんかと比べてはいけない。
330: デフォルトの名無しさん (ワッチョイ c39d-Fmzm) [sage] 2024/06/14(金) 23:08:51.23 ID:TYiZFtqr0(1) AAS
ホントそれ。
警告削るだけでも無駄に体力使う。
331: デフォルトの名無しさん (ワッチョイ ff01-6MwN) [sage] 2024/06/15(土) 11:33:11.65 ID:i1/W8aN40(1/2) AAS
https://codezine.jp/article/detail/19697
332: デフォルトの名無しさん (ワッチョイ ff01-6MwN) [sage] 2024/06/15(土) 11:34:22.65 ID:i1/W8aN40(2/2) AAS
「Static Linux SDK」、SwiftUIのクロスプラットフォーム化の布石だね
333: デフォルトの名無しさん (ワッチョイ 334b-o13J) [] 2024/07/21(日) 08:17:21.27 ID:kC1ofV360(1) AAS
swift盛り上がらないのかなあ
chatGPTがxcodeに内蔵されれば時代がくるかなあ
334: デフォルトの名無しさん (ワッチョイ 41e7-PlpQ) [] 2024/07/21(日) 17:19:31.76 ID:FJ/lGair0(1) AAS
Swiftエンジニアが少なすぎて盛り上がりようがない
335: デフォルトの名無しさん (ワッチョイ 4910-PlpQ) [sage] 2024/07/21(日) 18:27:16.82 ID:zXfemU3O0(1) AAS
AIにプロジェクトを管理して欲しい。
エラーとか勝手に直してアクセスログで出力しといて。
336: デフォルトの名無しさん (ワッチョイ 334b-o13J) [] 2024/07/23(火) 06:13:04.91 ID:+KGDQLUG0(1) AAS
Androidなくなってほしい
いらないでしょ
337: デフォルトの名無しさん (ワッチョイ 534b-vPBw) [sage] 2024/07/26(金) 02:06:20.82 ID:6GE2JxvB0(1) AAS

なんでかな?
日本人のiPhoneのユーザーはandroidより多いらしいのに…
まぁKotlinもたいがいだけど…
338
(1): デフォルトの名無しさん (ワッチョイ 0a4b-RsF9) [] 2024/07/28(日) 16:58:04.14 ID:bLFrKQsZ0(1) AAS
AIサポートに慣れたら今のXcodeで書くのしんどい
339: デフォルトの名無しさん (ワッチョイ dd66-qkrU) [sage] 2024/07/28(日) 17:23:36.79 ID:SXEf5rv10(1) AAS
>>338
Copilot for Xcode 使えば?
340: デフォルトの名無しさん (ワッチョイ 9a4b-wA75) [sage] 2024/07/29(月) 23:42:15.90 ID:0M9vvzlz0(1) AAS
Swift Playgroundsが楽しいわ
まぁ初心者向きだけど、Swiftを覚えられるapple製のゲーム
無料で結構楽しめます
341: デフォルトの名無しさん (ワッチョイ 9a4b-wA75) [sage] 2024/07/31(水) 20:11:13.58 ID:bE0JotAv0(1/2) AAS
やっぱりiOSのアプリ開発止めた
作っても自分のレベルだと120円くらいで売るしかない
今なんて仕事用のデスクトップアプリをpythonで作って、たった37行しか無いのに500円で売ってるからな
週に1本か2本しか売れないけど、37行で500円だったら付加価値が高い

アプリは競争が激し過ぎる
しょぼいGUIだと120円でないと、ユーザーに納得してもらえない…
342: デフォルトの名無しさん (ワッチョイ 9910-L9si) [sage] 2024/07/31(水) 20:54:45.53 ID:KElqk8iw0(1) AAS
はいはいさようなら
343: デフォルトの名無しさん (ワッチョイ 9a4b-wA75) [sage] 2024/07/31(水) 22:50:37.13 ID:bE0JotAv0(2/2) AAS
なんか寂しくなった w
でも実際汚いGUIしか作る自信が無い
いま売ってるPythonのGUIも汚いというか、四角形を並べただけのシンプルなものだし…
スマホアプリのGUIが綺麗すぎるのよ
344: デフォルトの名無しさん (ワッチョイ f94a-qkrU) [sage] 2024/07/31(水) 23:57:26.67 ID:3TDb3IoC0(1) AAS
俺もfigmaのアカウントとか作ってみたけど放置してる
345: デフォルトの名無しさん (ワッチョイ 9a4b-+1/u) [sage] 2024/08/02(金) 23:16:40.57 ID:oPEeZOIW0(1/4) AAS
またSwiftに戻ってきた
きれいなUIを作れるように勉強しようと思う
346: デフォルトの名無しさん (ワッチョイ 9a4b-+1/u) [sage] 2024/08/02(金) 23:43:48.79 ID:oPEeZOIW0(2/4) AAS
需要はターゲットユーザーやアプリの目的によって異なりますが、一般的な傾向として以下のポイントを考慮できます。

### デスクトップアプリ
- **ユーザー層**: 企業やプロフェッショナルユーザー、パワーユーザーが多い。
- **用途**: 生産性向上、開発ツール、デザインソフトウェア(例:Adobe Illustrator)。
- **メリット**: 高いパフォーマンス、複雑な操作が可能。
- **デメリット**: モバイル性がない、利用者の範囲が限定される。
347: デフォルトの名無しさん (ワッチョイ 9a4b-+1/u) [sage] 2024/08/02(金) 23:44:13.81 ID:oPEeZOIW0(3/4) AAS
### スマホアプリ
- **ユーザー層**: 一般消費者、広範な年齢層。
- **用途**: 日常の便利ツール、エンターテインメント、SNS。
- **メリット**: いつでもどこでも利用可能、大量のユーザーにリーチ可能。
- **デメリット**: デバイスの性能に依存、複雑な操作には不向き。

### 学習の視点から
- **Windowsデスクトップアプリ開発**: C#や.NETなどの知識が求められる。企業向けのソリューションを提供する際に有利。
- **iOSアプリ開発**: SwiftやObjective-Cの知識が必要。App Storeを通じて広範なユーザーにアプローチできる。
348: デフォルトの名無しさん (ワッチョイ 9a4b-+1/u) [sage] 2024/08/02(金) 23:44:35.52 ID:oPEeZOIW0(4/4) AAS
最終的には、あなたの興味やキャリア目標、ターゲットとする市場に依存します。例えば、企業向けのプロフェッショナルツールを作りたいならデスクトップアプリ、一般消費者向けのアプリを作りたいならスマホアプリの方が適しています。
349: デフォルトの名無しさん (ワッチョイ 9a4b-+1/u) [sage] 2024/08/03(土) 00:06:31.85 ID:7ydaJxpa0(1) AAS
有料アプリを作りたい
無料アプリの提供は飽きた
無料で提供して「いいね」をたくさんもらっても、何も感じなくなったので。
https://fueled-com.translate.goog/blog/app-store-vs-google-play/?_x_tr_sl=auto&_x_tr_tl=ja&_x_tr_hl=ja
350: デフォルトの名無しさん (ワッチョイ e9c3-chBO) [] 2024/08/13(火) 22:09:06.58 ID:Rwm2Wj8H0(1) AAS
質問です
SwiftUIで計算結果を逐次的に図示するにはどんなUI部品を使うのが良いでしょうか?
たとえば恒星を周りの惑星の動きをアニメーションするなどです
試しにCanvasに描画したのですが期待より遅かったのです
351: デフォルトの名無しさん (ワッチョイ 2724-gp2j) [sage] 2024/09/04(水) 23:45:25.80 ID:cibd68J/0(1) AAS
SpriteKitを使わずに画像や円などを動かす方法はありませんか?
等速直線運動、壁反射など自作のコードで動かしたいです
352: デフォルトの名無しさん (ワッチョイ 2727-L4we) [sage] 2024/09/04(水) 23:47:13.86 ID:vLAZj/jU0(1) AAS
Unity...
353: デフォルトの名無しさん (ワッチョイ 2724-gp2j) [sage] 2024/09/05(木) 00:09:48.23 ID:6R1X1oXy0(1/2) AAS
UnityもSpriteKitも使えるのですが
swiftで書けないのかな?と
354: デフォルトの名無しさん (ワッチョイ 27c3-L4we) [sage] 2024/09/05(木) 06:18:29.11 ID:oG/Rcyml0(1) AAS
SpriteKitの物理エンジンを使わずに自前で動かしたいってことかね
普通にできると思うよ
355
(1): デフォルトの名無しさん (ワッチョイ 2724-gp2j) [sage] 2024/09/05(木) 07:35:09.41 ID:6R1X1oXy0(2/2) AAS
positionのx,yに値加算しても動いてくれなくて、、、
356: デフォルトの名無しさん (ワッチョイ ff01-+EoY) [sage] 2024/09/05(木) 09:29:40.07 ID:Flcm09yP0(1) AAS
そりゃ動いてくれって言わないと動かないだろ
357: デフォルトの名無しさん (ワッチョイ 2747-L4we) [sage] 2024/09/06(金) 08:40:00.62 ID:Xak0KvT/0(1) AAS
positionを更新するコードが呼ばれてないとか誤って別のノードを操作してるとかかねぇ
358
(1): デフォルトの名無しさん (ワッチョイ 87c3-utBj) [] 2024/09/07(土) 21:49:40.99 ID:Sk8lIQP30(1) AAS
>>355
クラスを作ってTimerで座標を逐次更新し @Published
ContextViewの方で@ObservedObject
で自分は動かしています
359: デフォルトの名無しさん (ワッチョイ 6a02-OHED) [sage] 2024/09/12(木) 00:32:30.12 ID:hH2ma8Wb0(1) AAS
>>358
ありがとうございます
試してみます
なんかタイマー次第で120fpsも出来そうな感じですね
360: デフォルトの名無しさん (ワッチョイ 17c3-unwL) [] 2024/09/24(火) 14:27:00.44 ID:iCf+WGAm0(1) AAS
Timerでは思い通りの速さは出なくて
Combineを勉強中
361: デフォルトの名無しさん (ワッチョイ c67c-zLmf) [] 2024/09/28(土) 13:29:12.26 ID:/TgrUgNs0(1) AAS
fpsに合わせる処理はCADislayLinkを使うといいですよ
362: デフォルトの名無しさん (ワッチョイ 17c3-unwL) [] 2024/09/28(土) 18:10:41.83 ID:Kb1uh7db0(1) AAS
調べてみます
363: デフォルトの名無しさん (ワッチョイ 43c3-n1O6) [] 2024/09/29(日) 17:19:14.24 ID:mEwyLJF50(1) AAS
Timer を CADisplayLink に置き換えてみました
いまやっている処理では残念ながら同じような速度でした
書き方が悪くて実行速度が出ていない可能性もありますが
Combineでは速くなることがわかっていますのでそちらを追求してみます
なかなか理解がむずかしく停滞しています
364: デフォルトの名無しさん (ワッチョイ 8f7c-Kyt2) [] 2024/09/30(月) 12:42:12.45 ID:hUFXiD1y0(1) AAS
SwiftUIだとレンダータイミングが間引かれてしまったりもあるのかもしれないですね。
UIKitでCADisplayLinkも検証してみてもいいかもしれません
365: デフォルトの名無しさん (ワッチョイ 43c3-n1O6) [] 2024/09/30(月) 17:21:54.13 ID:tXnenHaH0(1) AAS
ありがとうございます
366: デフォルトの名無しさん (ワッチョイ 137d-zc+1) [] 2024/11/02(土) 14:01:47.21 ID:y1X+kHvk0(1) AAS
長年使ってたMac Book Proが最新バージョンのXcodeに対応できなくなった😭
367: デフォルトの名無しさん (ワッチョイ 23ab-KrXD) [] 2024/11/21(木) 17:50:15.39 ID:LoqnpzPm0(1) AAS
主演女優(アクター)といえば、

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

osクリーンインストするのも時間的コストの兼ね合いからvmware入れて検証してみます
381: デフォルトの名無しさん (ワッチョイ 922e-Enlg) [] 2025/05/07(水) 15:20:42.46 ID:7aByWlek0(1) AAS
下記は全て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
(2): デフォルトの名無しさん (ワッチョイ 46a8-Lof8) [] 2025/05/24(土) 03:37:45.63 ID:JkI4IB9+0(1/3) AAS
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)
}
383
(1): デフォルトの名無しさん (ワッチョイ c601-VkrP) [sage] 2025/05/24(土) 10:34:59.24 ID:iDI/w+P00(1) AAS
>>382
1. オーバーロード
2. ジェネリクス(T: Numeric)
3. プロトコル(Numeric)
4. Enum

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

>>383
ここで聞いてるのであって、gptとかはだいたい周知してるのでアドバイスにもなりません
わからないならレスしないでください
385
(1): デフォルトの名無しさん (ワッチョイ 06ea-Lof8) [] 2025/05/24(土) 13:26:00.72 ID:IMvqkj3f0(1) AAS
>>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);
};
};
386
(1): デフォルトの名無しさん (ワッチョイ c601-VkrP) [sage] 2025/05/24(土) 14:29:35.35 ID:aVm4nxod0(1) AAS
>>384
おまえ、GPT使っててこれなのかw
救いようがないな
387: デフォルトの名無しさん (ワッチョイ df15-Lof8) [] 2025/05/24(土) 16:56:21.96 ID:ISd6qXTY0(1) AAS
>>386
さすがにGPT連呼ウゼーわ
無脳ゴミ虫はロムってろ
388: デフォルトの名無しさん (アウアウウー Sa2f-/ppz) [] 2025/05/24(土) 17:56:44.75 ID:6QA0+Pxwa(1) AAS
もちつけ
https://www.youtube.com/watch?v=VuUasiilq44

389: デフォルトの名無しさん (ワッチョイ 46c5-Lof8) [] 2025/05/24(土) 20:29:32.23 ID:JkI4IB9+0(3/3) AAS
>>385
マジ、ありがとう!パーフェクトです
早速つかわしてもらいます
390: デフォルトの名無しさん (ワッチョイ 6701-wCTo) [sage] 2025/05/24(土) 21:35:38.50 ID:/vXms6Z50(1) AAS
おまえ、あのクソコードで自演バレてないと思ってたのかwww
救いようがないなw
391: デフォルトの名無しさん (ワッチョイ e76d-Od/L) [sage] 2025/05/24(土) 22:39:28.60 ID:xQOrGKFD0(1) AAS
うわぁ自演久々にみたわ
キッツーwww
392
(1): デフォルトの名無しさん (ワッチョイ 5f48-7h9Y) [] 2025/05/25(日) 03:03:44.36 ID:tp/e59CE0(1) AAS
自演とか言うてるオマエラ
コーティングはどうした?

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

Gptに感謝W
395: デフォルトの名無しさん (ワッチョイ 1b01-5KpO) [sage] 2025/05/26(月) 12:24:31.90 ID:mCNwP+3w0(1) AAS
こいつこれで自演バレてないと思ってるとかどういう頭してるんだよw
マジで頭悪すぎだろwww
396: デフォルトの名無しさん (ワッチョイ 5301-G4JC) [sage] 2025/06/10(火) 10:38:10.27 ID:J5CIMo790(1) AAS
test
397
(1): デフォルトの名無しさん (ワッチョイ fb08-G4JC) [] 2025/06/10(火) 10:51:04.60 ID:co9N3dhx0(1/4) AAS
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 出力

--
関数の引数に関数を指定した場合、引数の関数名を取得する方法ってありますか?
398
(1): デフォルトの名無しさん (ワッチョイ eb01-v8wM) [sage] 2025/06/10(火) 14:52:10.11 ID:CdIKdoXB0(1) AAS
>>397
#functionでできる範囲内で工夫したら?

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

あとはマクロを使って#call_test_func(function: test_func1)を
test_func(function: test_func1, name: “test_func1”)に展開するとかかな
399
(1): デフォルトの名無しさん (ワッチョイ fb08-G4JC) [] 2025/06/10(火) 21:15:44.74 ID:co9N3dhx0(2/4) AAS
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”)
これって、スペルミスしやすいですよね

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

根本的に
関数の引数に関数を指定した場合、引数の関数名を取得
は不可ってことでしょうか
400
(1): デフォルトの名無しさん (ワッチョイ 13ee-7FqK) [sage] 2025/06/10(火) 21:35:35.99 ID:kcNgEpD90(1) AAS
https://stackoverflow.com/questions/52083874/swift-print-name-of-a-function-stored-in-a-variable
これの回答?
401: デフォルトの名無しさん (ワッチョイ fb08-G4JC) [] 2025/06/10(火) 22:03:32.75 ID:co9N3dhx0(3/4) AAS
>>400
いいえ 違います
402
(2): デフォルトの名無しさん (ワッチョイ 0bcd-JxoL) [sage] 2025/06/10(火) 22:15:58.52 ID:povNpgQm0(1) AAS
>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.96 ID:co9N3dhx0(4/4) AAS
>>402
ありがとう
ディクショナリー化して逃げることにします
404
(1): デフォルトの名無しさん (ワッチョイ eb01-v8wM) [sage] 2025/06/10(火) 23:17:17.93 ID:HzGLhqs50(1) AAS
>>399
>これって、スペルミスしやすいですよね
だからマクロ・・・・・

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

すいませんが、サンプルコーディングみせてもらえませんか
お願いします
407
(1): デフォルトの名無しさん (ワッチョイ fbe8-G4JC) [] 2025/06/11(水) 23:22:15.31 ID:Y6NiPAiA0(3/3) AAS
関数の引数に関数を指定した場合、引数の関数名取得して適宜分岐処理したかっただけでしたが、実質無理っぽいですね
いろいろと検索してたらObjectIdentifierなるものがあって、試したところ
引数の関数名は取得できないまでも、引数の関数の識別ができたので、解決しました
408
(1): デフォルトの名無しさん (ワッチョイ 0101-v8wM) [sage] 2025/06/11(水) 23:36:45.91 ID:xQ0zj3960(1/2) AAS
>>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”)に展開できる
409
(1): デフォルトの名無しさん (ワッチョイ 0101-v8wM) [sage] 2025/06/11(水) 23:44:57.69 ID:xQ0zj3960(2/2) AAS
>>407
高階関数で受け取った関数を識別して分岐処理を書くのは一般的には筋が悪い実装だよ
理解した上であえてやってるならいいけどそうじゃないなら再考を勧める
410
(1): デフォルトの名無しさん (ワッチョイ fbe8-G4JC) [] 2025/06/12(木) 00:07:03.79 ID:gPSDSI/z0(1) AAS
>>408
test_func(function: test_func1, name: "test_func1”)

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

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

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

@objcのは最初に書いてあるように一番面倒なやり方だからね
リフレクションを使いまくるような用途じゃなければ割に合わない
412: デフォルトの名無しさん (ワッチョイ c170-PdR5) [sage] 2025/06/12(木) 12:08:03.22 ID:1TmeXXfD0(1) AAS
ありえん設計だな
何か根本的に勘違いしてるとしか考えられん
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.034s