X



Swift part11 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 2b11-WRiT)
垢版 |
2017/06/28(水) 17:58:29.74ID:KUDOoNV30
WWDC2014で発表されたAppleの新言語Swiftについて語りましょう

関連スレ

プログラミング言語Swift Part4
http://egg.2ch.net/test/read.cgi/mac/1484763495/

[SDK]iPhoneアプリ開発初心者質問箱48[touch][iPad]
http://egg.2ch.net/test/read.cgi/mac/1484217623/

Xcode part14
http://egg.2ch.net/test/read.cgi/mac/1476190499/

Swiftアンチスレ part1
http://mevius.2ch.net/test/read.cgi/tech/1458491343/


前スレ
Swift part10
http://mevius.2ch.net/test/read.cgi/tech/1487552413/

スレ立て時は1行目に「!extend::vvvvv」
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
0240デフォルトの名無しさん (ササクッテロラ Sp4d-rUtp)
垢版 |
2017/08/19(土) 12:28:05.32ID:yjxWeDHXp
どうせまたリスケするんでしょ、、、とか思ってるけど
それとは別にラットナー のgist記事がRustのオーナーシップモデルをディスっててワロタ
Rustライクなメモリ管理をSwift4で投入するって言って結局Swift5に持ち越したのは忘れんぞ

ファーストクラスの非同期とファーストクラスのオーナーシップモデルを並走させるのはキッツイだろうがどうするんだろうね
理論的には出来なかないだろうが時間も技術力も足りずどっちかSwift6に持ち越しすることになるんじゃねーのか
0241デフォルトの名無しさん (ワッチョイ 136c-ysxe)
垢版 |
2017/08/19(土) 12:40:33.92ID:H/3D3Ri60
オーナーシップは初めから「4には入れられないけど」「将来的に〜」ってエクスキューズしてた
オーナーシップを4のゴールに含めるなんて話は一度も出てないはずだが
0242デフォルトの名無しさん (ワッチョイ 59a9-KV95)
垢版 |
2017/08/19(土) 18:39:02.10ID:a8QxREVh0
思うんだけどrustのオーナーシップモデルって後付で入れられるものなの?
rustを見る限り無理そうだし、
スマホの性能もこれから上がっていく一方なのに学習コストが上がる
メモリオーナシップモデルって導入する意味あるのん?
0245デフォルトの名無しさん (ワッチョイ 196c-2J29)
垢版 |
2017/08/21(月) 16:47:08.07ID:/ym3MI5Q0
>>244
詳しく
0246デフォルトの名無しさん (ワッチョイ 7997-Z4cy)
垢版 |
2017/08/21(月) 17:20:19.06ID:mGn9ABqu0
>>245
CManeger.mmの関係しそうなところ
@property (nonatomic, readwrite) NSArray *hoge;
データ取得関数の最後に
self.hoge = hoge.array;
dispatch_async(dispatch_get_main_queue(), ^{
[self.delegate CManager:self didCompleteWithCandidates:self.hoge];
});
とあり、ブレークポイントはって確認すると、取得したデータがhogeにある。

HOGE-Bridging-Header.h
#import "CManager.h"

Hoge.swift
let objcCMng = CManager()
let ret = objvCMng.hoge
print(ret)

出力データは
Optinal([<CCandidate: 0x170226b80> , <CCandidate: 0x170226ce0>)]
という感じになります。
ただし、デバックエリアで確認するとself>objcCMng>_hoge>_orderedSet>_array>[x]>_hogeに取得データがあることは確認できます。
型変換か何か必要なのでしょうか?
0247デフォルトの名無しさん (ワッチョイ 096f-uL9b)
垢版 |
2017/08/22(火) 07:28:48.92ID:yXinq9w70
>>246
let ret = objvCMng.hogeを
let ret:Array! = objvCMng.hoge
にしてみたら?
0250デフォルトの名無しさん (ワッチョイ 136c-HoSW)
垢版 |
2017/08/22(火) 12:26:03.39ID:t4xHLqmy0
多分descriptionをオーバーライドしてなくてprintで<CCandidate: 0x170226b80>みたいに出力されるのと、型変換してなくて[AnyObject]?型のままになってるのの複合で混乱してるんだろう

前者はCCandidateのdescriptionを自分の望みどおりの出力をするようにオーバーライドすればいい
後者はSwift側で as? [CCandidate] するか、Obj-C側で @property (nonnull, nonatomic, copy) NSArray<__kindof CCandidate *> *hoge; とかすればいい
0253デフォルトの名無しさん (ワッチョイ 7997-Z4cy)
垢版 |
2017/08/22(火) 23:00:38.58ID:uTo9s4E+0
>>250
ありがとうございます。
書き込み頂いた情報を元に、objc-cの言語仕様を調べながら触ったんですが解決せず、AnyObjectに問題を絞りこんで見ました。

結果、出力部分のコードを書き替え、データの取得が出来ました。

for i in 0..<objvCMng.candidates.count{
let ret = objvCMng.candidates[i] as AnyObject
print(ret.candidate)
}


皆様、ありがとうございました。
0255デフォルトの名無しさん (ワッチョイ 5b8f-2J29)
垢版 |
2017/08/23(水) 14:27:29.61ID:QEgHjRh50
let blue = #colorLiteral(red: 0, green: 0.4577052593, blue: 1, alpha: 1)
let white = #colorLiteral(red: 0.7803494334, green: 0.7761332393, blue: 0.7967314124, alpha: 1)
let orange = #colorLiteral(red: 1, green: 0.5803921569, blue: 0, alpha: 1)
let red = #colorLiteral(red: 1, green: 0.2352941176, blue: 0.1882352941, alpha: 1)
0258デフォルトの名無しさん (ワッチョイ ad32-vBqz)
垢版 |
2017/08/28(月) 10:03:17.19ID:zqhpekJb0
ビルドに時間がかかるようになるだろ。型推論なんて使わないほうがいい
0261デフォルトの名無しさん (ワッチョイ c66f-c9Ri)
垢版 |
2017/08/28(月) 14:18:27.43ID:A8OmMbPi0
その解説だと型推論じゃなく数値型がstructであることが本質の問題だよね?

let a: Double = -(1 + 2) + -(3 + 4) + -(5)

double a = -(1 + 2) + -(3 + 4) + -(5);
で違いが出るならそれはコンパイラ組み込み型を常用せずstruct型扱うからでしょ

プリミティブ型削って構造体型を多用するSwiftはイマドキだよな
NSIntegerみたいに32bitなのか64bitなのか分からんことになるよりは良きも悪きもあるわな
0267デフォルトの名無しさん (ワッチョイ ca36-c9Ri)
垢版 |
2017/08/30(水) 20:15:16.63ID:thVvZo3p0
自分とこは業務でSwift使うの金かかりすぎると2.2の後は3にせずObjCに移行した
メンテ工数かかるし素直に実装し直しを検討した方が良いんではないかね

1.1から2.2まで商用コードをメンテした過去の自分らを褒めたい
0270デフォルトの名無しさん (JP 0H1f-6h2J)
垢版 |
2017/08/31(木) 11:59:18.93ID:JBBnINAhH
func sum(i:Int, i2;Int, i3:Int) -> Int{
return i + i2 + i3

-> Intが後ろの方にあるの、変な感じがするんですよ
func Int sum(i:Int, i2;Int, i3:Int)
こうしなかったのは、どうしてですか?
0274デフォルトの名無しさん (ワッチョイ bf2a-uJLR)
垢版 |
2017/08/31(木) 20:57:25.67ID:sd7zZNUq0
>>272
アレってtemplateの引数依存の戻り値を返したいからじゃなかったの?
コンパイラに型導出させてウマー、っていう

template<typename T, typename U>
auto operator+(const T& t, const U& u) -> decltype(t +u) { return t + u; }
0284デフォルトの名無しさん (ワッチョイ 3b5f-nqY2)
垢版 |
2017/09/21(木) 22:36:11.43ID:ejY1DQq00
xcode9で新規に画像がimageViewに表示されないんだが
xcode8で作成したものは9でも表示される。
iMacもMacBook Proも同じ現象なんだが俺だけだろうか
0286デフォルトの名無しさん (ワッチョイ 8a91-nqY2)
垢版 |
2017/09/22(金) 05:01:32.15ID:IsCSmXsD0
284ですが解決したので一応報告。
Xcode 9のバグでした。
画像をドラッグアンドドロップではシュミレーターで画像ファイルが
参照出来ない。
メニューから画像追加で表示されるようになりました。
0291デフォルトの名無しさん (フリッテル MM96-Jg5v)
垢版 |
2017/09/22(金) 19:38:37.70ID:sEiYNNriM
Swift4対応のXcodeにアップグレード完了した。。
0295デフォルトの名無しさん (スッップ Sd43-xQsE)
垢版 |
2017/09/28(木) 14:30:25.07ID:GYdlOiL5d
>>294
昨日の会議でSwift3.1対応が残課題で有ったんだけれど、もう4になったとは言わなかった。
0300デフォルトの名無しさん (ワッチョイ edd1-0tyN)
垢版 |
2017/09/28(木) 21:40:00.18ID:ZHeRPgDn0
実質同義なんだよなぁ
せめて費用対効果がObjC AppメンテよりSwift Appメンテの方が効率悪いと言えば良いのに
ObjCならメンテフリーとかアホなこと言うから突っ込まれる

さておき、このスレでもSwift2の頃にSwift採用したPMは死ねとPG視点で大合唱だったのに
まだSwiftを商用採用する企業いるのが悲しいのう、その頃に作ったものをメンテしてるのかもしらんが辛いな
0302デフォルトの名無しさん (ワッチョイ a36c-0tyN)
垢版 |
2017/09/29(金) 08:45:40.29ID:cOq2BguT0
iOS11でObjC Appがメンテできなくてアプリが減ったと言う話をしてたのに何を言ってるんだ・・・
「Objective-Cで書いときゃメンテフリー」とは一体何を指しているのか

あと、ObjCの話をしたいならObjCスレかせめてSwiftアンチスレに行けよ
別にApple信者じゃないからSwiftマンセーしてるわけじゃないのにObjCを笑われたからってSwiftスレで絡むなw
0304デフォルトの名無しさん (ワッチョイ 1b6d-TWXg)
垢版 |
2017/09/29(金) 15:29:33.62ID:YJXPiuk30
ああ、Swiftだったら簡単(?)なのにObjCだからメンテされなくなったとでも言ってるのか??まさかだが、そう思ってるならそれはナイな
お前みたいに変なこと言い出すヤツいるから聞きたくもないObjCの話が長くなるだろうにw
0305デフォルトの名無しさん (ワッチョイ 1511-YYQ2)
垢版 |
2017/09/29(金) 17:21:31.86ID:Q1ij4bLL0
開発環境の話
 ・Xcodeアプデ→言語VerUp→Swiftコード要メンテ
 ・ObjCならメンテ不要だった

ユーザー環境/ストアの話
 ・iOSのVerUpでObjCもメンテが必要になる
 ・Swiftの方が効率悪いと言えば良い
    ↑
 前提がズレてる

・ObjCだからメンテできなくなったって
・Swiftだったら簡単とでも
   ↑
 対偶的な意味でズレてる
0306デフォルトの名無しさん (ワッチョイ 2da9-ZTBj)
垢版 |
2017/09/29(金) 18:22:31.58ID:v+2E5EyQ0
swudt2あたりで知識が泊まってるんだけど今のswiftはどれくらい良くなった?
俺の中でoptional型の概念とか関数型の世界を見せてくれたswiftには感謝してる。
今はtypeScriptメインだけどね
0307デフォルトの名無しさん (ワッチョイ 45b3-3BEe)
垢版 |
2017/10/03(火) 05:32:06.56ID:0Z/dxYPK0
swiftは良いものだがRXとかReduxはライブラリ必要で恐ろしく書きかたが変わり危険なので個人的に好きじゃない
iOSはそもそもMVCなのでMVVMいけ
0308デフォルトの名無しさん (ササクッテロリ Spe1-3BEe)
垢版 |
2017/10/03(火) 05:40:48.76ID:Bfzhbq/jp
swiftのビルドの重さで新型Macが売れてます
ReduxとかRXのおかげでiPhoneのバッテリがガンガン減ります
結局ObCのほうが良かった、とかwww
0309デフォルトの名無しさん (ワッチョイ 45b3-3BEe)
垢版 |
2017/10/03(火) 05:44:54.28ID:0Z/dxYPK0
型推論とかでビルド遅くなるなら要らないけどな
Optional型も適切にnilチェックしてれば要らない
Macとか本売りたいだけなのかな
0310デフォルトの名無しさん (ササクッテロリ Spe1-3BEe)
垢版 |
2017/10/03(火) 05:53:20.06ID:Bfzhbq/jp
>ReduxとかRX
RXは書式が気持ち悪くて論外だが、Redux使うくらいならビジネスアプリはシンプルでライブラリレスなMVVMでしょ絶対に開発早いし
Appleはrxcocoa禁止したほうがいい
0311デフォルトの名無しさん (ワッチョイ 45b3-3BEe)
垢版 |
2017/10/03(火) 06:13:48.23ID:0Z/dxYPK0
xcode XくらいでAppleがMVVM的なフレームワーク出してくるかな
RXは早く死に絶えて
0314デフォルトの名無しさん (ササクッテロリ Spe1-3BEe)
垢版 |
2017/10/03(火) 22:32:52.14ID:djTGgeKPp
reduxの画面の更新
0315デフォルトの名無しさん (ササクッテロリ Spe1-3BEe)
垢版 |
2017/10/03(火) 22:43:47.08ID:djTGgeKPp
iOS11にしてからクソ
0319デフォルトの名無しさん (ササクッテロリ Spe1-3BEe)
垢版 |
2017/10/04(水) 11:34:12.56ID:1tM3PWaBp
swift+reactive なんて読めたもんじゃない
KVO地獄
0320デフォルトの名無しさん (ササクッテロリ Spe1-3BEe)
垢版 |
2017/10/04(水) 20:08:07.75ID:1tM3PWaBp
型なんか自分で書くのに・・
0326デフォルトの名無しさん (ワッチョイ 95b3-2iPL)
垢版 |
2017/10/05(木) 08:17:25.93ID:00L9WeAc0
99% varでいいよ、面倒くさいから
変わらないobjective-cの安定感がたまらん
超開発早いし
0327デフォルトの名無しさん (ササクッテロリ Sp75-2iPL)
垢版 |
2017/10/05(木) 08:23:57.77ID:4UOAx4bZp
新しいこと覚えるくらいならビジネスロジックを勉強するよ
言語だのリアクティブだの状態管理だの
フルスクリーンアプリじゃユーザーに全くメリットないし
業界に踊らされているだけ
0328デフォルトの名無しさん (ワッチョイ 95b3-2iPL)
垢版 |
2017/10/05(木) 08:54:59.74ID:00L9WeAc0
しっかりobject志向で作れば読みやすいしnullはチェックすればいいだけ
swiftでif letやguard書くようにobjective-cで書けばいいじゃん
ビルド速いしobjective-cで何の不満もない
swiftでreactiveで状態管理でとか、Appleがやってない事を無理矢理・・開発難航させるだけ
0331デフォルトの名無しさん (ワッチョイ b1eb-Iane)
垢版 |
2017/10/05(木) 21:45:45.83ID:Pl7oLNo/0
ObjCもプロパティアクセスはドット表記がモダンでnilアクセスで落ちるだろ
こんなんでアウトだ
return a.name.length;

まぁSwiftでもObjCの関数の渡ってきた変数は信用できずちょいちょい落ちるんだがな(ワロエン
0335デフォルトの名無しさん (ワッチョイ 95b3-2iPL)
垢版 |
2017/10/06(金) 00:42:47.95ID:/80lsBeB0
全変数なわけないだろカスwww
0336デフォルトの名無しさん (ササクッテロリ Sp75-2iPL)
垢版 |
2017/10/06(金) 00:48:43.39ID:nNBQ8Jr7p
Objective-Cはやっぱり凄いよ
0337デフォルトの名無しさん (ワッチョイ 95b3-2iPL)
垢版 |
2017/10/06(金) 00:51:42.72ID:/80lsBeB0
swiftのビルド時間がobjcの半分でもなったら使おうかな
型推論なんか時間の無駄
0338デフォルトの名無しさん (ブーイモ MMa1-Qg9h)
垢版 |
2017/10/06(金) 08:07:44.15ID:ELVXHTcrM
>>329
スレッド間競合でいつnil化されるか分かんね、ってケースか?

だったらスコープ内でローカルの強参照に放り込んでからnil判定挟めば自分のスレッドで当該スコープ内はしなないんじゃね
■ このスレッドは過去ログ倉庫に格納されています

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