Swift part13 (414レス)
1-

1: (ワッチョイ 0f2d-WqpA) 2021/04/12(月)16:04 ID:UoC5n/T70(1/2) AAS
Swiftについて語りましょう

※前スレ
2chスレ:tech

スレ立て時は1行目に「!extend::vvvvv」 VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
288: (ワッチョイ 5701-bG2j) 2022/09/18(日)21:06 ID:k1igEAmZ0(1) AAS
iOS 16 って、
画面サイズの取得方法、変わりました?
289: (ワッチョイ 16da-XjGR) 2022/09/25(日)22:36 ID:Q3qdRyTn0(1) AAS
iPadOS15.7に対応しとらんってなんやねん
どないなっとんねんホンマ
290: (オイコラミネオ MM1b-3xmk) 2022/12/17(土)18:37 ID:qYvbhW08M(1) AAS
Playgrounds4.2.1が虹を回しすぎw
MBP16M1proで落ちまくりとか、クソアプリ過ぎるわ
291
(2): (ワッチョイ 7b5f-gMkr) 2023/05/28(日)20:59 ID:EkMsdSko0(1) AAS
数年前に一つ簡単なアプリを作っただけの者だけど、当時はdeveloperなんたらに登録していなくても、自分の端末なら入れてから1週間くらいアプリを起動できた
今もそうなの?
このスレに書き込んでいる人たちはdeveloperなんたらのサブスクしてるの?
292: (ワッチョイ 1f4b-Ig+g) 2023/05/28(日)21:14 ID:S77fQ4oV0(1) AAS
ワイはサブスクしてるけど Playgroundsなら自作のをローカルでふつーに使えそうに見える
293: (ワッチョイ ef5f-fV0N) 2023/05/28(日)22:16 ID:BKag6aeN0(1) AAS
>>291
今もローカルならできるで
わいはApp Storeにアプリ晒すためにお布施しとるけど
294: (ブーイモ MM7f-bIWo) 2023/05/30(火)19:02 ID:1le6NMJZM(1) AAS
>>291
今も一週間使えるよ
295: (ワッチョイ 9f7d-PcYN) 2023/06/01(木)23:25 ID:YSPT6ab70(1) AAS
iOSアプデしたらマップをパンしたときに緯度経度0表示するようになっちゃったんだけど俺だけ?
296
(2): (ワッチョイ 7f7c-b9lE) 2023/07/09(日)15:57 ID:MwLeczpt0(1) AAS
playgroundsで学習始めたばかりのプログラミング未経験者なんだけどプログラミングって英単語覚えないと大分辛い?
簡単なのはわかるんだけど話が進んでいくとコードが知らない英単語の海すぎて読めないというか意味がわか、なくなってきてる
297: (ブーイモ MM2b-vzvj) 2023/07/09(日)16:04 ID:DTGfdd3rM(1) AAS
知らないのは出てくる都度調べたらいいけど使われてる英単語は覚えないと効率よくないとは思う
298: (ワッチョイ 978e-GxxC) 2023/07/09(日)19:37 ID:pJm3OXsW0(1) AAS
>>296
小学生?
299: (ワッチョイ 9fea-kkOg) 2023/07/09(日)21:22 ID:OnxNr8Jz0(1) AAS
>>296
英単語の数なんてそんなに多くないから、1個づつやっていけばいつか全部覚える
300: (ワッチョイ 17b3-6GCC) 2023/07/14(金)15:33 ID:Fa0AQwXy0(1) AAS
swiftを使うメリットはあんまりないよね
iphone向け"だけ"にアプリ作るならいいけど、普通アンドロイドにも出したいからC#辺りを使う
どういう場面で使われてるのか謎
301: (ブーイモ MMba-hxcO) 2023/07/15(土)02:59 ID:uuXdwOs6M(1) AAS
全体tryで囲って例外キャッチみたいなことできないの?
どこでエラーか起きてるかわからなくて困ったんだけど
302: (ワッチョイ 7fcf-SdSZ) 2023/09/16(土)10:59 ID:x3IjuTyf0(1) AAS
actorとかGCD, Lockの話とかどうやったら実践的な知識がつけられるんですか?
たまにしかデータ競合も起きないし、クラッシュもさせづらいし、正しく実装できてるかのチェックが難しい。
303: (ワッチョイ a37c-eCpa) 2023/10/05(木)10:46 ID:41cXXAxk0(1) AAS
初心者です。今はコードの断片を拾ってきて試したりしていますが、
switchの結果を変数に代入するようなシンタックスでエラーになります
let hoge: String = switch boge {
case .case1: ...
case .case2: ...
}
みたいなときに"Consecutive statements on a line must be separated by ';'"というエラーに
なります。どうも元のところでは動いているようなんですが。何が悪いんでしょう
304
(1): (ワッチョイ eb01-JbMN) 2023/10/05(木)12:57 ID:KyzKml+r0(1) AAS
switch expressionは5.9からの機能だから使ってるバージョンが古いんじゃない
305: (ワッチョイ 2377-eCpa) 2023/10/05(木)23:58 ID:7vG0pydU0(1) AAS
>>304
ビンゴです! Xcodeが14.3.1だったのを15にしたら大丈夫になりました

しかしSwiftは今も変化してるのですね。自分はまだまだSwiftのスタイルを
1つずつ覚えている最中ですが
306: (ワッチョイ 6382-H1Bd) 2023/10/06(金)10:08 ID:cb1/rWtk0(1) AAS
Swiftの文字列処理をべんきょう中
グラフィームの単位がデフォですか。Javaとかで背後のUTF-16をつい気にしてきた
心の汚れた人にはかえって不安w
文字のインデックスはインデックス形ですか
+演算子で文字列と文字をつなげたりは許さないんですね
IntとDoubleとかも駄目ですもんね。型に厳しいw
307
(1): (ワッチョイ 456e-oO7p) 2023/11/24(金)05:09 ID:7Kq0PIkY0(1) AAS
みなさんSwiftUIで困ってるみたいで安心しました。
テンプレで作成されるプログラム(Hello Worldじゃなくて時刻表示のやつ)を書き換えて、ある日からの経過日数をTextで表示させるだけのことがどうしてもできなくて。初日で躓いて我ながらショックでした。String型に変換するところはどうやったらいいんでしょうか。
308: (ブーイモ MM22-9w7q) 2023/11/24(金)10:26 ID:+4j3TyI8M(1) AAS
この辺は?
外部リンク:qiita.com
309: (ワッチョイ 91d4-fy5B) 2023/11/24(金)11:21 ID:URHkPMFM0(1) AAS
>>307
DateComponents, Calendar, DateComponentsFormatterを調べるとよい
外部リンク:auth0.com
310: (ワッチョイ 1174-Gmoz) 2023/12/06(水)09:59 ID:h+9TI6xe0(1) AAS
単純にString型にキャストしたら動きました。printすらないんじゃネットにある情報で習得しようと思っても動かしながら身につけるのが難しいですね。printが使えないplaygroundをかじるべきかもしれない。printと同等のものを出力させることができたら捗るけど。
311: (ブーイモ MM0a-gFlL) 2023/12/06(水)12:47 ID:yn+ji+f+M(1) AAS
想定する他の言語のprintと同じ動作するものがないっていう不満なのかな
何言ってるか分からん
312: (ワッチョイ 1110-JrwL) 2023/12/06(水)17:57 ID:xxeioPMX0(1) AAS
同じく何言ってるか分からなかった
printの動作に不満があるってことか?
313: (ブーイモ MM3e-gFlL) 2023/12/06(水)18:11 ID:ACsizq8cM(1) AAS
キャストじゃなくない?
314: (ワッチョイ 3774-rY2n) 2023/12/10(日)23:45 ID:z8YVVd3a0(1) AAS
いや、想像がつかないだろうけどprintがないんだよ
現在推奨のSwiftの仕様にはprintがないの
315: (ワッチョイ 3710-tASO) 2023/12/11(月)00:36 ID:suCCl44L0(1/2) AAS
はぁ?と思ったらSwiftUIのこと言ってんのか
ウィジェットでちょっと触っただけで普段使わないな
Swiftで十分よ
316: (ワッチョイ 3710-tASO) 2023/12/11(月)00:41 ID:suCCl44L0(2/2) AAS
ていうかSwiftUIとSwiftを混同するなよ
別もんだしSwiftUIでまともに開発してやつ見たことないわ
317: (ワッチョイ ff35-RTrI) 2023/12/11(月)01:10 ID:Wtm9Ko9j0(1) AAS
SwiftUIにprintがないなんて言い方する?
UIの話ならpreviewすればいいだけだし
Swiftの仕様にはprintはあるし
何がいいたいのか全くわからないよ
318: (ワッチョイ eb82-hmxp) 2023/12/16(土)23:08 ID:0fexV+0L0(1) AAS
同じく
319: (ワッチョイ 71ee-icwS) 2024/01/30(火)08:33 ID:vlP7/rzZ0(1) AAS
SwiftUIでmacアプリ開発してるけどたしかにprintはサジェストに出てこない
debugPrintならある
320: (ワッチョイ 6f40-Fmzm) 2024/06/12(水)03:02 ID:zzU8dTRc0(1) AAS
Swiftて技術書とか学習動画少ないな
SwiftUIだとさらに少ない
321: (ワッチョイ a32d-jMsA) 2024/06/12(水)08:19 ID:SGSVO8U00(1) AAS
そのうえ初期の頃は仕様がコロコロ変わってたから、
古本屋で安く買える技術書も、古い動画も
あまり役に立たないという…

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

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

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

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

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

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

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

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

OpenAI、ChatGPTの6つのモデルの違いと適切なプロンプトを解説
外部リンク:news.mynavi.jp

Microsoftの新規のソースコードの約3割をAIが生成、Nadella氏が明かす
外部リンク:news.mynavi.jp

スコットランドの住民を悩ます謎の怪音「ヘブリディアン・ハム」の正体はいまだ不明
外部リンク[html]:karapaia.com
382
(2): (ワッチョイ 46a8-Lof8) 05/24(土)03:37 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) 05/24(土)10:34 ID:iDI/w+P00(1) AAS
>>382
1. オーバーロード
2. ジェネリクス(T: Numeric)
3. プロトコル(Numeric)
4. Enum

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

>>383
ここで聞いてるのであって、gptとかはだいたい周知してるのでアドバイスにもなりません
わからないならレスしないでください
385
(1): (ワッチョイ 06ea-Lof8) 05/24(土)13:26 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) 05/24(土)14:29 ID:aVm4nxod0(1) AAS
>>384
おまえ、GPT使っててこれなのかw
救いようがないな
387: (ワッチョイ df15-Lof8) 05/24(土)16:56 ID:ISd6qXTY0(1) AAS
>>386
さすがにGPT連呼ウゼーわ
無脳ゴミ虫はロムってろ
388: (アウアウウー Sa2f-/ppz) 05/24(土)17:56 ID:6QA0+Pxwa(1) AAS
もちつけ
動画リンク[YouTube]
389: (ワッチョイ 46c5-Lof8) 05/24(土)20:29 ID:JkI4IB9+0(3/3) AAS
>>385
マジ、ありがとう!パーフェクトです
早速つかわしてもらいます
390: (ワッチョイ 6701-wCTo) 05/24(土)21:35 ID:/vXms6Z50(1) AAS
おまえ、あのクソコードで自演バレてないと思ってたのかwww
救いようがないなw
391: (ワッチョイ e76d-Od/L) 05/24(土)22:39 ID:xQOrGKFD0(1) AAS
うわぁ自演久々にみたわ
キッツーwww
392
(1): (ワッチョイ 5f48-7h9Y) 05/25(日)03:03 ID:tp/e59CE0(1) AAS
自演とか言うてるオマエラ
コーティングはどうした?

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

Gptに感謝W
395: (ワッチョイ 1b01-5KpO) 05/26(月)12:24 ID:mCNwP+3w0(1) AAS
こいつこれで自演バレてないと思ってるとかどういう頭してるんだよw
マジで頭悪すぎだろwww
396: (ワッチョイ 5301-G4JC) 06/10(火)10:38 ID:J5CIMo790(1) AAS
test
397
(1): (ワッチョイ fb08-G4JC) 06/10(火)10:51 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) 06/10(火)14:52 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) 06/10(火)21:15 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) 06/10(火)21:35 ID:kcNgEpD90(1) AAS
外部リンク:stackoverflow.com
これの回答?
401: (ワッチョイ fb08-G4JC) 06/10(火)22:03 ID:co9N3dhx0(3/4) AAS
>>400
いいえ 違います
402
(2): (ワッチョイ 0bcd-JxoL) 06/10(火)22:15 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) 06/10(火)22:48 ID:co9N3dhx0(4/4) AAS
>>402
ありがとう
ディクショナリー化して逃げることにします
404
(1): (ワッチョイ eb01-v8wM) 06/10(火)23:17 ID:HzGLhqs50(1) AAS
>>399
>これって、スペルミスしやすいですよね
だからマクロ・・・・・

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

すいませんが、サンプルコーディングみせてもらえませんか
お願いします
407
(1): (ワッチョイ fbe8-G4JC) 06/11(水)23:22 ID:Y6NiPAiA0(3/3) AAS
関数の引数に関数を指定した場合、引数の関数名取得して適宜分岐処理したかっただけでしたが、実質無理っぽいですね
いろいろと検索してたらObjectIdentifierなるものがあって、試したところ
引数の関数名は取得できないまでも、引数の関数の識別ができたので、解決しました
408
(1): (ワッチョイ 0101-v8wM) 06/11(水)23:36 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) 06/11(水)23:44 ID:xQ0zj3960(2/2) AAS
>>407
高階関数で受け取った関数を識別して分岐処理を書くのは一般的には筋が悪い実装だよ
理解した上であえてやってるならいいけどそうじゃないなら再考を勧める
410
(1): (ワッチョイ fbe8-G4JC) 06/12(木)00:07 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) 06/12(木)01:05 ID:huei3sVu0(1) AAS
>>410
>そもそも引数に関数ってのが、好ましくないのは承知してます
関数を受け渡しするのは別に悪くない
使う状況によってはむしろ好ましいことも多い
悪いのは関数を受け渡しする形にしているにもかかわらず
受け取った側でどの関数が渡されたかを識別して分岐しようとすること

@objcのは最初に書いてあるように一番面倒なやり方だからね
リフレクションを使いまくるような用途じゃなければ割に合わない
412: (ワッチョイ c170-PdR5) 06/12(木)12:08 ID:1TmeXXfD0(1) AAS
ありえん設計だな
何か根本的に勘違いしてるとしか考えられん
413: (ワッチョイ 199c-nbgv) 10/27(月)13:46 ID:94yXD1ih0(1) AAS
Apple発のプログラミング言語「Swift」でAndroidアプリの開発が可能に
外部リンク:gigazine.net
414: (ワッチョイ 8101-l9bj) 10/29(水)08:44 ID:/33m2d4b0(1) AAS
なんかもう言語とかフレームワークとかなんでも良くなってきてる感
どうせAIが書くし
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.729s*