プログラミング言語Swift Part4 [無断転載禁止]©2ch.net
1名称未設定 転載ダメ©2ch.net(8級) (ワッチョイ 33a8-bj6g)
2017/01/19(木) 03:18:15.58ID:YIGkvQUZ0iBooks:
The Swift Programming Language
https://itunes.apple.com/jp/book/swift-programming-language/id881256329?mt=11
Using Swift with Cocoa and Objective-C
https://itunes.apple.com/jp/book/using-swift-cocoa-objective/id888894773?mt=11
ドキュメント:
The Swift Programming Language
https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/
Using Swift with Cocoa and Objective-C
https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/
Swift Standard Library
https://developer.apple.com/reference/swift
他
http://swiftdoc.org/
https://swift.org/
https://developer.apple.com/swift/blog/
関連スレ
http://echo.2ch.net/test/read.cgi/tech/1476758084/l50
過去スレ
http://potato.2ch.net/test/read.cgi/mac/1408762479/
http://anago.2ch.net/test/read.cgi/mac/1401736921/
http://anago.2ch.net/mac/kako/1401/14017/1401736249.html
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
401名称未設定 (ワッチョイW 0f73-iuhE)
2023/02/10(金) 23:50:11.35ID:3hKl1UXF0 SwiftってAppleの作ったコンパイル型言語でなんとなくカッコ良さそう、速そうだから使ってみたけど
文の書き方が悪いのか知らんけどスクレイピング程度ならcurlやgrep組み合わせたシェルスクリプトの方が速い…
文の書き方が悪いのか知らんけどスクレイピング程度ならcurlやgrep組み合わせたシェルスクリプトの方が速い…
402名称未設定 (ワッチョイW cbc0-t27W)
2023/02/24(金) 07:57:19.60ID:R+5TCwsp0 その結果をスマホなんかで利用するからSwiftで書くんやないの?なにがしたいんだ
403名称未設定 (ワッチョイW 65b5-2pOO)
2023/02/24(金) 12:05:43.55ID:a585lW2i0 iOSアプリ作るために覚えるだけであって、それ以上でもそれ以下でもないと思う。
WEBサービス作らならPHPなりなんなりそれ用に覚えるだけ。
WEBサービス作らならPHPなりなんなりそれ用に覚えるだけ。
404名称未設定 (ワッチョイ c56e-1vwO)
2023/04/10(月) 12:50:49.53ID:oh/wg/lt0 突然の質問で申し訳ないです。
title,caption,valueを持つクラスインスタンスの配列を作成したいと思っています。
ただし、Allay要素内のvalueはIntだったりStringだったり別個のインスタンスだったりします。
以下のようなコーディングをしてみたのですが、Root<Int>をRoot<Any>へ変換出来ない旨のコンパイルエラーが発生します。
対応策としてプロトコルにassociatedtypeを設定してRootで準拠させようとしてもRootの時点で型を決めないといけないようで
同様なエラーとなってしまいました。
ElementA(〜) as! Root<Any> は always fails ですし
var elementArray: [Root<some Any>] も同様の結果でした。
何か良い方法はないものでしょうか?
import Foundation
class Root<T: Any>: NSObject {
var title: String
var caption: String
var value: T
init(title: String, caption: String, value: T) {
self.title = title
self.caption = caption
self.value = value
}
}
class ElementA: Root<Int> {}
class ElementB: Root<String> {}
class ElementC: Root<NSObject> {}
var elementArray: [Root<Any>]
elementArray.append(ElementA(title: "A", caption: "CapA", value: 10))
elementArray.append(ElementB(title: "B", caption: "CapB", value: "ABC"))
elementArray.append(ElementC(title: "C", caption: "CapC", value: NSObject()))
title,caption,valueを持つクラスインスタンスの配列を作成したいと思っています。
ただし、Allay要素内のvalueはIntだったりStringだったり別個のインスタンスだったりします。
以下のようなコーディングをしてみたのですが、Root<Int>をRoot<Any>へ変換出来ない旨のコンパイルエラーが発生します。
対応策としてプロトコルにassociatedtypeを設定してRootで準拠させようとしてもRootの時点で型を決めないといけないようで
同様なエラーとなってしまいました。
ElementA(〜) as! Root<Any> は always fails ですし
var elementArray: [Root<some Any>] も同様の結果でした。
何か良い方法はないものでしょうか?
import Foundation
class Root<T: Any>: NSObject {
var title: String
var caption: String
var value: T
init(title: String, caption: String, value: T) {
self.title = title
self.caption = caption
self.value = value
}
}
class ElementA: Root<Int> {}
class ElementB: Root<String> {}
class ElementC: Root<NSObject> {}
var elementArray: [Root<Any>]
elementArray.append(ElementA(title: "A", caption: "CapA", value: 10))
elementArray.append(ElementB(title: "B", caption: "CapB", value: "ABC"))
elementArray.append(ElementC(title: "C", caption: "CapC", value: NSObject()))
405名称未設定 (ワッチョイW c56e-OWr6)
2023/04/10(月) 13:02:33.94ID:KAEhlb8J0 AnyObjectにするとか?
406名称未設定 (ワッチョイ c56e-1vwO)
2023/04/10(月) 13:10:18.54ID:oh/wg/lt0 404です。
以下訂正
誤:var elementArray: [Root<Any>]
正:var elementArray: [Root<Any>] = []
解決策の一つとして var elementArray: [Any] = [] とすればelementArray.append(〜)のエラーは解決しますが、
最後に以下を実行すると"Nothing"が3つ表示されます。
elementArray.forEach({print(($0 as? Root<Any>)?.value ?? "Nothing")})
当然と言えば当然なんですが、なんとかインチキでできないものかと・・・。
以下訂正
誤:var elementArray: [Root<Any>]
正:var elementArray: [Root<Any>] = []
解決策の一つとして var elementArray: [Any] = [] とすればelementArray.append(〜)のエラーは解決しますが、
最後に以下を実行すると"Nothing"が3つ表示されます。
elementArray.forEach({print(($0 as? Root<Any>)?.value ?? "Nothing")})
当然と言えば当然なんですが、なんとかインチキでできないものかと・・・。
407名称未設定 (ワッチョイW 91a6-jv9C)
2023/04/10(月) 13:14:51.34ID:VlLpsHnQ0 変数を先に定義してもいいかもね。
あと一つのarrayに複数の変数入れるならinitとか使わんほうがいいとか
struct datafile {
let name: String
let size: Int
let time: Double
}
あと一つのarrayに複数の変数入れるならinitとか使わんほうがいいとか
struct datafile {
let name: String
let size: Int
let time: Double
}
408名称未設定 (ワッチョイ c56e-1vwO)
2023/04/12(水) 09:19:15.10ID:ooV5Ncg30 404です。
遅くなってすみません。
頂いた内容などを参考に結果として以下のような形になりました。
ジェネリクスクラスを辞めてvalueをAnyとすることでRootを要素とするArrayを作ることができました。
ありがとうございます。
ただ、ElementAのvalueはIntであることが(人間は)判っているのに value as! Int で必ずキャストしないといけないのが難点ですね。
すみません、改行が多いと怒られませいた。次レスへ続きます。
遅くなってすみません。
頂いた内容などを参考に結果として以下のような形になりました。
ジェネリクスクラスを辞めてvalueをAnyとすることでRootを要素とするArrayを作ることができました。
ありがとうございます。
ただ、ElementAのvalueはIntであることが(人間は)判っているのに value as! Int で必ずキャストしないといけないのが難点ですね。
すみません、改行が多いと怒られませいた。次レスへ続きます。
409名称未設定 (ワッチョイ c56e-1vwO)
2023/04/12(水) 09:21:02.27ID:ooV5Ncg30 改行を減らすために少し見辛くてすみません。
import Foundation
class Root: NSObject {
var title: String
var caption: String
var value: Any
init(title: String, caption: String, value: Any) {
self.title = title
self.caption = caption
self.value = value
}
}
class ElementA: Root {init(title: String, caption: String, value: Int) {super.init(title: title, caption: caption, value: value)}}
class ElementB: Root {init(title: String, caption: String, value: String) {super.init(title: title, caption: caption, value: value)}}
class ElementC: Root {init(title: String, caption: String, value: NSObject) {super.init(title: title, caption: caption, value: value)}}
var elementArray: [Root] = []
elementArray.append(ElementA(title: "A", caption: "CapA", value: 10))
elementArray.append(ElementB(title: "B", caption: "CapB", value: "ABC"))
elementArray.append(ElementC(title: "C", caption: "CapC", value: NSObject()))
elementArray.forEach({print($0.value)})
import Foundation
class Root: NSObject {
var title: String
var caption: String
var value: Any
init(title: String, caption: String, value: Any) {
self.title = title
self.caption = caption
self.value = value
}
}
class ElementA: Root {init(title: String, caption: String, value: Int) {super.init(title: title, caption: caption, value: value)}}
class ElementB: Root {init(title: String, caption: String, value: String) {super.init(title: title, caption: caption, value: value)}}
class ElementC: Root {init(title: String, caption: String, value: NSObject) {super.init(title: title, caption: caption, value: value)}}
var elementArray: [Root] = []
elementArray.append(ElementA(title: "A", caption: "CapA", value: 10))
elementArray.append(ElementB(title: "B", caption: "CapB", value: "ABC"))
elementArray.append(ElementC(title: "C", caption: "CapC", value: NSObject()))
elementArray.forEach({print($0.value)})
410名称未設定 (ワッチョイ b5b1-hp37)
2024/01/30(火) 14:33:22.81ID:WmNtoPHn0 結局、>>208は無理ってこと?
412名称未設定 (ワッチョイ 37f4-N+mF)
2024/02/05(月) 23:44:19.37ID:8ig6Khva0 Appleがシステム構成のためのプログラミング言語「Pkl」をオープンソースでリリース
https://gigazine.net/news/20240205-apple-pkl/
https://gigazine.net/news/20240205-apple-pkl/
413名称未設定 (ワッチョイ e9a5-chBO)
2024/08/16(金) 14:03:32.84ID:sro+h3w00 iPadのPlaygroundsでアプリが作れるそうですが
最新版はMacのPlaygroundsで
MacのアプリがBuildできるんでしょうか?
最新版はMacのPlaygroundsで
MacのアプリがBuildできるんでしょうか?
414名称未設定 (ワッチョイW 1f02-V315)
2024/08/23(金) 12:24:37.62ID:7qgXkpV90 どっかのスラム街かと思ってる
ゆうたろうがどこから辿るのかのワンパターン
ゆうたろうがどこから辿るのかのワンパターン
415名称未設定 (ワッチョイW ffb1-Jvp7)
2024/08/23(金) 12:57:44.38ID:uRp4R0p30416名称未設定 (ワッチョイW 9fe9-N/ou)
2024/08/23(金) 14:21:54.69ID:Sm3TBLbC0 運転手に入れるといいぞ
https://i.imgur.com/hcnQ8mE.jpeg
https://i.imgur.com/hcnQ8mE.jpeg
417名称未設定 (JP 0H2b-3jLj)
2026/02/04(水) 11:35:53.07ID:8GNyjUe6H 過疎だな
418名称未設定 (ワッチョイW f512-izHo)
2026/02/04(水) 14:13:46.62ID:E/UZee890 だな
419名称未設定 (ワッチョイ 5db1-O1sz)
2026/02/04(水) 17:50:23.75ID:axT66e1n0 Swift書いてるやつは雑魚率低いから5chには来ないんだよ
420名称未設定 (ワッチョイW f525-izHo)
2026/02/04(水) 17:54:54.03ID:pbRw2n2f0 単に人気がないだけじゃね?
421名称未設定 (ワッチョイ 5d2e-mW19)
2026/02/04(水) 18:01:10.87ID:E/SLBadX0 雑魚っていうやつが雑魚なんだからね
422名称未設定 (JP 0H2b-C7Iw)
2026/02/04(水) 23:11:41.61ID:Ou4VwKcOH ざぁ〜〜こ♡
423名称未設定 (ワッチョイ 75b1-AjfI)
2026/02/04(水) 23:23:44.24ID:g7rtZhHV0 「ざぁ〜〜こ♡」っていうやつは確かに雑魚だな
レスを投稿する
ニュース
- 【サッカー】第3次森保Jの初陣は白星発進 松木デビュー弾、塩貝の劇的な一撃…森保監督が試合に言及★2 [ゴアマガラ★]
- 「パキスタン人をこの国から追い出してやろうと」モスクなどに放火を認める 北海道江別市の37歳男に拘禁刑9年を求刑 [煮卵★]
- 自民党・岩屋毅前外相、27日訪中へ 関係修復の機運醸成はかる [少考さん★]
- ベッセント米財務長官の激怒も仕方なし…「高市政権の経済ブレーン」が危ない、トランプ大統領も怒り出しかねない [バイト歴50年★]
- 【アジア大会】卓球男子団体が60年ぶり金!ついに中国倒した 崖っ縁から張本&松島が連勝 3時間超熱闘 [征夷大将軍★]
- 富士山閉山期、登山届出さず救助→上限5万円の過料 静岡で来期から [少考さん★]
- 柏レイソル🏡
- vtuber、もうめちゃくちゃwwvwwvww [268244553]
- 「たのしいピクニック女」、女性を怒らせてしまったため、たくさん画像が作られる。★3 [347751896]
- セブンイレブン「おにぎり「税抜100円」で売るよ!!😲 [521921834]
- 【地獄絵図】千葉さん、現在の様子
- 【朗報】ホロライブの新人Vtuber、物理学博士ww [119158863]