トップページ⇒mac
981コメント273KB

let s: プログラミング言語? = Swift[2]

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001名称未設定2014/08/23(土) 09:55:25.03ID:vQdcSMFci
Appleの新言語Swiftについて語りましょう

Apple Developer
ttps://developer.apple.com/swift/
Welcome to Swift
ttps://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/LandingPage/

書籍iBooks:
The Swift Programming Language
ttps://itunes.apple.com/jp/book/swift-programming-language/id881256329?mt=11
Using Swift with Cocoa and Objective-C
ttps://itunes.apple.com/jp/book/using-swift-cocoa-objective/id888894773?mt=11
書籍の形にはなってないけどドキュメント
The Swift Programming Language
ttps://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/index.html#//apple_ref/doc/uid/TP40014097
Using Swift with Cocoa and Objective-C
ttps://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/index.html#//apple_ref/doc/uid/TP40014097
Swift Standard Library Reference
ttps://developer.apple.com/library/prerelease/ios/documentation/General/Reference/SwiftStandardLibraryReference/

Swift Blog
ttps://developer.apple.com/swift/blog/
Resources (Xcode 6が無料でダウンロードできる)
ttps://developer.apple.com/swift/resources/

関連スレ
Swift part3
http://peace.2ch.net/test/read.cgi/tech/1406083608/

前スレ
プログラミング言語Swift
http://anago.2ch.net/test/read.cgi/mac/1401736921/
0002名称未設定2014/08/23(土) 10:04:15.00ID:Ua4LMA5ui
スレタイも>>1も闇鍋言語 swift らしいスレだなw
0003名称未設定2014/08/23(土) 10:42:05.43ID:21bn9bpW0
なぜnilを許容するのか
0004名称未設定2014/08/23(土) 11:19:27.77ID:vQdcSMFci
しまった
let s: プログラミング言語? = Swift(part: 2)
ってすりゃよかった
0005名称未設定2014/08/23(土) 11:53:26.46ID:i/ODvkXe0
なぜ重複スレがたってんだよカス
0006名称未設定2014/08/23(土) 11:54:34.97ID:i/ODvkXe0
あ、名前変えたのか
0007名称未設定2014/08/23(土) 11:57:52.16ID:i/ODvkXe0
ん?やっぱわけわかんねーぞ

プログラミング言語Swift 3
http://anago.2ch.net/test/read.cgi/mac/1408762479/
0008名称未設定2014/08/23(土) 12:10:41.23ID:i/ODvkXe0
埋め
0009名称未設定2014/08/23(土) 12:42:54.78ID:Ua4LMA5ui
こっちの方が先に立ってんじゃねーかw
0010名称未設定2014/08/23(土) 12:47:04.78ID:i/ODvkXe0
タイトル変えたのがよくなかったんだよ
0011名称未設定2014/08/23(土) 13:19:35.93ID:vUov9+yQ0
ごめん あっちを立てた物だけど、このスレがスレッドあぼ〜んになってて見えなかった
こっちが先に立ってるからこっちで進めてください あっちは次のスレとしてでも使ってください
0012名称未設定2014/08/23(土) 14:17:51.81ID:vUov9+yQ0
スレッドあぼ〜ん解除しても次にスレッドの更新をかけるとまたスレッドアぼ〜んに戻って見えなくなる
どうしてだろ 別にNGThread 何かに登録してる訳でもないのに
0013名称未設定2014/08/23(土) 14:25:19.16ID:i/ODvkXe0
>>12
専ブラのバグじゃねーの?
0014名称未設定2014/08/23(土) 14:45:11.03ID:vUov9+yQ0
最新に今アップデートしてみたけど同じだな いくつかNGThreadに入れていたのもすべて削除したけど同じ

他に JaneDoe Viewを使ってる人は見えてるのかな?

この板でスレッドあぼ〜んとなってるのはこのスレの他には 
【新登場】2ちゃんねる快適ツール「浪人」。
http://anago.2ch.net/test/read.cgi/mac/9248888888/
これだけ
0015名称未設定2014/08/23(土) 14:57:56.83ID:Mwm8lB470
マカ板でWinの専ブラなんか使うからだろ
0016名称未設定2014/08/23(土) 14:59:21.36ID:i/ODvkXe0
ここは、BathyScapheユーザばっかりじゃねーの?
0017名称未設定2014/08/23(土) 15:01:20.42ID:vUov9+yQ0
お騒がせしました NGWORDに登録してたものをすべて削除したら良くなったみたい 何かバグが有ったんだろう
(でも 【新登場】2ちゃんねる快適ツール「浪人」。 と言うスレは全く姿を消した)
0018名称未設定2014/08/23(土) 15:31:25.77ID:vUov9+yQ0
早速 BathyScaphe を入れて初書き込み
板一覧が古くてiOS が見えない, iOSゲームの板名がiPhoneのまま 板一覧更新がない?
スレ違いだからこの辺で終わりにします
0019名称未設定2014/08/23(土) 16:16:41.46ID:5EQZjBV80
言語統一って、せいぜいxmlとc++でよくね?
0020名称未設定2014/08/23(土) 16:46:06.23ID:xODCpz4Ji
この話題のことかな?

未来では全てのプログラミング言語が1つになる?
http://www.gizmodo.jp/2014/08/1_189.html

C++ では限界が見えたからこそ新しい言語が生まれてきてるんだよ
C++ で満足出来るならSwiftなんか生まれないし誰も賛同しないよ

コンピュータ言語は黎明期の言語体系から殆ど進化していない
記号、ツールから抜け出せていない
もっと人間の言葉、学問の専門用語などを理解するようになって行くだろう

ロボットもヒューマノイドロボットがやっと立ち上がりかけているし、人間とコミュニケーションを取ろうと努力している

コンピュータ言語の進化系は幼児から専門家まで隔たりなく利用出来るようになることだろう
0021名称未設定2014/08/23(土) 17:32:29.41ID:i/ODvkXe0
>>18
「掲示板」メニュー→掲示板リストの同期
をすればいい
0022名称未設定2014/08/23(土) 17:46:56.17ID:Mwm8lB470
第2引数と書こうとするといつも、第2匹数と変換されることえりの馬鹿
0023名称未設定2014/08/23(土) 18:34:07.78ID:Ua4LMA5ui
>>20
自然言語を模したプログラミング言語が多数存在しているんだけどな、LiveCodeとかひまわりとか
それを使うのかというと、メリットもユースケースがなさすぎてユーザもプログラマも使わないけど
0024名称未設定2014/08/23(土) 18:55:10.30ID:0thnJkjh0
>>18
情報取得元が変更していないだけ。
0025名称未設定2014/08/23(土) 19:05:47.71ID:j6VbooA7i
>>23 上っ面だけ置き換えたものは余り意味が無い
例えば古くはCOBOL
拡張性や曖昧さを理解する懐の深さが無いと
0026名称未設定2014/08/23(土) 19:09:35.13ID:Ua4LMA5ui
新しく言ってくれ、老害言語を言われても分かりづらい
なでしこはいい感じだったぞ、LiveCodeはイマイチすぎたが

そして今更だが>>20が求めているのは自然言語入力インターフェースで
ロジックを組む言語は気にしてない気がしてきた
0027名称未設定2014/08/23(土) 19:29:04.23ID:5EQZjBV80
>>20
限界の意味が分からん

限界ってようするに長ったらしい構文のことだろ?

それはC++が限界なのではなく、.hに限界があるんだろ?

結局の所、この手の統一という話というのは.hをWikipedia形式にすることが最良だと思うんだよね
0028名称未設定2014/08/23(土) 19:41:20.39ID:5EQZjBV80
わかりやすくいうと、たとえばC++でもSwiftでもいいけど、オープンと歌ってるけど、何もオープンじゃないよね?

結局こちら側は読みとりのみ許可状態で、かゆいところをなおしたいと思っても権限がないわけだ

だからどの言語もいきづまる

これを回避するためには進化を続けるしかないわけだが、XMLのように厳格な基礎のみをおいて、残りは好きに編集させるのがよい。

たとえ違うネームの同じ処理があったとして、それはさしたる問題ではない。
そのように著作権を有しない、真の処理ライブラリが求められていると思うんだよね
わかりやすい形式としてWikipediaのようなやつね
0029名称未設定2014/08/23(土) 19:55:05.29ID:Ua4LMA5ui
コンパイラが気に入らないけど技術力なくて手が出せないからもっとライトな環境にしろ、が主張かな
ライブラリなら pip, gem, maven などと自由に楽になってるよ
0030名称未設定2014/08/23(土) 20:23:31.94ID:5EQZjBV80
勘違いしないで欲しいのだが、私は統一すべきだなどと思っていない。xp問題があうあうあーとかいってるどっかの富野とはちがってね

ただ統一するとしたら共通なライブラリとそれを元に分解する機能が必要で、それがあれば統一できると考えただけ

たとえば、varというものがわかりづらいとしてヴォーカルという名前にしたいとする。
var = ヴォーカルというものを作れば使えますとする。
で、さらにサバイブというものを作りたいとする、それはヴォーカルに387をかけた値だとする

そしたらサバイブ=ヴォーカル*387と登録すれば使えるとする

しかしこれでは他人はわからないので、サバイブを分解することができるとする。たとえば(ダブルクリックで)そうするとそこはヴォーカル*387に置き換わる

こういうものが世のみなから求められていると思う。

まあただの独りよがりな独り言です
スレ汚しすまそ
0031名称未設定2014/08/23(土) 21:34:23.80ID:Ua4LMA5ui
define で良いんじゃね?swiftにないけど
0032名称未設定2014/08/23(土) 22:47:16.03ID:2+ebs+2/0
極度に言語仕様に拘る奴がいるとチーム開発やりにくいよね
しかもメンバーに対して仕様に関する文句を言われても困るんだよな
開発元にメールするかチームから去れって思うんだけど
0033名称未設定2014/08/24(日) 07:38:45.35ID:4eBufhpn0
パターンマッチ ~= は、Standard library だと書いて有るけど Standard libraryに説明は無いし、例題も無い
if 1...10 ~= 5 { println( "範囲内" ) }
オーバラップしてパターンマッチを拡張出来るとも書かれてるが、標準で色々入れておいて欲しいな

文字列パターンマッチ
"the Swift" ~= "wi" // true など
0034名称未設定2014/08/24(日) 07:58:10.48ID:PiUHakg90
>>20
これなぁ
初見では「おお!」って思ったんだけどJavaみたいになったらアウトだし、モジュール的に複数の言語を使うのは(マークアップ言語やJS、PHPも視野に入れてるから)効率が逆にいいと思ってんですよぼかぁ
0035名称未設定2014/08/24(日) 10:32:21.39ID:dRwlKBNY0
>>33
>"the Swift" ~= "wi" // true など

~=はオーバロードしなければ標準で==と同じ動きするから、~=(String, String)でオーバーロードすると文字列でのswitchなど標準の動きを破壊するぞ
やるなら~=(NSRegularExpression, String)とかにしとけ
0036名称未設定2014/08/24(日) 11:20:10.41ID:eJluoFGX0
人が書かない時代になったら
簡便さより単純さを重視した言語の時代になるやろな
0037名称未設定2014/08/24(日) 11:28:25.28ID:OmhNnqPf0
easinessよりsimplenessということか
0038名称未設定2014/08/24(日) 12:47:22.59ID:4eBufhpn0
"A"..."G" ~= "B" //true  これは通るね

もう一つ解らないのが Switch 文で 

switch (1 , 2 ) {
case ( -2...2 , -2...2 ) :

この場合はOK(true)なのに

( -2...2 , -2...2 ) ~= ( 1 , 2 )
がエラーになる理由 コンパイラのバグかな?

Swift Standard Library に比較演算子として == と < の説明しかないのは手抜きだろうな
0039名称未設定2014/08/24(日) 12:55:31.80ID:2XPcoL6di
その辺の演算、比較の記号、ベータで絶賛更新中
書いたらドキュメント更新が大変だ
0040名称未設定2014/08/24(日) 12:57:37.31ID:OmhNnqPf0
それ、switchは関係なくね?
0041名称未設定2014/08/24(日) 13:22:13.76ID:UOksP5VVi
>>40 switch は、~= で比較すると書かれてるから同じ動作にならないとおかしく無い?
Expression Pattern の説明
0042名称未設定2014/08/24(日) 14:35:01.39ID:OmhNnqPf0
switchのcaseは、タプルの場合はタプルの個々の要素に対して ~=で比較してるんじゃないの?
タプル自体に~=演算を使ってるのではないのでは?

Tuples

You can use tuples to test multiple values in the same switch statement. Each element of the tuple can be tested against a different value or range of values. Alternatively, use the underscore (_) identifier to match any possible value.
0043名称未設定2014/08/24(日) 15:08:24.78ID:UOksP5VVi
“Expression patterns appear only in switch statement case labels.

The expression represented by the expression pattern is compared with the value of an input expression using the Swift standard library ~= operator. The matches succeeds if the ~= operator returns true.”
0044名称未設定2014/08/24(日) 15:21:32.53ID:UOksP5VVi
何れにせよ統一性が無いのは間違いの元だから修正されると思うよ

しかし何が標準文法で何がライブラリーなのか区別がつかないね
ライブラリーの文法を標準文法の中で使うのなら最低限ライブラリー説明書には入れておいて欲しい

自然に拡張出来るのは素晴らしいことだと思うけど

皆さんにお聞きしたいんですけど、どうして
== や < がライブラリーなんですか?
比較は標準文法外のライブラリーの守備範囲? それはそれで素晴らしいとも思えますがどこまでが標準文法なんでしょう?
0045名称未設定2014/08/24(日) 15:33:52.86ID:dRwlKBNY0
自分のなかの常識に縛られすぎじゃないの
0046名称未設定2014/08/24(日) 15:35:23.57ID:OmhNnqPf0
タプルって、そもそもEquatbleじゃないし、演算子も定義されてない
配列と違ってcompound typeだから、要素数が不定なタプルの統一的な演算子って書けないような...書けるのか?

~=は以下の型で使える

func ~=<T : Equatable>(a: T, b: T) -> Bool
func ~=<T>(lhs: _OptionalNilComparisonType, rhs: T?) -> Bool
func ~=<I : IntervalType>(pattern: I, value: I.Bound) -> Bool
0047名称未設定2014/08/24(日) 16:06:12.42ID:2XPcoL6di
C++にも演算子のオーバーロードあるし
defineでやりたい放題な環境になるし
swiftもしかりで真面目に切り分けようとするのは愚行
API referenceはあるし、それで切り抜けろ
0048名称未設定2014/08/24(日) 16:10:32.63ID:UOksP5VVi
>>46 その定義はどこに書いて有るんですか?
0049名称未設定2014/08/24(日) 16:40:26.15ID:OmhNnqPf0
>>48
Playgroundで、IntとかprintlnとかをCommand + クリックすると、その定義が見れるでしょ
そのソースの一番下に定義されてる
0050名称未設定2014/08/25(月) 14:59:37.96ID:DDCLfr9J0
GM明日です?
0051名称未設定2014/08/25(月) 15:10:31.78ID:F9KUcJJc0
文字列の操作がもやもやしてたけどこのページは参考になった

Swift Techniques: Strings
http://www.chrismontrois.net/2014/08/02/swift-techniques-strings/

ベースはiOS Developer Library のNSString で有る事は言うまでもないが
NSStringのネーミングは長すぎるからもう少し簡潔にしないんだろうか

このページの =~ で RegExをサーチするようなのを標準で入れるとか
(RegEX自体は古臭くて好きじゃないけど)
0052名称未設定2014/08/25(月) 15:16:12.85ID:Q6/R9Z+g0
RegExを関数に置き換えるようなのが有っても良いと思うんすよ
Not()とかRange()とかAny()とか
0053名称未設定2014/08/25(月) 16:26:53.14ID:c4zKJWTe0
変数の型を調べるうまい方法はないですかね?
0054名称未設定2014/08/25(月) 22:43:39.15ID:skAEvINY0
>>52
verbal expressions?
0055名称未設定2014/08/25(月) 23:00:34.64ID:zsA7o60A0
C++ の constexpr の様なのが欲しい
0056名称未設定2014/08/25(月) 23:36:02.72ID:QqLylDvWi
Pythonのtype()みたいのが欲しいです。
0057名称未設定2014/08/26(火) 00:26:45.76ID:2UMJDwPt0
>>54 Swift の VarbalExpressionsも出来てるね
https://github.com/VerbalExpressions/SwiftVerbalExpressions
// 例 Create an example of how to test for correctly formed URLs (注:全角空白使用)
let tester = VerEx()
  .startOfLine()
  .then("http")
  .maybe("s")
  .then("://")
  .maybe("www")
  .anythingBut(" ")
  .endOfLine()

// Create an example URL
let testMe = "https://www.google.com";

// Use =~ operator
if testMe =~ tester {
  println("We have a correct URL") // This output will fire
}
else {
  println("The URL is incorrect")
}
println(tester) // Outputs the actual expression used: "^(?:http)(?:s)?(?::\/\/)(?:www)?(?:[^

//Shorthand for string replace:
let result2 = VerEx().find("red").replace("We have a red house", with: "blue")
0058名称未設定2014/08/26(火) 08:14:44.32ID:k7xJfbWJ0
Javaの instanceof っぽいのが欲しいかな
0059名称未設定2014/08/26(火) 09:21:09.66ID:2UMJDwPt0
>>58 === じゃダメ?

Identical to (===)
Not identical to (!==)
Use these operators to check whether two constants or variables refer to the same single instance:
0060名称未設定2014/08/26(火) 10:15:20.71ID:KxpwCchCi
>>58 is じゃダメ?
is Type check
as Type cast

class Animal {
}
class Cat: Animal {
}

let mike: Animal = Cat()
mike is Cat
0061名称未設定2014/08/26(火) 15:55:22.87ID:+d5Roq1z0
swift…じゃなくXcodeの問題だけど、デバッガで停止して
po object
とかしても中身が表示されないし
無限ループにはまってしまったから一時停止してもループのところに止まってくれないし
エディタが正しく動作しなくて編集不能になったり無関係な位置に
スクロールが飛んだりするし
ObjCよりビルド時間が長いような気がする

Xcode6の正式リリースには使い物になるんだろうか。
0062名称未設定2014/08/26(火) 16:35:30.31ID:gctiERkfi
>>57 Objective-C バージョンを作った日本人の解説があった
http://d.hatena.ne.jp/KishikawaKatsumi/touch/20130812/1376310484

面白いのは、Objective-Cでは

この方法の課題としてはオーバーロードができないので、
例えばオリジナルの JS ライブラリでは `startOfLine()` と `startOfLine(bool)` という 2 つのメソッドがあるのですが、Blocks のプロパティだとどちらも同じ名前になってしまうので、引数付きのものだけ用意されています。

とあり、Swiftでは苦もなく解決出来てて
Swiftの存在ありと言う所

-------
このgithubのObjective-C バージョンに対する攻撃を見ると面白いよ。
https://github.com/VerbalExpressions/ObjectiveCVerbalExpressions/pull/3#issuecomment-33791698
JS likeにせずに [[[[[が続くObjCスタイルにしろとか、両方のスタイルをサポートしろとか勝手な事を言ってる
0063名称未設定2014/08/26(火) 20:54:18.28ID:FYP2uErM0
多分次がGMだよね?
本格安定は8.1になるんだろうか・・・
0064名称未設定2014/08/26(火) 22:16:10.22ID:2UMJDwPt0
>>63 そんなに早く無いだろ。 iPhone6発売直前にGMだろ、間にもう一、二回有ると思う
0065名称未設定2014/08/26(火) 22:21:01.61ID:FYP2uErM0
噂通り9/9にイベントならその日にGMリリースでしょう
もう新しくベータを出す時間無いですやん
0066名称未設定2014/08/26(火) 22:26:17.24ID:baeJT5kI0
今夜出なかったらもう無いな
Swiftの仕様確定宣言ぐらいはあるんじゃね
0067名称未設定2014/08/26(火) 22:30:48.71ID:2UMJDwPt0
そうか、発表後2週間後に発売なら9/9にGMが必要だね
0068名称未設定2014/08/27(水) 01:27:42.78ID:ZIOV5u9Y0
いよいよxcode6.0βが近づいて来ましたね^^
Swiftの超加速間近で勃起が治まらないっすわ^^
0069名称未設定2014/08/27(水) 01:28:28.46ID:ZIOV5u9Y0
訂正>>68→xcode6.0β脱皮ね^^
0070名称未設定2014/08/27(水) 10:45:28.00ID:4EKTwo0Y0
substringToIndex がエラーになるんだけどどうしてだろ?

var suffixes = "ABCD"
suffixes.substringToIndex(2) // これがエラーになる

"ABCD".substringToIndex(2) // これだとOK "AB" 
0071名称未設定2014/08/27(水) 11:24:52.42ID:SBZWoHoj0
>>70
suffixes.substringToIndex(advance(suffixes.startIndex, 2))
エラー内容や補完の型情報ちゃんと読めよ
IntじゃなくてString.Indexが要求されてる

ちなみにこれでもいい
(suffixes as NSString).substringToIndex(2)

"ABCD".substringToIndex(2)
こっちがOKなのはsubstringToIndex(Int)を読んでるからリテラルをNSStringと型推論してるから
0072名称未設定2014/08/27(水) 11:30:50.18ID:4EKTwo0Y0
解決
In beta 4, Swift's String.Index handling changed yet again -- you now can't supply an Int when a String.Index is expected.
The way to handle it is by creating the String.Index you need using the advance method:

var suffixes ="ABCDEFGHI"
var ix = advance(suffixes.startIndex, 2)
suffixes.substringToIndex( ix ) // こうしないといけないらしい "AB"

suffixes[2] // これも使えなくなって
suffixes[ix] // advance を使わないといけないらしい "C"

//rangeもそう
let startIndex = advance(suffixes.startIndex, 3)
let endIndex = advance(startIndex, 4) //startIndex+4 > 7
let range = startIndex..<endIndex // same as let range = Range(start: startIndex, end: endIndex) 3..<7
suffixes[range] // "DEFG"

こんなの変更履歴に書いていないよ 何処に書いてある?
めんどくさ過ぎる。 早くすっきりした仕様で整理してほしいよ
0073名称未設定2014/08/27(水) 11:32:29.76ID:Le72VMEU0
これもダメなのね

let s = "ABCD".substringToIndex(2)
s.substringToIndex(1) ← エラー

気が利くというか利かないというか...
0074名称未設定2014/08/27(水) 11:34:08.77ID:Nfqu/a7Wi
スナップショットで見れば別に困らないわけで
仕様変更があるベータを使うのは初めてか?力抜けよ
0075名称未設定2014/08/27(水) 11:42:33.55ID:Le72VMEU0
了解で〜す \(^o^)/
0076名称未設定2014/08/27(水) 11:47:38.68ID:4EKTwo0Y0
>>71 エラー情報を見ても String.Index 型をどうやって作ればよいかが解らなくて
Swiftマニュアルに何も書いていないからね StringはSwiftの型なのに

表面ではStringからNSStringをシームレスに使えると言ってて細かな所で2つに分かれていたりすると訳が解らなくなる
0077名称未設定2014/08/27(水) 12:13:23.56ID:Nfqu/a7Wi
>>76
Appleの言うことを鵜呑みにするから
適当に疑って使わないと馬鹿になる
0078名称未設定2014/08/27(水) 12:17:15.79ID:Nfqu/a7Wi
>>75
>>74は>>73宛だよ
あんたに言ってんじゃないよw
0079名称未設定2014/08/27(水) 13:34:14.23ID:16tGPY700
Xcode6がbeta5からbeta6になって治ったバグ

1 * 0.99 //0 (beta5バグ) 0.99 (beta6修正)
0.99 * 1 //0.99

1 + 0.99 //1 (beta5バグ) 1.99 (beta6修正)
0.99 + 1 //1.99


ところで、現時点beta6での仕様だが、
リテラル(1.0とか、"abc"とか文字で表現された定数値)の扱いが
NSNumberクラス型(正確にはクラスクラスタ)やNSString型になっていて、

一方で変数の扱い var s = "abc"や var i = 1 では、
String型やInt型に型付けされるので慣れないと混乱がある。

上のi = 1を使った
var j = i * 0.99 // jは0となり、こちらは「バグじゃなく仕様です。Xcode6 beta6時点。」となっている。
まず 変数iで左辺がInt型に型推論され、
それに従って0.99のNSNumber型のIntValueである0が適用され、1 * 0が0になるため。


Swiftの強力な型推論は、スクリプト言語のような(見た目も)易しい記述と
ネイティブコードの高速実行(実行中に変数の型チェックをしないで済む)を両立させている。
十数種類もあるメジャーなプログラミング言語候補の中では、
これを両立しているのが今のところSwiftしかない、たぶん。

ただ、上のように、Objective-Cとの連携も絡めた文法の調整などで、まだ流動的な部分はありそう。
0080名称未設定2014/08/27(水) 13:37:46.56ID:16tGPY700
>>79
x まず 変数iで左辺がInt型に型推論され
o まず 変数iで右辺がInt型に型推論され
0081名称未設定2014/08/27(水) 16:33:11.57ID:IL0SVQG+0
遊びでいじるなら面白いけど、まだ正式開発可能な段階には遠いな。
iOS8リリースと同時にストアに出すような計画してるところは、大変だろうな。
Xcode6正式リリース+仕様変更+大急ぎでコードの手直し

なんて事がありそう
0082名称未設定2014/08/27(水) 18:34:22.50ID:s//PLoRT0
ベータの初期でまだSwiftでリリースじゃないなと思うだろ普通。iOS8リリースと同時にストアに出すような計画しているところなら特に
まあ、それでもSwiftで薦め続けたところが無いと言えないだろうが、自業自得/無計画と言わざるを得ない。ベータの初期であーだったんだから
0083名称未設定2014/08/27(水) 18:59:47.27ID:CadjDfS3i
>>82 全く日本語が理解できない どこの国のおかた?
0084名称未設定2014/08/27(水) 19:06:23.12ID:s//PLoRT0
わからなくていいよ。自分のわからないのは日本語/日本人じゃないという単細胞ならとくに
社会に出たらわかると思うけど、俺でもなに言っているのかちょっとわからない文を書く社会人はいっぱいいる。もちろん生粋の日本人でw
0085名称未設定2014/08/27(水) 19:11:34.57ID:s//PLoRT0
あー、
>>82
×薦め
○進め
誤字ったなと思ったが、まあわかるだろうとほっといた。すまん
まあ、まさかそれだけではないだろうけど
0086名称未設定2014/08/27(水) 19:14:12.09ID:lwI3W8wFi
何言ってるか理解する必要は無さそうだけど
とりあえず、Shimejiがどうなるか楽しみだな
あの作者、 swiftでiOS IME作るって息巻いてたろ
0087名称未設定2014/08/27(水) 19:15:01.31ID:lwI3W8wFi
typo. simeji
0088名称未設定2014/08/27(水) 19:22:26.82ID:s//PLoRT0
そいうのはSwiftでやるのが第一なんだろうから苦しみでも何でもないんじゃないの。建前上はw
まさか Swift GM (Xcode 6 GM?iOS 8 GM?) が出た後でも、まだころころ実行に影響するようなとこを変えたりしないだろうし。ちょっとした産みの苦しみみたいなもの?Swiftがとんでも好きなら苦しみも微々たるものなんじゃね
0089名称未設定2014/08/28(木) 01:02:01.28ID:mW3D6gIp0
変えまくるやろ
固定するより便利で分かりやすくする方が大事やろ
0090名称未設定2014/08/28(木) 07:07:24.11ID:AA+1eZoo0
はぁ?
0091名称未設定2014/08/28(木) 07:46:21.66ID:cNGtrjCE0
String / NSString周りの仕様は大幅に変わると思うよ
ライブラリだからと言う理由でなんでも変更可能

NSString用のメソッドは全てString 用に作り直す必要が有るのでは?

この辺りがGMまでに整備されるとは思えない
NSStringを全てStringにするとなると全てのライブラリが書き直されるまで長い期間がかかりそう

Stringで1バイト文字から4バイト文字まで統一して扱えるのは素晴らしい事だがそれに伴う影響は甚大なものがある
実行時にチェックする必要もありパフォーマンスにも影響するね
そろそろ文字列操作専用エンジンを持つCPUが必要な時期では? OpenCL ?
0092名称未設定2014/08/28(木) 09:42:11.13ID:E9kIrrxp0
NSなんちゃらを全て排除で頼む
0093名称未設定2014/08/28(木) 11:02:36.54ID:iohyzG5R0
あえてCocoaの正規表現API使わずにSwiftだけで正規表現複数マッチ書いたらすごい回りくどくなってしまった
俺のコーディング力が糞なせいもあるけど
0094名称未設定2014/08/28(木) 11:53:33.96ID:3X/G85AU0
memberwise initializerのいい訳語を教えてくんなまし
0095名称未設定2014/08/28(木) 12:25:53.93ID:HedrfL4e0
メンバーワイズイニシャライザ
0096名称未設定2014/08/28(木) 12:26:49.16ID:cNGtrjCE0
メンバ変数初期化
0097名称未設定2014/08/28(木) 12:30:31.17ID:HedrfL4e0
マジレスするとApple公式日本語訳を待て
年内には出るだろ
0098名称未設定2014/08/28(木) 12:55:34.40ID:3X/G85AU0
MSも、訳してなかったり、「メンバーごと初期化」とか使ってるから
Appleの中の人もあまり期待できないかもね

ttp://msdn.microsoft.com/ja-jp/library/vstudio/x0c54csc(v=vs.110).aspx
0099名称未設定2014/08/28(木) 13:03:46.86ID:oruOVbax0
チンポが賢くなるイニシエーション
0100名称未設定2014/08/28(木) 15:06:11.31ID:cNGtrjCE0
Wikipedia が冗長だけど解りやすいかも

メンバをすべて引数に受けとるイニシャライザ(memberwise initializer)
0101名称未設定2014/08/28(木) 15:29:38.90ID:cNGtrjCE0
ここのパイプラインオペレータの作り方がおもしろかった

http://vperi.com/2014/06/05/function-composition-pipelining-in-swift/
0102名称未設定2014/08/28(木) 21:04:07.00ID:cNGtrjCE0
>>101 そこの |> パイプラインの関数の例えば plusOne , plusTwo 等の代わりに plus( x ) は
どうやればできるんだろう

func plusOne (x:Int) -> Int { return x + 1 }

infix operator |> { associativity left }
func |><T,U> (left: T, right:( T ) ->U ) -> U { //<<-- ここ?
return right(left) // <<-- ここ?
}
例 10 |> plusOne |> plusOne //11

これらを 次のようにするには?
// func plus (x:Int , y:Int) -> Int { return x + y } //?

例  10 |> plus(9) |> plus(1) //20 
0103名称未設定2014/08/28(木) 21:53:38.87ID:HedrfL4e0
>>102
カリー化すればいいんじゃないの
0104名称未設定2014/08/28(木) 22:13:58.72ID:TZcfoxvhi
とんちんかんな質問に見当外れのレスを返すスレはここですか?
0105名称未設定2014/08/28(木) 22:19:57.68ID:cNGtrjCE0
>>102 上の例は 間違い 
10 |> plusOne |> plusOne //12

>>103 お手本をお願いできませんでしょうか?
0106名称未設定2014/08/28(木) 22:29:34.74ID:HedrfL4e0
>>105

func plus (x:Int , y:Int) -> Int { return x + y }

// plus をカリー化した関数
func curriedPlus(x: Int) -> (Int -> Int) {
return {(y: Int) -> Int in
return plus(x, y)
}
}

10 |> curriedPlus(9) |> curriedPlus(1) //20


拡張して
// 任意の2引数の関数をカリー化する関数
func curry<T1, T2, U>(f: (T1, T2) -> U) -> T1 -> T2 -> U {
return {(a: T1) -> (T2 -> U) in
return {(b: T2) -> U in
return f(a,b)
}
}
}

10 |> curry(plus)(9) |> curry(plus)(1) //20
0107名称未設定2014/08/28(木) 22:37:58.64ID:cNGtrjCE0
>>106 有難うございました
0108名称未設定2014/08/29(金) 09:48:57.01ID:oGzfMTTC0
Swiftのアプリって最低でも8MBの容量食うんだ…名前の割に図体はデカくなるんだな。
0109名称未設定2014/08/29(金) 09:56:55.04ID:GoVEuopWi
2HDのフロッピーディク6枚分か...でかいな
0110名称未設定2014/08/29(金) 10:43:25.70ID:il9/LOo/i
軽いOSなら余裕で入るな、、、
0111名称未設定2014/08/29(金) 11:51:00.69ID:ZHZYbKWZ0
つまり軽いOSが入ってるようなものなんだよ
0112名称未設定2014/08/29(金) 13:31:32.45ID:Ojvt7SYW0
ObjCのアプリは最低で何MBなんだろ
0113名称未設定2014/08/29(金) 14:31:24.72ID:5zUL9CHC0
とりあえず、1M台はざらにあるな
0114名称未設定2014/08/29(金) 14:39:57.82ID:oGzfMTTC0
Xcode6でMaster-Detail型iOSアプリのひな形をそのままビルドした場合
Swift 8.1MB(バイナリ201KB)
ObjC 178KB(バイナリ144KB)
0115名称未設定2014/08/29(金) 15:14:16.75ID:6D4rJBQxi
swiftは swift <-> obj-c ラッパーライブラリがでかいのか?
何にせよバイナリロード(起動)に時間かかりそうだなw
0116名称未設定2014/08/29(金) 15:31:42.23ID:4uhqaFyf0
swiftのメリットが全くなくなるわ。
メモリ効率はスマフォにおいて重要なものの一つだろ
β版だけの問題だと信じるしかないな
0117名称未設定2014/08/29(金) 15:33:13.03ID:oCBeAgnN0
コンパイルされたバイナリの大きさってどうやって調べられるの?
0118名称未設定2014/08/29(金) 15:41:03.70ID:oGzfMTTC0
https://developer.apple.com/swift/blog/?id=2

Xcodeがサイズの小さな()Swiftのランタイムをアプリに埋め込むので、OSの
バージョンにかかわらずアプリを実行できます。

Swift自体もOSに関係なく今後ガンガン変わるかもしれないよ!ということですね。
0119名称未設定2014/08/29(金) 15:46:43.77ID:oGzfMTTC0
>>117
アーカイブを作ってFinderに表示、右クリックでパッケージをあけつつ階層をもぐっていく。
0120名称未設定2014/08/29(金) 16:02:28.14ID:lb5Y55+Ji
>>119
おぉ!でけました。サンクス!
0121名称未設定2014/08/29(金) 16:41:25.70ID:SdNeS3cvi
>>115
ラッパーではなく一種のランタイムをバイナリのケツにくっつけてるんではないかと想像。
想像が当たっていれば、各OSのバージョンが上がって行くに連れて解消していく問題と思われるが、さて。
0122名称未設定2014/08/29(金) 16:42:08.16ID:SdNeS3cvi
ああ、>>118に答えが書いてあるのか、失礼。
0123名称未設定2014/08/29(金) 21:14:08.58ID:acSUXh6Y0
コマンドラインでhelloworldやると24kbだった。まあこんくらいなら納得。cで8kbだし
gobjdump -dするとARC絡みっぽいシンボルが大量にあってランタイム部分なのも見て取れる

そうなるとiOSアプリでの8MBってのはなんなんだろか
0124名称未設定2014/08/30(土) 06:58:58.93ID:Arr9XNky0
>>123 デバッグモードでコンパイルしたものを見たのでは?
Moduleを見れば良いんでしょ?

.swiftmoduleだけだと小さいよ
0125名称未設定2014/08/30(土) 12:30:43.34ID:OXD+cSPB0
Xcodeで.appにパッケージ化すると.dylib類を全部パッケージに突っ込むんだよ
そうじゃないとXcodeが入ったマシン以外で起動しなくなる
0126名称未設定2014/08/30(土) 12:39:01.89ID:37B1kD1vi
>>118
ああ、ラッパーどころかランタイムか
小さい()ならいい方法だな!
0127名称未設定2014/08/30(土) 12:47:39.87ID:rSjISQH50
 現状、プログラミング初心者にMacやiPhone,iPadを買わせるための営業ツールだからな。
仕事で使う場合はXcode7からでいいと思う。
0128名称未設定2014/08/30(土) 23:42:16.73ID:9tS8oI950
プログラマ板が壊れたみたい
0129名称未設定2014/08/30(土) 23:55:18.86ID:Arr9XNky0
Swiftで文字列操作のライブラリ整備が遅れてるのはどうしてだと思う?
0130名称未設定2014/08/30(土) 23:57:15.54ID:1hOftm3q0
>>128
壊れてないと思うんだけども。
0131名称未設定2014/08/31(日) 00:41:20.96ID:ltyjB3vT0
>>128 今は回復してるけどちょっと前は壊れてたね。
>>129 Swift Blogを見たら Objective-C API のSwift 版を作成中だと書いてるからそう遠くなく整備されるのかな?
0132名称未設定2014/08/31(日) 01:26:45.40ID:mtB0941q0
>>129
・NSStringがあるから
・ほかに優先度の高いやることがまだたくさんあるから
0133名称未設定2014/08/31(日) 01:28:30.16ID:mtB0941q0
>>131
>Swift Blogを見たら Objective-C API のSwift 版を作成中だと書いてる

そんなことどこに書いてる?
0134名称未設定2014/08/31(日) 02:27:04.11ID:T5gKmGpP0
たぶん
>We're going to create a Swift version of an Objective-C API.
を見て勝手に妄想したんだろうね

相変わらずこの痛い子は英語がろくに理解できないようだけど
これは単にoptionalの説明をするためにObj-CのvaluesForKeys相当のものを
Swiftで実装してみよう、というcase studyの話をしてるだけだね
0135名称未設定2014/08/31(日) 02:28:46.18ID:ltyjB3vT0
https://developer.apple.com/swift/blog/?id=12
Aug 26, 2014
Optionals Case Study: valuesForKeys

We’re going to create a Swift version of an Objective-C API.

ごめん、感違いしたみたい。an になってるから
単にvaluesForKeysだけの事だった。
0136名称未設定2014/08/31(日) 10:13:11.90ID:fasEsd+Ki
今試せないんだけど、リリースビルドでのバイナリの容量はどうなってる?8MBも増えたらアプリの種類によってはダウンロード数に影響あるよ。
0137名称未設定2014/08/31(日) 10:52:07.59ID:DsdCuifa0
>>118だから実際のアプリには関係のない話だろ
0138名称未設定2014/08/31(日) 10:58:28.83ID:D6QxKOFCi
?
0139名称未設定2014/08/31(日) 13:35:15.11ID:/8D0MJ5r0
ストアでの配布サイズは>>118のように8MB必須でしょ。
OSのバージョンにかかわらず起動できるようにするというので。

で、インストール時にiOS8が不要なランタイムを削除する…ってことはあるのかな。
多分無いだろうな。バンドルされたランタイムのサイズは小さい()から
0140名称未設定2014/08/31(日) 19:06:40.72ID:iTJ3SWIGi
>>137
もしかして英語の読めないお人?
0141名称未設定2014/09/01(月) 04:00:05.18ID:vol+Lhb30
殆どは英語読めない層だろw
0142名称未設定2014/09/01(月) 10:28:45.20ID:gEqrnRvai
英語どころか日本語すら危ない
逆に英語の方が得意なんじゃね?
0143名称未設定2014/09/02(火) 15:36:30.49ID:8BHe5OCy0
指定イニシャライザとコンビニエンスイニシャライザの継承周りがちょっと分かりにくいよね
特に、コンビニエンスイニシャライザからはスーパークラスのイニシャライザを呼べないところとか、再定義していもオーバーライドにならないところとか
0144名称未設定2014/09/02(火) 16:01:11.31ID:1/y4mnPl0
Swiftで一つアプリケーション作ってみたけど、
肝心のXcode6の機能がぜんぜんだめ。
extensionを書くとシンタックスカラーリングが使えないバグ。
シンタックスカラーリングをオフにすると自動補完使えない。
特定のコードを書くと場合にコンパイル不能になるバグ
デバッガで途中で止めても変数の中身が表示されない(仕様?)
ビルドに異様に時間がかかる
完成したアプリケーションが大きい

StringとNSStringがいまいち違うからObjCから移植しようとすると大変
!と?の書き分けはいいんだけどデバッガが適切に教えてくれない。

Tupleで変数を返せる、クロージャを渡せるのがブロックとくらべてちょっと
簡単になった

こんなのを仕事で使わされている人が居たらかわいそう。
0145名称未設定2014/09/02(火) 16:16:45.71ID:8BHe5OCy0
9月9日の新機種発表会で、バグが一掃された素晴らしいXcode6の正式版がリリースされるはず
それまで辛抱だな
0146名称未設定2014/09/02(火) 16:39:09.90ID:8BHe5OCy0
しかし、イニシャライザのrequiredってどうゆう時に使うんだろ
使いどころで今一わからない
0147名称未設定2014/09/02(火) 17:04:24.66ID:GFyun9xmi
Stringを as NSString とみなして使って行けばNSString系の世界ではあまり混乱は無さそうに思うけど、
unicode 文字コードは適切に変換されて行くんだろうか?

as って便利な様で怖そうな機能に思う。 その時点でチェックや適切な変換が行われれば良いけど
0148名称未設定2014/09/02(火) 17:20:25.04ID:8BHe5OCy0
ユニコード同士だから大丈夫でしょ
文字列の長さは違ってくるだろうけど
0149名称未設定2014/09/02(火) 17:26:24.91ID:zb/r1ME5i
>>145
それは過信だと思うが

Xcodeのへっぽこさは今に始まったことじゃないし慣れだよな
使い勝手が悪くても他に選択肢ないし、我慢して使うものだ
0150名称未設定2014/09/02(火) 22:47:44.74ID:cdkAfg1g0
さすがに来週発表のバージョンでXcodeのバグが一掃とは思えないな。Swiftに関しては特に。
iOS 8もバグが残ったままでマイナーアップでなんとか改善していくだろう。
0151名称未設定2014/09/03(水) 00:58:40.12ID:HJtv0c2R0
>>149 unicodeと言っても何種類も有るけど、Swift内部コードはUTF8で統一されてるんだっけ? UTF16?
ObjCはUTF16だろ? 混在の恐れは無い?
0152名称未設定2014/09/03(水) 01:25:56.94ID:F8lBussB0
C string じゃないんだから
0153名称未設定2014/09/03(水) 01:54:51.68ID:DYIlNI670
>>147,151
印象だけで怖そうとか言ってないで検証コードの一つも書けよクズ
0154名称未設定2014/09/03(水) 07:57:32.52ID:1Gp4nk9Ji
>>151
swiftコードをビルドしたらobj-cヘッダを作るくらいに親和性()あるし気にするべくもなし
0155名称未設定2014/09/03(水) 09:52:58.75ID:I0IIaP4Gi
Swiftのアイコンって、ちんこがまんこにににゅ〜って入ってくとこみたいだよね
0156名称未設定2014/09/03(水) 11:06:08.58ID:Z7GU/3ue0
Swiftって、インスタンスの参照カウントがいくつなのか調べることはできないんでしょうか?
0157名称未設定2014/09/03(水) 11:46:14.91ID:ASEWNvs40
>>156
ObjCにSwiftオブジェクトを渡してやれば?
ObjCでも、デバッグ以外の目的で参照カウントに頼るのは良くないけど。
0158名称未設定2014/09/03(水) 17:01:07.24ID:Z7GU/3ue0
>>157
ARC環境だからNSObjectを継承してもretainCount()は呼び出せないんですね
ありがとうございました。
0159名称未設定2014/09/03(水) 17:12:07.68ID:I0IIaP4Gi
♪ベータは続くよどこまでも〜
0160名称未設定2014/09/03(水) 17:38:34.59ID:tmORLOhj0
>>158
ObjCならファイルごとにARC On/Offを切り替えられるよ。一つのアプリに両方混在できるし。
0161名称未設定2014/09/03(水) 17:40:34.25ID:DYIlNI670
CFGetRetainCount
0162名称未設定2014/09/03(水) 17:41:24.45ID:llKrbsv60
CFGetRetainCount
という手もあるが、暗黙的に1個(?)余計にretain(&autorelease?)されているっぽい?
0163名称未設定2014/09/03(水) 17:41:59.22ID:llKrbsv60
あ、被った。すまん
0164名称未設定2014/09/03(水) 18:24:26.90ID:9uD60Vdo0
>>155
すごい、この発想はなかった。背景と絵柄を逆転して見るとそう見えなくもない。
チャレンジングな視点が新しいソフトウェア開発を切り開いていくに違いない、けどそうでないかも知れない、どっちだ?

>>156
>>157
>>158
できる。
NSObject無しのSwift単体でオブジェクトの参照カウントチェックは可能。

まず、SwiftのファイルMySwift.swiftに、NSObjectでないクラスを作る。

@objc class MySwiftNonNSObject {

class func myNewMethod() -> MySwiftNonNSObject
{
return MySwiftNonNSObject()
}

init() { NSLog("I'm Swift.") }
}

(続く)
0165名称未設定2014/09/03(水) 18:27:57.96ID:1Gp4nk9Ji
もうちょっとだけ続くんじゃよ
0166名称未設定2014/09/03(水) 18:28:15.23ID:9uD60Vdo0
>>164 (からの続き)
次に、Objective-CファイルMyObjC.mを一つ足して、その中に(仮想的な?)ヘッダとコードを書いて、testメソッドを動かす。

#import "プロジェクトの名前-Swift.h"

- (void)test
{

MySwiftNonNSObject *obj =
[MySwiftNonNSObject myNewMethod];

uintptr_t _objc_rootRetainCount(id obj);
NSLog(@"Swift retain count = %lu \n",
(unsigned long)_objc_rootRetainCount(obj) );

}

動作確認済み。
0167名称未設定2014/09/04(木) 09:39:57.32ID:p7bZOX6pi
しかし、先走ってSwift関連の本だしたとこも、仕様の変更に追随しないといけないから大変だな
追随....してんのか?
0168名称未設定2014/09/04(木) 10:11:10.94ID:33CV5hZ+0
>>167
Swift離陸ガイドは正式版までは追随すると言ってるし、実際b6までは対応済み。
他は知らないけど、紙の本とかは無理じゃないかな。
0169名称未設定2014/09/04(木) 10:16:54.57ID:CI5Oq+czi
紙の本は第x版って更新するものだろ...
単発の swift本 にそこまで金かける理由もないだろうがw
0170名称未設定2014/09/04(木) 12:35:11.44ID:N5VCKixf0
正式版っつってもなぁ
バイナリ埋め込みのランタイムで互換性確保してるから、この1、2年はSDKのバージョンアップサイクル無視してSwiftだけ変更入りまくる気がしないでもない
0171名称未設定2014/09/04(木) 13:59:53.21ID:WnF1utAC0
紙の本もウエブで訂正を出してるし、例題も訂正済みの物をダウンロードできるようにしてるよ
紙の本でもう第2版が出てるのも有る

でもなんでこんな時期に紙の本を出すかな。 かなり高い金額でも買う人間が多いからかもしれないけど
0172名称未設定2014/09/04(木) 17:57:13.16ID:18NULd310
AppleはCocoaではAPI更新しても旧OSに対するランタイムの配布はしたことがないから
ランタイム同梱のSwiftでどういう措置をとるのかは興味深い
0173名称未設定2014/09/04(木) 20:33:11.18ID:WnF1utAC0
β7 の内容を見る上手く行ってiPhone6発売日にGM位じゃ無いかな
0174名称未設定2014/09/04(木) 20:55:35.63ID:p7bZOX6pi
中の人は今頃徹夜続きなんだろうな
0175名称未設定2014/09/04(木) 23:00:51.90ID:hoOiHEaH0
ゲーム屋なんだがUnityに完全移行したわw
アップルのオレオレ路線ともオサラバwwww
0176名称未設定2014/09/04(木) 23:11:39.43ID:dLu09CnA0
オレオレ路線に追従しているのがUnityなんだがな。自分の無能を他のせいにしない方がいいよ
0177名称未設定2014/09/04(木) 23:38:58.83ID:xamwygYX0
オレオレ路線はUnityに任せて
Mac以外にもゲームが出せる、
ええことやろ
0178名称未設定2014/09/04(木) 23:43:39.81ID:p7bZOX6pi
ベータ7をDLしたら、Swiftのプロジェクトをシミュレータで動かせなくなったんだが
俺だけかね?
0179名称未設定2014/09/04(木) 23:50:10.60ID:uw4vkcb0i
>>173
それはいつものことだろ
何を言ってるんだ?
01801782014/09/04(木) 23:53:52.55ID:p7bZOX6pi
いや、Mac再起動したら治った
スマソ
0181名称未設定2014/09/05(金) 01:30:09.61ID:s0smc+xM0
モデルのロジックも、コントローラのロジックも、ObjC, Cでも、Swiftでも混在で使い分けしたいなぁ。今の所は。
Cocoaとかフレームワークとの連携はまだ前者の方がしっくり行く。
でも後者Swiftの自由さと言うか柔軟性も魅力的。早くフレームワークとの歴史が深まる事が肝要か。つまり、ある程度出来たら、実験的でも正式扱いで世に出すのが良いかも、ね。
0182名称未設定2014/09/05(金) 01:51:03.78ID:NUi7DK0j0
自由さなんて明らかにObjC+Cの方が上なんですが
0183名称未設定2014/09/05(金) 02:04:32.88ID:NgC06ey40
[[[ObjC alloc] init] retain];
0184名称未設定2014/09/05(金) 06:35:26.28ID:VoKULWiU0
xcodeをベータ7にしたら大量のエラーとワーニング
いい加減仕様を確定させて・・・
0185名称未設定2014/09/05(金) 12:33:41.94ID:yybHeIEq0
>>183
1行で使ったこと無いのがわかるなw
0186名称未設定2014/09/05(金) 18:00:14.35ID:dso9Gzoz0
当初に比べるとスレの勢い落ちたよな
もうみんな飽きたのか?
0187名称未設定2014/09/05(金) 18:13:37.17ID:CNu17Wmwi
夏休みが(ry
0188名称未設定2014/09/05(金) 18:15:01.39ID:i7/oiyon0
凄まじいばかりの怒濤の仕様変更への追随にみんな疲弊してしまったよね
0189名称未設定2014/09/05(金) 19:05:34.37ID:exGL6IQui
だってもう使ってる人間しか話題に入れないだろうし、使ってる人間は忙しいだろうからGM以降にならないと発言してる暇はあまり無いだろ。

そう言えば子飼はダウンロード中に暇つぶしの発言をするくせが有るみたいだが、今回は何か発言あったかな
と見たらしっかり発言してた
0190名称未設定2014/09/05(金) 19:10:54.12ID:exGL6IQui
>>189
Optional型に関するさらなる改良
http://qiita.com/dankogai/items/0e8bdf6a32cca2ed2b7d

今回ははじめて更新してからこれを書いたのですが、私がgithubに上げている主なswiftプロジェクトはほとんど無変更で動きました。一月前ぐらいが嘘のようです…

Xcode 6 Beta 7での変更点への対応
http://qiita.com/waytoa/items/f5692327dbca832f40e4
0191名称未設定2014/09/05(金) 19:18:51.70ID:bD9cERru0
まさか言語仕様を固める前のシロモノにbetaなんてマーキングするとは思わなかったよ
alpha以前だろこれ
0192名称未設定2014/09/05(金) 20:32:21.72ID:yybHeIEq0
まあalphaでもいいと思うけど。動いてみせられるのだから
betaにしては仕様変更おおすぎというのは大きくうなずく
0193名称未設定2014/09/05(金) 23:32:46.35ID:nDRwZXJ90
でも来年になって色々変えたら怒るやろ?
0194名称未設定2014/09/05(金) 23:40:20.18ID:0YxLFe980
いや来年また色々変わるのは確実だろw
0195名称未設定2014/09/06(土) 00:34:11.58ID:xDPvY3/10
>>185
やっと突っ込み入れてくれる人がいた
retainとalloc一緒に書くことなんて普通ないからなw

Objective-Cなくなってほしくないというメッセージのつもりっすw

普通書くとしたら、
[[[Obj alloc] init] autorelease];
とかだな
0196名称未設定2014/09/06(土) 00:35:10.68ID:JXSZ4ik/i
ARC使えよ原始人
0197名称未設定2014/09/06(土) 00:36:42.90ID:xDPvY3/10
>>196
この泥臭さが好きなの///
0198名称未設定2014/09/06(土) 00:37:57.30ID:k9uJ3Ll/0
Objective-C 2.0 が最初のからちょこちょこ変えたぐらい、または、それ以上に変わるかもしれないが、
一度は仕様を固めないとおちおち使ってらんねえってとこだな。betaだから後方互換なにそれだろうが、一度固めた仕様のは後方互換をちゃんとするだろう。たぶんw
0199名称未設定2014/09/06(土) 00:41:10.17ID:SMLEvxfR0
基本言語仕様自体は単純で変幻自在だから、言語仕様は変わらないでもライブラリの変化は結構有ると思うよ。
String 、Array 、+ などのオペレータまでライブラリ扱いだからな。なんでもありな気がする。 拡張の方向での変化なら歓迎だけど
0200名称未設定2014/09/06(土) 00:42:29.80ID:k9uJ3Ll/0
>>195
その言い分を信じてやろう…w
0201名称未設定2014/09/06(土) 00:49:01.76ID:xDPvY3/10
>>200
ありがとう!w
0202名称未設定2014/09/06(土) 01:09:51.52ID:rtTvcgT30
まあでも、ARCがない頃のソースを見て、ニマニマすることがあるので、わかる気がする。
新しく作るならARCなしは嫌だけど
0203名称未設定2014/09/06(土) 01:43:31.59ID:gq1fEixt0
そもそもObjじゃなくてClassだろっていう
0204名称未設定2014/09/06(土) 01:49:21.31ID:xDPvY3/10
>>203
これでどうだw

[[[Class alloc] init] autorelease];

適当にノリで書いてるだけです、すみませんでした
こまかなところは勘弁してください。。
0205名称未設定2014/09/06(土) 08:35:39.26ID:JXSZ4ik/i
Classは予約語だろがハゲ!
0206名称未設定2014/09/06(土) 10:17:00.77ID:JXSZ4ik/i
下の1と2は出来るけど、3を出来ない様にしたいんですけど、どうしたらいいですか?
friendsプロパティをlet にすると、1と2 もできなくなります。

class Hunter {
  let name: String
  var friends = [Hunter]()
  init(_ name: String) {
    self.name = name
  }
}

let gon = Hunter("ゴン")
// 1
gon.friends.append(Hunter("キルア"))
// 2
gon.friends += [Hunter("クラピカ"), Hunter("レオリオ")]
// 3
gon.friends = [Hunter("ヒソカ"), Hunter("イルミ")]
0207名称未設定2014/09/06(土) 10:23:50.06ID:xDPvY3/10
>>205
(´;ω;`)
0208名称未設定2014/09/06(土) 11:37:28.47ID:wmMoN8zKi
>>207
Clazzで置き換えたサンプルはよ
0209名称未設定2014/09/06(土) 13:08:59.76ID:pfGf3PlO0
>>206

class ArrayProxy<T> {
private var array = [T]()
func append(newElement: T) {
array.append(newElement)
}
}
func +=<T>(lhs: ArrayProxy<T>, rhs: [T]) {
lhs.array += rhs
}

class Hunter {
let name: String
private(set) var friends = ArrayProxy<Hunter>()
init(_ name: String) {
self.name = name
}
}

let gon = Hunter("ゴン")

// 1
gon.friends.append(Hunter("キルア"))
// 2
gon.friends += [Hunter("クラピカ"), Hunter("レオリオ")]
// 3
gon.friends = [Hunter("ヒソカ"), Hunter("イルミ")]
0210名称未設定2014/09/06(土) 13:27:41.82ID:JXSZ4ik/i
>>209
あぁそういう配列を作ればいいんですね。めんどくさいけど。
ありがとうござますった。
0211名称未設定2014/09/06(土) 13:33:10.25ID:JXSZ4ik/i
あ、でもprivate(set)っていらなくないですか?
0212名称未設定2014/09/06(土) 14:02:11.22ID:JwtUDp9Zi
>>206 3番目を禁止したい理由は何?
既に要素が入ってたら上書きを許したく無いと言うだけ?

だったら friends の定義にsetでチェックを入れるだけで済むのでは?
0213名称未設定2014/09/06(土) 14:17:28.44ID:qN6Xn1WA0
>>212
いや、たんにObjective-CでのNSMutableArrayのReadOnlyなプロパティと同じようにしたかっただけなんですが、

@interface Hunter : NSObject
@property (readonly) NSMutableArray *friends;
:
@end

よく考えたらSwiftの配列は値型なので意味無かったですね
0214名称未設定2014/09/06(土) 14:20:14.18ID:k9uJ3Ll/0
そもそも、
@property (readonly) NSMutableArray *friends;
がおかしいんじゃねっていう、本論とは無関係な話
0215名称未設定2014/09/06(土) 14:26:36.51ID:qN6Xn1WA0
>>214
いや無関係ではないですよ
Objective-Cから移植しようとした時に考えることになるから
0216名称未設定2014/09/06(土) 15:00:47.64ID:k9uJ3Ll/0
Appleの作ったフレームワークではMutableのプロパティは存在しない(と思う)
そんなの想定外であってもおかしくないな
0217名称未設定2014/09/07(日) 19:24:54.60ID:FqevvFWa0
>>216
AVFoundationにあるよ。
0218名称未設定2014/09/08(月) 21:11:04.32ID:f8V+lJ8Ti
構造体の参照扱えないのがほんと不便、というかイライラする
たぶん実行速度に対した影響は出ないんだろうけど…
0219名称未設定2014/09/08(月) 22:05:01.85ID:YSlRKdw40
>>218
構造体は値型だから、参照扱えたらまずいのでは?
0220名称未設定2014/09/08(月) 22:15:08.50ID:xEndwuJFi
あたいもそう思うわ
0221名称未設定2014/09/08(月) 23:18:56.01ID:CC77Hg8l0
>>219
いやCライクに使いたいなってこと
0222名称未設定2014/09/08(月) 23:36:37.85ID:vPBF+kQ40
Cライクにとはよく分からんけど
C構造体のポインタは宣言できるし
メンバへのアクセスはptr.memory.memberとすればできるでしょ?
0223名称未設定2014/09/09(火) 03:40:08.37ID:I47KakLvi
Swiftでは構造体や、配列や辞書も参照型でなく値型にしている。
これは他の有名な言語にはあまりない珍しい性質で、
オブジェクティブCでもNSArrayやNSDictionaryは当然参照型である。

なので、慣れ親しんだ感覚と少し違う手順を踏む必要があるかも知れない、とは言ってもInt値のように値渡しを意識、というだけだが。

例えば、構造体内の各メンバの書き換えには、構造体の中にmutating funcを書かないといけない。
あと、構造体のコピーは値渡しなので、もちろん元データは書き変わらない。

しかし一方で、この値型という性質によりスレッドセーフに扱え、しかもGCDとの合わせ技を使うことで、極めて強力に機能するはず。

プログラマは、スレッドの管理をできるだけGCDに任せて直接タッチせず、
しかも重要で多用されるデータ型式が値型で安全に並列処理できるのであれば、
現状で、主要な実用言語においてほぼ唯一の大きなアドバンテージをSwiftが持っていることになる。

マルチCPU(スレッド)プログラムを神経質にならずにサクッと楽に書けて、
しかもARMやX86のネイティブコードが走るような並列・超高速言語は今、Swiftしかない。

比較的文法が易しくてしかも強力なSwift、いまから勉強しておく価値は絶対にある。
0224名称未設定2014/09/09(火) 04:55:45.74ID:uQDHlG3G0
比較的文法が易しくてしかも強力な○○
○○には好きな言語名を入れてね
0225名称未設定2014/09/09(火) 07:25:16.37ID:WiX0nJNmi
長いのでオチまで読み飛ばした
オチは悪くなかった
0226名称未設定2014/09/09(火) 07:41:23.60ID:vQ4GqDXy0
本当にSwiftは速いの?
ベンチマーク有る?
0227名称未設定2014/09/09(火) 08:09:13.79ID:Ri7kLzFdi
今時言語の遅さがネックになるのってよっぽど処理負荷の高い高度なゲームアプリぐらいだろ
0228名称未設定2014/09/09(火) 08:34:30.24ID:Ri7kLzFdi
構造体、配列、ディクショナリが値型ってことは、こいつら全部ヒープじゃなくてスタックに置かれるって認識でいいのかな
0229名称未設定2014/09/09(火) 09:26:47.32ID:WFbqoro6i
参照ってin outでできるんじゃなかった?
0230名称未設定2014/09/09(火) 11:40:30.67ID:Ri7kLzFdi
Playgroundのコードが長くなると、Console outputに出力されるまでに結構タイムラグがあるな
0231名称未設定2014/09/09(火) 11:43:55.85ID:MF2cA+BD0
>>223
値型のmutatingメソッドはスレッドセーフじゃないぞ
0232名称未設定2014/09/09(火) 16:23:46.14ID:q5IGML2Zi
>>226 何と無く、LLVM使ってるからコンパイルスピードが速い見たいな感じ。
Objective-Cとのスピードテストはオブジェクトのソートと言う特殊条件だったらしい

Swiftのスピードがわかる様になるのは並列処理対策が済んだ頃じゃ無いかな。
並列処理はかなりのウエートで考えてる気がする
今後のプログラムは並列処理抜きには語れ無い
0233名称未設定2014/09/09(火) 16:43:18.74ID:QZucVuTJi
iOSで並列処理?そんなやらないと思うが
Mac OSは死に体だから知らん、 Widgetなくしやがって折角作ったアプリがパーだ
0234名称未設定2014/09/09(火) 16:49:36.54ID:AG01uHj50
×iOSで並列処理?
○iOSで処理効率処理スピードを上げるための並列処理?
0235名称未設定2014/09/09(火) 16:58:18.75ID:q5IGML2Zi
>>233 今はまだデュアルコアだから単一プログラムの並列処理はほとんど効果無いからあまり意味無いけど、数年以内にコア数はどんどん増えて行くはず、もう周波数を上げると発熱に対処出来無いから。

来年辺りは4コアは確実だろう。数年以内にその倍以上にはなるはず

iOSではなく、デスクドップやサーバでは既にその時代に入ってる
最近出て来た言語が並列処理を掲げているのは当然の事。
Swiftが考えていないわけが無い。
0236名称未設定2014/09/09(火) 17:20:03.43ID:R593ZGV40
並列処理なんて言語仕様に入ってないんだから別にSwiftの利点じゃないだろ
0237名称未設定2014/09/09(火) 17:26:58.02ID:x5qNCWPFi
>>235
来年辺りの4コアはもう確実だろうが、
日本時間で今日深夜2時発表のiPhone6で4コア搭載の可能性もある。

Swiftの完成度や仕様に多少揺らぎがあったとしても、
発表を来年の6月まで延ばさずに、今年のWWDC2014にしたのはいい判断だと思う。
0238名称未設定2014/09/09(火) 17:42:07.81ID:q5IGML2Zi
>>236 クラス以外はValue typeなんだからコンパイラで自動的に並列化が出来る

その可能性を持たせた言語仕様と言うことだろ
0239名称未設定2014/09/09(火) 18:21:45.18ID:NE42qCf10
>>233
ネットから情報を取って来る間 UI を止める気?
0240名称未設定2014/09/09(火) 19:16:40.23ID:/tuTJ5uzi
基本的にNeXTが採用した最初からObjective-Cは
未来のプログラムのありかたとして実行時に動的にロードパージする前提で
それを管理するオブジェクトコントローラが必須で。
Appleのハードはずーっとその前提を基にマルチプロセッサ/マルチコアと
OSの処理分散を進めて来てるのに
なんで2014年にもなって自称プログラマが
「マルチコアと並列処理なんてどこで使うんだよwww」とか言うか。
0241名称未設定2014/09/09(火) 19:48:05.07ID:aX3Oyhvr0
並列処理なんてプログラマが特に意識しなくても
コンパイラーがいい感じにやってくれればいいよ
0242名称未設定2014/09/09(火) 19:53:52.52ID:O2ld25kP0
さあ、あと6時間でiPhone6だ。 来るか?、4コアA8プロセッサ。 
(ア〜ンド GCDとSwiftの値型コレクション、近日中にコンパイラによる配列の自動並列化も。)

http://www.apple.com/live/

もし来なかったら来年の9月まで待ちましょう、ということで。
0243名称未設定2014/09/10(水) 00:15:28.74ID:y5D4LXb40
デスクドップ
0244名称未設定2014/09/10(水) 06:57:58.97ID:LICHcFle0
A8チップは、A7チップの28ナノから20ナノへのプロセス進化版だが、コア数は2コアのままのようだ。
具体的なコア数の発表はなかったのでたぶん前と同じはず。 

64bitに移行した直後でもあり、たぶんTSMCでの生産も初回なので、
アーキテクチャはあまりいじらずに、堅く低消費電力版、といったところか。

Xcode6はいよいよゴールデンマスターがリリースされたので、一応は安定してSwiftで開発ができる。
17日のiOS8リリースで正式版だろう。
0245名称未設定2014/09/10(水) 08:32:39.35ID:FgR584A0i
コア数と並列処理の関係なんていつの時代のネタだよ
PS3でも大笑いしたが、またもヘソで茶を沸かせてくれるなww
0246名称未設定2014/09/10(水) 10:56:25.50ID:RLSY7tn50
妙だな。Xcode 6 のGM、iOS では Swift で書けるけど、OSX では New Project で Swift が選択できなくなってる。
0247名称未設定2014/09/10(水) 11:24:38.48ID:OrpPD8CL0
there are a few minor enhancements we plan for the 6.1 release cycle (aligning with Yosemite), but its primary focus is bug fixing and polish.
6.1b1 fixed many bugs that are not listed in the release notes (individual bugs are not generally listed there).

だってよー
0248名称未設定2014/09/10(水) 15:14:00.39ID:COG8Egt20
Xcode 6.1 beta for OS X Yosemite

This pre-release version of the Xcode 6.1 developer tools is required
when developing for OS X Yosemite, and includes the Swift programming language.
Xcode 6.1 beta runs on OS X Mavericks and OS X Yosemite Developer Preview.


Mac用アプリ開発の場合には6.1ベータで。
https://developer.apple.com/xcode/downloads/

Apple WatchのWatchKitの開発もやるなら、またベータでの開発に戻りそう。
シミュレーター上でいいから、Apple Watchの開発環境が待ち遠しい。
0249名称未設定2014/09/13(土) 11:10:41.79ID:9OJRV0Qh0
ことえりタソがイニシャライザを一発でカタカナ変換してくれない
0250名称未設定2014/09/24(水) 18:35:16.68ID:NEuJZZpk0
swiftの勉強のためにterminalで使いたいんだけど、mavericksは対応してないってerrorでる。
beta版じゃないとダメみたい。beta版入れたくないからyosemite待つしかない。
0251名称未設定2014/09/24(水) 19:07:17.97ID:vad2PJzN0
そうか、じゃあすまんがもうちょっとyosemiteくれ
0252名称未設定2014/09/24(水) 19:22:52.67ID:InDQSPsci
お前ら分かりづらい...
0253名称未設定2014/09/24(水) 21:07:21.44ID:xyGuhttpi
>>251
うまいなw感心した。
0254名称未設定2014/09/25(木) 13:06:25.24ID:Gqvz9+h8i
質問なんですけど、Playgroundに下のコードを入力しても何も表示されないんですが

dispatch_async(dispatch_get_main_queue(), {
println("Hello, GCD")
})

そういうもんなんですか?
0255名称未設定2014/09/25(木) 16:32:56.44ID:3nP5WROY0
ビューのペイン増やせ、
表示メニューあたりにあったと思う
0256名称未設定2014/09/26(金) 07:45:25.97ID:ILeRhFjs0
いいこと教えてあげよう。Web上でSwiftが走る。
http://www.runswiftlang.com

アクセスして、左上のRunSwiftボタンをクリックしてから、サイトのサンプルを以下のコードで置き換えて、下にある青いCompileボタンを押す。

for i in 0..<10 {
println( " i = \(i) " )
}

たとえアンドロイドのスマホ使ってて電車の中に居たとしても、たった10秒でSwiftのプログラムが書ける。
Swift触ったことがなくても、まずは試してみ。 本格的に取り組むかどうかは後で決めればいい。
0257名称未設定2014/09/26(金) 08:38:29.51ID:4bTM3g6J0
>>255
Assistant Editorのことですか?
表示しててもダメですよ
0258名称未設定2014/09/26(金) 09:16:57.82ID:ILeRhFjs0
今はMac環境オンリーだけど、Swift言語自体は将来的にはWindowsやLinux対応になると思う。

NSObjectの継承を外していることや、小さいランタイムで独立して動作することなど、
例の値渡し/参照渡しに絡む話題も含めて、こうした先を見据えた言語の方針が何となく透けて見えているように思える。

対応の形態として、
AppleのWebKitのようにオープンソースにして丸ごとコミュニティに提供するのか、
MSの.NETのように仕様だけを標準化して公開し実装はMonoのようにオープンソース含め各々に任せるのか、
あるいはオラクルのJavaVMのようにランタイムの開発も含め完全に自社のコントロール下に置いてWindows版やLinux版を開発するのか
についてはまだ見えてこない。

それぞれメリットデメリットがあるのでタイミングも含め熟慮していると思うが、
言語仕様と実装品質の維持のために、当初はAppleによるランタイム配布のような気もする。

普及のカギは、サーバー側の各種サービスが、オープンソースコミュニティでSwiftにより書かれ始めることだろう。
IBMとAppleの提携も微妙に気になる。IBMは現状でJava推しだが、今後Swiftが絡むようなことがあるのだろうか?

Swiftの特徴として高速性があり、つまりはC++の役割の置き換えが、明言せずとも遠くを見据えたSwiftの視界内に入っているように思える。
0259名称未設定2014/09/26(金) 10:40:50.02ID:hnH0ABUYi
これは信者に見せかけた愉快犯の工作
0260名称未設定2014/09/26(金) 15:08:40.61ID:nm1eJodB0
>>258
ならねえだろ。
Appleがそういう方針を持ちあわせてる会社だったら、とっくにiOS開発環境をMac買わずに出来るようにしてるわ。
0261名称未設定2014/09/26(金) 15:41:37.69ID:SHmbmfaU0
ランタイム配布とかあり得ないわー
0262名称未設定2014/09/26(金) 16:52:57.42ID:gxaLdF4d0
>>260
clangはFreeBSDで採用されているんですが。Linuxでも使えるんですが
無知ですか?
0263名称未設定2014/09/26(金) 17:02:01.85ID:XPzbqTDs0
初心者の質問なんですが

var d = ["key1": "value1"]

var v = d["key1"]
"key1 is \(v)"  //  key1 is Optional("value1")"


"key1 is \(d["key1"])" // "マークがかぶるのでコンパイルエラー

↑これをエスケープとかする書き方ってあるんでしょうか?
0264名称未設定2014/09/26(金) 17:27:13.34ID:hnH0ABUYi
>>262
iOSアプリも昔は Linux でも気合いで開発出来たんですが。そして、出来なくなったんですが
無知ですか?
0265名称未設定2014/09/26(金) 17:49:17.59ID:gxaLdF4d0
>>264
気合い=Appleが正式に提供しているわけではない。まあ、そこは無知であったのは確か
だが、お前の無知さにはかなわないとは思うぞw

ちなみに
http://lists.cs.uiuc.edu/pipermail/llvmdev/2014-June/073698.html
だって。はてさて
0266名称未設定2014/09/26(金) 17:53:30.86ID:gxaLdF4d0
>>264
ちなみに、それができたのってサンプル教えてくださいな
チラっとググってみたが見当たらないんだが。clangがLinuxでもというのからの嘘か?もしかしてと思い始めているんで、おねがいねw
0267名称未設定2014/09/26(金) 17:58:26.84ID:gxaLdF4d0
>>263
バックスラッシュでのエスケープも効かないし、Swiftのドキュメントみても一時変数に入れてというのがだねえ
0268名称未設定2014/09/26(金) 18:41:53.14ID:daTj1051i
>>265
「WindowsのアプリをMacで開発できるようにしないMSは糞
VisualStudioは使いずらいし囲い込みだ!」
とか言ってる奴がいたら自分でもあきらかに頭おかしいと思うだろうに
なんでああいう人はそういうことを自分が言ってると自覚できないのかねぇ…
他社のOSなんて知らんよ
0269名称未設定2014/09/26(金) 19:09:15.64ID:cZqRE2DC0
へ? Android開発が念頭にあっての発言なんだけど、おかしいか?
別にPCプラットフォームの開発の話じゃないんだし。
0270名称未設定2014/09/26(金) 19:23:29.21ID:gxaLdF4d0
>>269
>>266 Android(Linux)中心なら、すぐに出るんじゃないの!?お願いだから出してください
それもまた、ああいえばこういうのだけの嘘と思っちゃうよw
0271名称未設定2014/09/26(金) 19:29:41.04ID:gxaLdF4d0
>>269,270
あ、あんたは、ID:hnH0ABUYiではないのか。それはそれは失礼をしました
>>260なのか!?なんだかなあ。なんだかなあw
0272名称未設定2014/09/26(金) 19:45:26.44ID:yGy5p90E0
Winで超強引にエディタとgccだけでCUIのアプリは書けたけど労力に見合わないから。
「本物のプログラマー」にはなれないな、俺。

囲い込みもくそもないんじゃないかなぁ?
オルタナティブな開発環境でアプリ作ってもトラブルシュートの時に困るし、直してもソースがぐちゃぐちゃになるだけのような気が。
開発環境が共通だとそういう情報がナレッジベースに載ってみなと共有できる。
AppStoreで売るとなると基本はXcodeで記述しないとアウトだし。
0273名称未設定2014/09/26(金) 21:41:27.46ID:6Jj+U9qy0
Xamarinの方が良いかもと思い始める
0274名称未設定2014/09/26(金) 23:09:29.36ID:xjt3xWce0
>>263
Xcode6.1 beta2 ではちゃんと動作するけど?
0275名称未設定2014/09/27(土) 03:25:34.64ID:aEMsRY7ni
ありゃiOSと名乗る前(前後?)でgccの中の人がclangですらなかった頃の話じゃな
バイナリに互換性あれば良いからコンパイラはどうでもいい
0276名称未設定2014/09/27(土) 10:59:38.20ID:oO1nPnq+0
>>264
簡単に見つかるぞ, ggr「ios linux クロスコンパイル」

Xamarinがランタイムを同梱型ならそれでも良い気がするな
Swiftも高々8M byteくらいの小さいサイズ()だし, KVMと比べりゃ余裕だべ
0277名称未設定2014/09/27(土) 11:31:17.49ID:U1Wfjpk20
Xamarin、C#だから人手集めるのが楽勝なんだよね
0278名称未設定2014/09/27(土) 13:09:15.44ID:0VFO8DTH0
天気がいいので午後から出かけるんだが、その前にちょっと遊んでみた。

254 :名称未設定:2014/09/25(木) 13:06:25.24 ID:Gqvz9+h8i
質問なんですけど、Playgroundに下のコードを入力しても何も表示されないんですが
dispatch_async(dispatch_get_main_queue(), {
println("Hello, GCD")
})

ー>
残念ながら、Playground上と、iOSなどのターゲット向けコンパイルの挙動は別で、ちゃんと動かないようだ。
ていうか、Playgroundを使ってて分かると思うけど、スレッドのタスクが生成され起動するタイミングはキーボードの打鍵の瞬間。改行の瞬間ですらない。コードをタイプする最中に始まって勝手なタイミングで消滅する。
なので、PlaygroundでGCD書いたとしても殆どコントロールが効かず確認の意味もあまりない。(ブレークも何もできない)
それでも一応ちゃんとGCDがマルチスレッドで動いていること自体の確認ならPlaygroundでもできる。
例を挙げると、GCD自体はC言語にも対応する低レイヤの基幹技術だが、GCDを利用した上位ラッパーでNSOperationQueueというのがある。

運営からのお知らせ代わりに、魔法石としてNSOperationQueueを使った次のコードを差し上げるから、コピって試してみて。

let mahouIshi = NSOperationQueue()
for i in 0..<10 //10は適当
{
mahouIshi.addOperationWithBlock(
{
var loop:Int32 = 0
for j in 0..<rand()/(INT32_MAX/30) {loop = j} //30は適当
println("taskNo=\(i) , loop=\(loop)")
}
)
}

for i in 0..<3000 { //3000は適当。このforが無いと終わる前にplaygroundを抜けてしまう。
}
println("おしまい")
0279名称未設定2014/09/27(土) 13:14:31.97ID:0VFO8DTH0
>>278の ID:0VFO8DTH0だが、続き。


>>263
263 :名称未設定:2014/09/26(金) 17:02:01.85 ID:XPzbqTDs0
初心者の質問なんですが
var d = ["key1": "value1"]


ー>
こんな感じでどうかな? "key1"に対応する値があるとは限らないので、!で剥がすのを忘れずに。
let myStr = "dict[\"key1\"]! の結果は" + String( dict["key1"]! ) + " です。"
0280名称未設定2014/09/27(土) 13:41:40.11ID:0VFO8DTH0
>>278 >>279 の ID:0VFO8DTH0 だYO!

で、Swiftが将来WindowsやLinuxに対応するかどうかについての続き。

実際にコード書くプログラマなら知ってる人も多いと思うけど、今日では有名な汎用言語のうちで、逆にマルチプラットフォームに対応していないほうが少ない。

C、C++、Java、C#、Python、Perl、Ruby、PHP、JavaScript、これらは全部Mac/Win/Linuxに対応している。他にも沢山。

ちなみに上の言語を見て気付く人もいるだろうが、対応させる方法はいくつかあり、例えばAppleやMSが直接Javaを開発しているのではなく、JavaVMをオラクルが作ってMSやAppleに提供している。
つまり、Java製アプリは実は、JavaVMというアプリ上の書類に相当する。

同じように、C#製アプリもMono(MSの.NET全体の部分オープンソース版)というアプリの上の書類に相当し、C#を使ってMac上でもiOS上でも動くアプリが作れる。

重要なことは、企業にとってプログラム言語そのものは広まったほうが有利だ、ということ。 むしろ普及させるのに苦心する。

例えて言えば、MSにとってWordの書類.doc形式が広まったほうが嬉しいのと同じ。
Appleにとって、どのような形であれSwift言語単体に関しては、広まったほうが嬉しいからそっちの方向に行くはず。
理由に関して他の読みもあるんだが、今ここでは省略する。

逆に広まると困るケースは、仕様がばらばらに発散して収拾つかなくなった挙げ句に保守を維持しなければならなくなること。

その辺りのメリット/デメリットのトレードオフで、>>258 で言った3つのパターンのうちのどれかになると思うな。
0281名称未設定2014/09/27(土) 14:29:35.57ID:DSEpkWQv0
長い
0282名称未設定2014/09/27(土) 14:34:18.14ID:U1Wfjpk20
なぜObjective-Cは広めなかったんや
唯我独尊だからやろ
0283名称未設定2014/09/27(土) 14:40:23.37ID:DSEpkWQv0
Objective-Cよかったのになぁ
なんだよ
0284名称未設定2014/09/27(土) 15:06:50.44ID:Nb2hUu1I0
ObjC にこいつら追加してくれればワシは満足じゃったよ
型推論、#import 不要、オブジェクト型のポインタの * 省略可、isKindOfClass とかの簡略化 (is演算子的な)
他まだあるかも
0285名称未設定2014/09/27(土) 15:13:08.20ID:lw7UfFWV0
ぼくのかんがえたさいきょうのObjective-C
0286名称未設定2014/09/27(土) 15:21:57.11ID:41AAP2Nc0
>>282
NSObjectが必須だからな
0287名称未設定2014/09/27(土) 15:42:41.19ID:piXVjFMB0
クロスプラットフォームで広めたかったら
コンパイラだけでなくクラスライブラリごと公開しないとダメというだけの話で
これはSwiftについても同じだろう

String, Array, Dictionaryが標準型になったけどどうなのか...
そもそもこれらがObjCのFoundationの実装を前提としてるのかどうかもよくわからんし
0288名称未設定2014/09/27(土) 16:11:01.27ID:aEMsRY7ni
ランタイム同梱ってのもないよなぁ
VBランタイムじゃあるまいし
0289名称未設定2014/09/27(土) 16:28:13.94ID:5jXXTJBl0
ランタイム同梱は安定するまでの間だけですけど
0290名称未設定2014/09/27(土) 16:48:32.69ID:l6ECGFka0
>>289
オープンソースにしたけど誰も拾ってくれない、という可能性は?w
0291名称未設定2014/09/27(土) 17:19:44.23ID:TAuYwC9+0
ランタイム配布が許されるのはそのOSを作ってるメーカーだけだよなあ、VBもMicrosoftだから許された
WindowsでのQuickTimeの嫌われ具合もそうだし、そもそもApple自体がJavaやFlashをどう扱ってるか見たら判るだろ
0292名称未設定2014/09/27(土) 17:42:50.11ID:piXVjFMB0
そもそもランタイムの配布って旧OSでも新APIを使ったソフトが動くようにと
互換性のためだと思うのだけれど
AppleってCocoaではそういう配慮をしたことが全くないよね
0293名称未設定2014/09/27(土) 22:52:46.58ID:NEkL3+q/0
Xcode以外はrustでいいんじゃなか
0294名称未設定2014/09/28(日) 06:30:38.51ID:J7KC7Cc9I
家電量販店における実売データを集計した「BCNランキング」が9月23日に発表した携帯電話ランキング(2014年9月15日〜21日)によれば、上位20機種のうち18機種がiPhoneだった。
http://yukan-news.ameba.jp/20140925-22339/

書くだけじゃなくて、どこで使われるか、も重要。

それもSwiftの強みだな。
0295名称未設定2014/09/28(日) 07:32:07.66ID:czYTRwCJi
C言語「どこで使われるか、も重要。(万能派)」
Ruby, PHP 「どこで使われるか、も重要。(Web派)」
Java 「どこで使われるか、も重要。(ランタイム派)」
C# 「どこで使われるか、も重要。(MS派)」
swift 「どこで使われるか、も重要。(Apple派)」
0296名称未設定2014/09/28(日) 07:37:59.09ID:J7KC7Cc9I
20機種のうち18機種がiPhoneだった。
0297名称未設定2014/09/28(日) 07:43:54.73ID:mo4OA5dl0
>>292
Obj-Cのメソッドはライブラリのシンボルにならないので、関数呼び出しのようにバイナリにべったりくっつかなくても構わないと説明してた。
0298名称未設定2014/09/28(日) 10:49:04.60ID:SjRQ4qJU0
>>282
 Objective-Cにしろ、Swiftにしろ、Xcodeにしろオレオレの方が自社の戦略に合わせ
易いからな。他の言語や開発環境を採用するとAndroidみたいにいろいろ足引っ張られるし。
0299名称未設定2014/09/28(日) 10:53:05.32ID:SjRQ4qJU0
>>262
ずっと前からアップルはカーネルやコンパイラのような基盤部分とプラットホームと呼ばれている所は別の方針を取っている。
Swiftコンパイラーやランタイムの公開はあり得るけど、フレームワークや開発環境の公開はあり得ないな。
0300名称未設定2014/09/28(日) 11:05:27.41ID:Rg+X4sN40
CoreFoundationは公開してるけどね
0301名称未設定2014/09/28(日) 11:05:31.82ID:fK5o/6v40
>>299
ほぼ同意見だが?なんで?
0302名称未設定2014/09/28(日) 11:09:33.17ID:fK5o/6v40
>>300
http://darwinsource.sourceforge.net/about/
In some cases, however, there are differences. The version of CoreFoundation included in Darwin is known as “CoreFoundation Lite” (or simply “CFLite”), because it doesn't contain everything that the Mac OS X release of CoreFoundation includes.
かな??だとしたら、やむを得ずって感じ?w
0303名称未設定2014/09/28(日) 11:37:17.41ID:czYTRwCJi
公開しようがしまいが、ハックして同じようなモノを作れば良いんだよなぁ
swiftランタイムもLLVM,clangコンパイラも

オープンソースにならなきゃ何も出来ない温室育ちは待ってろ
0304名称未設定2014/09/28(日) 11:47:45.30ID:sVhvKQer0
5年ぐらいすれば標準ライブラリもきれいになって言語として独立するよ
0305名称未設定2014/09/28(日) 11:50:46.03ID:LZgcGIJVi
WindowsもOSXもLinuxも作れそうなハッカー様が降臨して参りました。
0306名称未設定2014/09/28(日) 12:00:55.24ID:XM3gKMVF0
ベータ明けたら「JSでSwift処理系実装してみた」とか出てくるんだろうなと思ってたけど、案外出てこなかった
0307名称未設定2014/09/28(日) 12:21:32.79ID:LZgcGIJVi
初心者ですが、質問です
ハックできる人は、コード書いてプログラムもできるんでしょうか?
0308名称未設定2014/09/28(日) 15:45:36.07ID:7mWdq1VO0
基地外怖いお
0309名称未設定2014/09/29(月) 08:20:43.50ID:oGb0AsKci
>>306
お前がやれよ
0310名称未設定2014/09/29(月) 14:26:41.15ID:GwRS0u+S0
Swift本の翻訳版はよ
0311名称未設定2014/09/30(火) 13:18:04.20ID:qslMW37I0
標準ライブラリのヘッダー?ドキュメントがすごく充実したな
0312名称未設定2014/09/30(火) 14:42:28.84ID:pyASzUUT0
Beta3が来てたのか
0313名称未設定2014/10/06(月) 09:54:08.83ID:uy0Bt+UY0
>>256 ちょっと出先で試してみたいとか有るからこれは助かるな。
0314名称未設定2014/10/06(月) 10:43:49.65ID:CDWBaPi7i
>>310
出てるよ。
0315名称未設定2014/10/06(月) 22:19:42.21ID:qGmgGFXV0
しかしあれだ。playground つい無限ループ実行する気ないのに書いちゃうとえらいことになるな。
0316名称未設定2014/10/10(金) 18:39:53.93ID:GaSBwaI30
xcode 6.0.1だと osx向けの開発じゃSwift選べんのか…。設定見まくったり、再インストールしたりを繰り返しちゃったよ…。
0317名称未設定2014/10/10(金) 20:54:31.82ID:gVuTfBt40
(ノ∀`) アチャー
0318名称未設定2014/10/12(日) 12:50:30.08ID:vn/TWrkJ0
iOS版だけはもうリリースされてるのか。
にしてもSwift全然話題になってないな。
ネット住人が勝手に騒いでるだけの言語って感じがする。
0319名称未設定2014/10/12(日) 13:16:15.14ID:tlxgNI560
>>318
そら当然なのでは
仕事で使うには言語仕様が落ち着くのを待つしかないし
遊びで弄ってもネットで話題にするしかないし
0320名称未設定2014/10/12(日) 15:20:00.68ID:MKhNZg0J0
Objective-Cで十分行けてるからな
結局iOS8/Yosemiteを出すにあたって新しい感を出したかっただけなんだよ
Appleもアイデアが飽和してきたな
もうおなかいっぱいでStay hungryできなくなってきてる
0321名称未設定2014/10/12(日) 18:32:12.85ID:xcuUvN+c0
>>318
ネット以外でどこで話題になってたらいいっつうの?
0322名称未設定2014/10/12(日) 18:40:25.99ID:tR+47cBR0
>>321
その短絡的な解釈とレスは如何なもんだろう。>>319の様に普通に行間読めるだろ。
0323名称未設定2014/10/12(日) 20:33:13.54ID:xcuUvN+c0
http://s.news.mynavi.jp/news/2014/10/03/017/index.html

善戦してんな、くらいの感想しか無いです
0324名称未設定2014/10/13(月) 16:16:18.92ID:2vdmqpCB0
FitPortがSwiftだね。USのヘルスケアでトップになった日本のアプリ。
0325名称未設定2014/10/13(月) 16:17:01.74ID:2vdmqpCB0
ShimejiもSwiftか。
0326名称未設定2014/10/14(火) 08:56:58.62ID:x6NLomU10
>>323
TIOBEプログラミング言語ランキング - DartとSwiftがトップ20入り
http://news.mynavi.jp/news/2014/10/06/064/
0327名称未設定2014/10/14(火) 22:30:09.00ID:NUpCXCtb0
swift 配列の append() について教えてください
https://developer.apple.com/library/ios/documentation/General/Reference/SwiftStandardLibraryReference/Array.html
の append() ですが、サンプル

var array = [0, 1]
array.append(2)

playgroundで試すと、() is not convertible to ‘[int]’ と言われて、[0, 1, 2] にならんのですが
なんででしょうか?
0328名称未設定2014/10/14(火) 22:33:07.21ID:XYqEdDtF0
>>327
コピペしたけど普通に動いちゃった
0329名称未設定2014/10/15(水) 09:28:10.35ID:0ScJs9GJi
var a = 10
var b = 20
let c: () = a += b
0330名称未設定2014/10/16(木) 21:00:08.17ID:TOU+2Rhy0
swift 初心者なんですが、Objective-Cで

char buf[1024];
// buf にデータを代入して末尾に0
[NSString stringWithCString:buf encoding:NSUTF8StringEncoding]

とやって正常に文字列が得られていたものを swift では

var buf = UnsafeMutablePointer<Int>.alloc(1024)
// buf にデータを代入して末尾に0
NSString(CString: buf, encoding: NSUTF8StringEncoding)

とやればいいのかと思ったらコンパイルエラー
Extra argument 'encoding' in call
となります

どこを修正したらいいでしょうか?Xcode 6.1 GM2 です
0331名称未設定2014/10/16(木) 21:45:34.20ID:j9ctCrGx0
Int8でなくてIntだからじゃね
0332名称未設定2014/10/16(木) 21:50:43.61ID:TOU+2Rhy0
Int8にしたらコンパイル通りました
ありがとうございました
0333名称未設定2014/10/17(金) 00:22:54.21ID:25WKLVxf0
来週ぐらい早々にXcode 6.2 Betaが出たりするかな?
0334名称未設定2014/10/18(土) 01:14:04.98ID:ioCLnEuk0
yosemiteに変えたけどterminalからはまだ使えない。
`
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer/
xcrun swift
<unknown>:0: error: the SDK 'MacOSX10.9.sdk' does not support Swift
`
って出る
xcode6.1じゃないと無理なのか。
0335名称未設定2014/10/18(土) 01:24:06.33ID:aOUuaXiu0
>>334
6.1のcommand line tool出てるからそれでいけるんじゃないか?
0336名称未設定2014/10/18(土) 14:49:30.92ID:ioCLnEuk0
>>335
インストールしてみたけどやはり同じ
xcodeは6.0.1のバージョンのまま。
xcode入れなおしてもできるかどうかはやっていない。
6.1の正規を待つことにする。
0337名称未設定2014/10/18(土) 15:01:32.62ID:tPf9MHS70
そのうちAppStore配信するやつと同じだから↓コレ入れるといいよ
https://developer.apple.com/downloads/index.action
・Xcode 6.1 Oct 17, 2014
 The is the release version of the complete Xcode developer toolset for Mac, iPhone, iPod touch, and iPad.
 It includes the iOS 8.1 SDK, OS X 10.10 SDK and OS X 10.9 SDK. Xcode 6.1 requires OS X Yosemite or OS X Mavericks.

$ xcrun swift
Welcome to Swift! Type :help for assistance.
1>

うちの Mavericks環境でもいけた。
0338名称未設定2014/10/18(土) 15:46:43.47ID:LO6shSTQ0
REPL試したいだけなら
xcrun --sdk iphoneos swift
とかで行けんじゃないの?
0339名称未設定2014/10/18(土) 17:13:25.75ID:0mGQyqAD0
Int8ってなんだよ
カス型つくんじゃねー
0340名称未設定2014/10/18(土) 17:35:02.19ID:ioCLnEuk0
>338
へー、iOS環境で使えるんだ。
情報ありがとう使えたわ。
>337
もう使えるみたいだね。情報ありがとう。
0341名称未設定2014/10/19(日) 03:23:48.50ID:VzO7UItd0
この二三ヶ月で何度Xcodeをダウンロードしたかな
思い出せんわ
0342名称未設定2014/10/19(日) 11:06:10.31ID:Ljh9zTj30
健忘症?
0343名称未設定2014/10/20(月) 00:31:37.39ID:2SBKcxQt0
海外でもJavaトップなのか・・・
アーキにJava採用しても結局ミドルウェアやフレームワークは高価なプロプラ使うじゃん、OracleとかOracleとかWebLogicとか
コスト云々は100%嘘だよ、JavaでできることはC#でできる、そして言語仕様含めてC#のが完成されてて使いやすいんだけどな
怠惰なPGが多いってのは日本だけじゃないってことか
0344名称未設定2014/10/20(月) 00:54:09.12ID:agGKdN9w0
スレを間違えたのか、日記に書くつもりだったのを間違えたのか。変な間違え方するからわからんやんけ
0345名称未設定2014/10/20(月) 03:05:15.39ID:Rh2zFOKri
JavaもしくはC#をswiftに読み変えてみた
どちらも特に違和感なかった
0346名称未設定2014/10/20(月) 16:40:49.89ID:Rl2NwfmA0
GlassFishならタダだぞ
0347名称未設定2014/10/20(月) 17:52:24.67ID:03wKYPy9i
この手の人は何言っても自分の愛用してるツールが一番と思ってるから無駄
swiftもこういうライブラリが出てくるのかねぇ
0348名称未設定2014/10/20(月) 20:35:34.84ID:g+rjTxqF0
エディタとIDE、使用言語は戦争の元だなw
0349名称未設定2014/10/20(月) 21:21:36.31ID:CJlP1pYWi
宗教に近いな
無宗教の日本人だけど他宗教との付き合い辛さを身に染みて感じるわw
0350名称未設定2014/10/20(月) 21:48:43.59ID:g+rjTxqF0
古くはviとemacsか。
終わらない聖杯戦争みたいなもんだ。
0351名称未設定2014/10/20(月) 21:51:28.13ID:OpVc5BX60
全員がサーヴァントで勝っても願いは叶わないけどね
0352名称未設定2014/10/21(火) 09:17:59.50ID:o+3/+cDM0
1.2βマダァ-?(・∀・ )っ/凵⌒☆チンチン
0353名称未設定2014/10/21(火) 13:53:13.11ID:2fVFOwaj0
黙れカス!
0354名称未設定2014/10/24(金) 14:23:50.15ID:O56Wq/DH0
viの方がいいし、
ps4は情弱が買う鉄屑
0355名称未設定2014/10/24(金) 20:15:08.09ID:dQjkBNdG0
根拠を詳しく書いてくれないと説得力に欠けるよね
0356名称未設定2014/10/27(月) 17:54:37.78ID:qU8GnSj50
ネットで情報漁りながらswiftの勉強し始めて、サンプルを打ち込んで実行しようとしたんだけど

var imageListArray : Array<UIImage> = []
for index in 1...4 {
imageListArray.append(   <ーこの行でエラー
//現在のindexに対応するメディア名を生成して対応するUIImageを作成
UIImage(named:String(index) + ".gif"))
}

Missing argument for parameter 'inBundle' in callってエラーが出て実行できないのは何故なんでしょう?
やろうとしていることは画像の配列を作って、動的に配列の中身(4ヶ)を入れようとしています。
環境はxcode6.1です。
よろしくお願いします。
0357名称未設定2014/10/27(月) 18:08:35.95ID:STB2TWBA0
>>356
UIImage(named: String) が返すのは UIImage? だから [UIImage] には入れられない
append する前に都度 nil チェックしてアンラップするか、[UIImage?] に入れるかどっちか
0358名称未設定2014/10/28(火) 22:03:30.13ID:UGA2w31Y0
>>357
ありがとうございました。
imageListArray.append(
//現在のindexに対応するメディア名を生成して対応するUIImageを作成
UIImage(named:String(index) + ".gif")!)
で、いけました。
0359名称未設定2014/10/30(木) 21:04:18.47ID:NdBcpSmo0
かえってめんどくさくなった気がするね…
0360名称未設定2014/10/31(金) 08:19:53.67ID:0fcWzUG+0
Objective-Cでいいんだよなぁ。。何で超マイナーな言語がやっとここまでになったてのに
こんどは独自言語に走るかね
アップルも頭が悪くなってきたか
0361名称未設定2014/10/31(金) 12:25:36.04ID:1Te/DnKI0
別にコレまで通りObj-Cを使っても良いのよ?
0362名称未設定2014/10/31(金) 12:33:57.49ID:G8Lm0LcU0
そうね
0363名称未設定2014/10/31(金) 14:00:46.30ID:gQoDFxw90
今、本見ながら勉強してるんだけど、既にswiftにある関数でも勝手に宣言、定義して使えるみたい
だけど混乱の元じゃないの?
本には func drawRect(hoge: hogehoge) とかオーバーライドも無しに独自処理が書いてあるんだけど。
0364名称未設定2014/10/31(金) 16:32:40.01ID:pcFmv4T40
今はoverride書かないとビルドエラーにならねーか?
0365名称未設定2014/10/31(金) 17:44:29.68ID:or2w48jq0
みんな〜
iPhoneアプリ開発の教科書のSwift版が発売されたぞ。

これで勉強してバリバリとあを作るんだ!
0366名称未設定2014/10/31(金) 17:57:03.67ID:5WWjMpSd0
ステマ
0367名称未設定2014/10/31(金) 17:59:15.88ID:nlILfeYH0
たのスイKindle版
待ち中
0368名称未設定2014/10/31(金) 18:01:31.41ID:5WWjMpSd0
ステマ
Swift part3
http://peace.2ch.net/test/read.cgi/tech/1406083608/
0369名称未設定2014/10/31(金) 18:21:32.79ID:50HVbjgC0
はじめまして!
swift勉強しながらゲームを作っているものです
ゲームのマップで使う配列を作ろうとしているのですがうまくいきません
var mapdata[2][3] = [
[0,0,0],
[0,1,0]
]
次のやり方だと配列の長さがわからないのでどうしたらいいか悩んでいます
var mapdata:[[Int]] = [
[0,0,0],
[0,1,0]
]
よろしくお願いします!
0370名称未設定2014/10/31(金) 18:49:44.06ID:fagw2mq30
ステマ ステマ ゴッドステマ
ステマ ステマ ゴッドステマ
がーったーいだー
0371名称未設定2014/10/31(金) 19:39:23.55ID:/zbxO1ya0
var mapData = [[0,1,2], [4,5,6]]
mapData.count  ->mapData中の要素の個数で2
mapData[1].count ->一個目の配列の個数で3
でおk
>>369の上の書き方の[2][3]って配列の大きさ指定してるつもりだろうけど、varで固定長の配列作れないんじゃないの?まだ詳しくないけど。
公式リファレンス読むといいんじゃないの?
0372名称未設定2014/10/31(金) 20:11:04.32ID:50HVbjgC0
>>371
ありがとうございます!なるほどです!
0373名称未設定2014/11/01(土) 08:56:35.75ID:0sEeAKHG0
>>361
Appleがずっとサポートするつもりなら全く文句はない
でもそうじゃないんでしょ?
0374名称未設定2014/11/01(土) 09:35:08.71ID:AaYe30E00
それはお前の想像?
0375名称未設定2014/11/01(土) 10:02:04.35ID:0sEeAKHG0
>>374
えっ?将来的にSwiftに移行するって言ってなかったっけ?
0376名称未設定2014/11/01(土) 10:05:42.11ID:eT6NJXkX0
>>370
40代おっさん乙
0377名称未設定2014/11/01(土) 12:05:04.18ID:q8oVjd3l0
>>375
(まだ)言ってない。Swiftで喜んでいたヤツの妄想だろ
現にまだObjective-Cベースだろ、Cocoa Touchのを作るためには
0378名称未設定2014/11/02(日) 01:27:29.99ID:ajw7gDm90
水太
0379名称未設定2014/11/02(日) 22:44:28.03ID:rLbUc2JH0
プログラム板に書いたが、話題の流れ的に、こっちに書くべきだった

828 :デフォルトの名無しさん:2014/11/02(日) 17:35:40.34 ID:1g7aEKYI
AppleはObjective-Cを、MicrosoftはC++をそれぞれ除去して、
低レベルレイヤーはCオンリー、
アプリケーションはSwift、C#という流れに。
いずれも、AndroidがC(Linux) / Java体制であることの追従。
0380名称未設定2014/11/02(日) 22:53:34.07ID:A6QBdZ010
転載するほど大したこと書いてない
0381名称未設定2014/11/02(日) 23:52:46.85ID:lNJAF1110
Objective-CをSwiftに変えることがアプリレイヤをJavaで書くことの追従?
理屈がさっぱりわからん
0382名称未設定2014/11/03(月) 00:17:29.73ID:nVRB0/+60
 上位層はパフォーマンスが落ちるがハンドリングしやすい言語で書いて、
下位はパフォーマンスがいいがハンドリングしにくい言語で書くことぐらい、
高級言語が出来た時から当たり前の話で、いまさらドヤ顔して書くことじゃない。
 
0383名称未設定2014/11/03(月) 00:45:57.35ID:DtIwyech0
なんかイタいヤツだなあ。いやイタすぎるヤツか
0384名称未設定2014/11/03(月) 01:13:58.19ID:b0ozgTCy0
イタ飯喰らいでどうもスンマソン
0385名称未設定2014/11/03(月) 08:36:14.59ID:ywpDM3jx0
すでにある関数でも引数が違えば同じクラスに存在できるみたいなのですが、
どちらかをオーバーライドしたい時にはどう書けばいいのでしょうか?

func makeButton(Frame: CGRect, text: NSString, tag: Int) -> UIButton
func makeButton(Frame: CGRect, text: NSString, tag: Int, hoge: Int) -> UIButton
hogeを追加した同名の関数でもエラーにはならないです。
0386名称未設定2014/11/03(月) 15:02:02.76ID:DtIwyech0
なにを聞きたいのかわからない。他の言語でオーバーライドしたことあるの?
03873852014/11/03(月) 15:47:34.76ID:ywpDM3jx0
>>386
れす、ありがとう
調べたらswiftのオーバーライドはクラスのみってことみたいね。
間違えてたらご指摘ください。
0388名称未設定2014/11/03(月) 16:32:54.44ID:DtIwyech0
他の言語でもクラスに属さないのはオーバーライドできずに単なる2重定義エラーになると思うけど、なんかできたのあったっけ?
(てかできたら、意図せずのエラーの原因にしかならないような)
0389名称未設定2014/11/03(月) 17:26:11.61ID:GpE0pxN60
オーバーロードと勘違いしてる疑惑
0390名称未設定2014/11/03(月) 19:15:13.93ID:ZYuyf78m0
Swiftでも当然カテゴリー使えるんだよね?
0391名称未設定2014/11/03(月) 19:41:18.66ID:XMG1x0Ol0
extension NSString {
func toURL() -> NSURL {
...........
return NSURL.URLWithString(self);
}
........
}
03923852014/11/04(火) 09:28:38.52ID:EdEvWWna0
すみません。
なんか勘違いしてましたというか、オーバーライドやデリゲートをググってたら頭が混乱してきました。
継承してオーバーライドすれば継承元のメソッドや関数が利用できるので、デリゲートはいらないような気がするのですが。
スレ違いとは思いますがデリゲートと継承の違いってなんでしょうか?
よろしくお願いします。
0393名称未設定2014/11/04(火) 10:09:42.87ID:dR9eMPYH0
三次元コピーが実用化したとして
ある車をコピーしてコピーした車を改造すると
「元の車」と「改造した車」ができる。
いちいち車を毎回一から作らなくていいので楽!使い回し万歳!
と、この「継承」というアイデアは良かったのだが
元から派生Aと派生B、派生Cと作ってゆくうちに
派生A改と派生C改改とで互換性がなかったりと
改造で枝分かれしちゃう継承ツリーの問題点が顕に。

そうじゃないだろ、元の車の改造ポイントを明示して
パーツを丸ごと付け外しできるハードポイントを決めておけば
派生A改の改を外して派生Cにハメたりできんだろ
というのが「デリゲート」に限らず旧来の継承に頼らない
オブジェクト指向のトレンドです。
0394名称未設定2014/11/04(火) 10:16:44.60ID:oFOlJQYh0
委譲
0395名称未設定2014/11/04(火) 10:26:49.84ID:pFw6fKxx0
デリゲート市ね、ブロック使うんだよ!が swift のトレンド?
0396名称未設定2014/11/04(火) 10:29:55.90ID:oFOlJQYh0
デリゲートは考え方
ブロックは手段
0397名称未設定2014/11/04(火) 11:27:12.08ID:UXGHplGb0
オーバーライド:OOPSによってなな乗っ取り/上書き
デリゲート:古典的なCallbackの変形
0398名称未設定2014/11/04(火) 11:48:43.34ID:UXGHplGb0
そういえば、元々はNSApplicationのサブクラスを作ってってので、NSApplicationDelegateなんて存在しなかったんだよな
ということで>>392が言っていることはあながち間違いでもないが、Delegateにしたほうが目的がはっきりするとかカッコイイとかいろいろな理由からたとても賢い人たちがそうしてんだから素直に受け入れろw
0399名称未設定2014/11/04(火) 12:31:34.79ID:sF88Ve+K0
継承は一つのクラスからしか出来ないが、委譲は多対多が可能。
格好いいとか阿呆か。
0400名称未設定2014/11/04(火) 12:34:20.82ID:4hBd4oOv0
Xcode で書いてると SourceKitSerivce がクラッシュしまくって使い物にならないんだけど、みんなちゃんと動いてるの?
0401名称未設定2014/11/04(火) 12:39:37.33ID:UXGHplGb0
>>399
それだけじゃないだろってことだよ
NSApplicationDelegate実装したクラスをいちいち自分で作ってんの?または、NSApplicationDelegateにいろいろ機能てんこもりしてんの?iOSしかやってないんだったら、UIApplicationDelegateでもいいけど
0402名称未設定2014/11/04(火) 12:42:32.91ID:UXGHplGb0
>>401
×NSApplicationDelegateにいろいろ
○AppliationDelegateクラスにいろいろ
0403名称未設定2014/11/04(火) 13:03:36.56ID:BjiqQyEm0
みんなクラッシュさせながら使ってる
訓練されてるから大問題にならない
04043852014/11/04(火) 16:07:05.11ID:EdEvWWna0
みなさん、レスありがとうございます。
デリゲートと継承の違いがわかりました。
別にデリゲートに文句言ってるわけじゃないですよ。
今まで小さなアプリしか作ったことがないので、デリゲートの有用性がいまいち分かりませんでしたが
ある程度複雑なものになるとデリゲートがあったほうが色々都合がいいと。
ただ、XCODEで部品をドラッグ&ドロップで設置できるなら、部品を接続した時にデリゲートがある部品はデリゲートの
宣言(設定?)までして欲しいなぁ。
0405名称未設定2014/11/04(火) 19:44:33.55ID:4hBd4oOv0
>>403
なるほど。精進します。
0406名称未設定2014/11/04(火) 22:32:10.54ID:9bi06fAq0
swiftでゲームを作っています
敵が画面から出たら消去という処理をしたいのですが
エラーが出て解決できないでいます...
どなたかアドバイスを頂けませんでしょうか?
for i in 0...敵.children.count {
if( 画面外_x > 敵.children[i].position.x){//fatal error: Array index out of range
node.children[i].removeFromParent()
}
}
0407名称未設定2014/11/04(火) 22:37:52.54ID:whRwhC0E0
>>406
「...(ピリオド3つ)」は末尾の数字を"含む"範囲だから
インデックスに使うなら末尾を含まない範囲の「..<」を使って
for idx in 0..<array.count { }
ってしないといけない
0408名称未設定2014/11/04(火) 22:38:33.88ID:sF88Ve+K0
敵.children[敵.children.count-1] なら良いけど、
敵.children[敵.children.count] がアカンのは分かる?

よって 0...count じゃなくて、0..<count にすべき
0409名称未設定2014/11/04(火) 22:39:02.56ID:sF88Ve+K0
被ったorz
0410名称未設定2014/11/04(火) 22:39:04.32ID:9bi06fAq0
>>406
間違えました!
. for i in 0..<敵.children.count {
. if( 画面外_x > 敵.children[i].position.x){ //fatal error: Array index out of range
. 敵.children[i].removeFromParent()
. }
. }
0411名称未設定2014/11/04(火) 22:42:28.34ID:sF88Ve+K0
>>410
配列の要素を減らしてるのに、i が元の配列数で動いてるのが問題。
そういう時は配列のケツから参照して削っていく。
0412名称未設定2014/11/04(火) 22:46:45.27ID:whRwhC0E0
それだ!('A`)
0413名称未設定2014/11/04(火) 22:49:41.77ID:9bi06fAq0
>>407
>>408
ありがとうございます!

>>411
なるほど!イメージできました!
ありがとうございます!!!!!!
0414名称未設定2014/11/04(火) 23:09:35.80ID:9bi06fAq0
こちらでうまく動きました!ありがとうございます!
for( var i = 敵children.count - 1; i > 0; i-- ){
敵.children[i].removeFromParent()
}
0415名称未設定2014/11/05(水) 08:59:41.22ID:RbzhyyOd0
> i > 0;

i >= 0; じゃないと要素を全部舐めないような
0416名称未設定2014/11/06(木) 10:20:42.42ID:oiN7eH8M0
swiftの入門本で勉強中なんですが、サンプルを打ち込んでシミュレーションで実行しようとすると
No signing identity found
というアラートが出てきて実行できません。
本の中のサンプルを幾つも実行してきて初めて出てきました。
雰囲気的にはデベロッパー登録をする感じなんですが、なぜ急にそんなアラートが出てくるのか
わかりません。
別のアカウントを作って追加で登録とかしなくてはいけないのでしょうか?
0417名称未設定2014/11/06(木) 12:10:35.10ID:I22/eflh0
>>416
iPhoneをMacに繋ぐと実機で実行しようとするから、シミュレータに切り替えよう。
0418名称未設定2014/11/06(木) 13:34:37.60ID:oiN7eH8M0
>>417
ありがとうございます!
動きました。
0419名称未設定2014/11/07(金) 00:47:12.35ID:wnh25IBH0
Swiftってすばらしい言語だなー(棒
0420名称未設定2014/11/09(日) 00:24:39.42ID:pubKJJ0f0
Swiftの仕様がきちんと固まって安定したら起こして
0421名称未設定2014/11/11(火) 18:37:37.12ID:mDIgCX5J0
今、xcode5.1.1を使ってるんだけど、これを温存したまま6.1も入れる方法ばありますか?
0422名称未設定2014/11/11(火) 18:49:57.19ID:cNy9W+Sf0
うん、いくらでも
0423名称未設定2014/11/11(火) 19:41:17.47ID:mDIgCX5J0
>>422
そうですか。
0424名称未設定2014/11/12(水) 09:40:01.46ID:vbBd0SfX0
Yosemite だとデフォルトで /usr/bin に swift 入ってるんだな
0425名称未設定2014/11/12(水) 09:57:07.71ID:9BduefUX0
コンパイラ?ランタイム?と man を読もうとしたら
swift - the amazingly new programming language

amazingly で new ですか、そうですか・・・wwww
この man いつまでメンテするんだろうな
0426名称未設定2014/11/13(木) 07:47:43.11ID:5Yz9vtpY0
swiftを使ってみたいがMac OSが10.9.5なんだよね。
10.10以降じゃないと動かない。
0427名称未設定2014/11/13(木) 08:25:18.97ID:eduPkLSs0
言ってんだか
0428名称未設定2014/11/13(木) 18:52:51.87ID:SnV6RbNX0
Swift part4
http://peace.2ch.net/test/read.cgi/tech/1415860741/
0429名称未設定2014/11/14(金) 13:49:50.15ID:QVSW8QeS0
下記のプログラムを実機ではなく、macbook上のシミュレーターで実行した場合、
fileNameで指定されたファイルはどこに保存されるのでしょうか?
実機で実行しないとファイルは作られないのでしょうか?
//バイト配列の書き込み
func data2file(data: NSData, fileName: NSString) -> Bool {
var path = NSHomeDirectory().stringByAppendingPathComponent("Documents")
path = path.stringByAppendingPathComponent(fileName)
return data.writeToFile(path, atomically: true)
}
0430名称未設定2014/11/14(金) 14:47:54.62ID:Ag7DdgVy0
止めてpath調べればすぐに分かる。
0431名称未設定2014/11/14(金) 18:19:00.19ID:QVSW8QeS0
止めてpathの中を見ましたが、pc内には無かったです。
予めフォルダーを作っておく必要がありますか?
0432名称未設定2014/11/14(金) 18:33:45.46ID:2zYQvtWp0
>>431
NSFileManager
URLForDirectory(_:inDomain:appropriateForURL:create:error:)
を普通使うと思う

NSHomeDirectoryもHomeがじゃなくDocumentsとか特定のはそうやってくっつけじゃなく、
NSSearchPathForDirectoriesInDomainsの方が。で、そこでNSFileManager
URLForDirectoryを使えと言っているし
04334312014/11/14(金) 22:47:48.73ID:QVSW8QeS0
レス、ありがとうございます。
試してみます。
04344312014/11/15(土) 15:23:08.07ID:FHR5Miqq0
何度もすみません。
>>429で書いたコードを実行するとpathには
/Users/hogehoge/Library/Developer/CoreSimulator/Devices/881C18B1-2932-4AC1-BF4F-ED2752DDC7D2/data/Containers/Data
/Application/C37EC247-534A-459D-9B19-2F9530DC6904/Documents/test.txt
と、入っていました。
但し、Finderでこのパスを見ようとしてもLibrayまでは見つけられるのですがその先が見当たりません。
swiftとは関係無い質問になってしまいますが、このパスが存在するか調べるにはどうしたらいいでしょうか?
ちなみに、プログラムの実行状況から見てtest.txtというファイルでの読み書きはしているみたいです。
シミュレーションだからmac側からは見られないようになっているのでしょうか?
よろしくお願いします。
0435名称未設定2014/11/15(土) 15:48:36.29ID:kEyjdBdd0
>>434
「Finder 不可視ファイル」でぐぐれ。
0436名称未設定2014/11/15(土) 16:00:51.42ID:kKysTiH80
>>434
まずググってそれから質問スレ行けよ
0437名称未設定2014/11/15(土) 21:43:46.08ID:gI/Dw34H0
ここは幼稚園児の431の面倒を見るスレか。
0438名称未設定2014/11/16(日) 03:00:50.52ID:7s+0cGMd0
マカーは親切者ばかり
04394312014/11/16(日) 23:40:26.40ID:3Tm/jNmf0
ありがとう。
ファイルが確認できたからすっきりしたわ。
0440名称未設定2014/11/18(火) 07:20:49.62ID:KdKKU0bM0
最近ようやく日本語のswift入門書が増えてきたね
半年前の和訳騒動が懐かしい・・・
0441名称未設定2014/11/19(水) 01:21:37.39ID:gaqfKe240
医療プログラマーが超高難易度の免許制に / フリーソフトやオープンソースの無作為配布も全面禁止
http://fox.2ch.net/test/read.cgi/poverty/1416286592/
0442名称未設定2014/11/19(水) 10:21:58.11ID:4Cn0QVB60
swiftの本でメール送信のサンプルがあって、シミュレーションで実行しようとすると異常終了してしまいます。
こういう時って、本の名前とか出して質問してもok?
0443名称未設定2014/11/19(水) 12:22:55.20ID:mLZAJ0440
何故ダメだと思ったのかw
0444名称未設定2014/11/19(水) 12:35:26.73ID:5FgilvgW0
宣伝とか言われるじゃん
0445名称未設定2014/11/19(水) 13:09:19.97ID:+zemmV5p0
ステマバカが跋扈してるからな。
特定の商品の名前を出しただけで「ステマダー!」って大騒ぎするやつ。
0446名称未設定2014/11/19(水) 13:15:13.03ID:GtQucwsa0
スウェーデンのこのバンドのCDいいぜーって話しをしてて
ステマ言われた時は、もうじゃあ何話せばステマじゃねーんだよ思った。
0447名称未設定2014/11/19(水) 15:12:29.31ID:c7VPDuDK0
gist的なものにコード張れや
04484422014/11/19(水) 22:29:30.00ID:4Cn0QVB60
自分はホームページもグログも何もやってないので、すぐにgist的なものにコードが貼れないです。
どこか貼れるとこありますか?
ここに貼ってもいい?
0449名称未設定2014/11/19(水) 22:37:52.25ID:0g5KPr260
>>448
gists的なものはgitstsそのものもだと思うけど。gistsは単発でも貼れるみたいだけど。なんか他に規約があるの?
他にはcodepadとか。SwiftはサポートしていないからPlain Textでだけど
(ここに貼ってもいいと思うけどw)
0450名称未設定2014/11/19(水) 23:52:25.24ID:pChXj3UZ0
pastebinに貼ればいいんでないの
0451名称未設定2014/11/19(水) 23:54:00.14ID:wffMPLeW0
作者に聞けよ
04524422014/11/20(木) 07:52:29.66ID:vkUBSD0m0
いろいろ教えてもらってありがとうございます。
下記URLに貼り付けました。
ttp://pastebin.com/BYB66K4u#
送信ボタンを押すとsample.pngと言う名の添付ファイルを送るプログラムになっています。
症状としては送信ボタンを押すとメールソフトの画面に切り替わるのですが、アドレス等の入力には反応せず
数秒すると予期せぬ原因で停止となります。
当方の環境はOSX10.10.1です。
プログラムが悪いのか、当方の環境のせいなのかがわからないので試していただけるとありがたいです。
よろしくお願いします。
0453名称未設定2014/11/20(木) 12:24:57.32ID:cc7BvaUo0
textFieldShouldReturn の中で endEditing を呼び出すのって良いのかね
0454名称未設定2014/11/20(木) 17:03:04.28ID:N17ARoMx0
これが原因じゃねーの?
http://stackoverflow.com/questions/25895634/email-composure-ios-8

実機だとマシな程度には動いたぞ
0455名称未設定2014/11/20(木) 20:17:33.31ID:Hs5fYpgm0
「Software Design」誌でこんな連載が始まった

http://gihyo.jp/magazine/SD/archive/2014/201412#toc

【新連載】書いて覚えるSwift入門
【1】One More Thing for Developers……小飼 弾

日本最高レベルのハッカーである小飼さんがこういう記事だしてきたってことは
Swiftブームくるな
絶対買って読むべき
0456名称未設定2014/11/20(木) 20:19:23.24ID:stGPeuAx0
小飼弾が最高レベル?
笑うとこ?
0457名称未設定2014/11/20(木) 20:40:52.59ID:ZJJt3tcv0
小飼弾は最高レベルではないが、 >>456より段違いにレベルが高いのは間違いない。
0458名称未設定2014/11/20(木) 20:41:56.62ID:vNKoyvbq0
小飼 弾って指で文字が隠れているのに
本が読める奴か
0459名称未設定2014/11/20(木) 20:42:36.19ID:vNKoyvbq0
>>457
小飼は金は持っているけど、別にレベルは高くないだろ
0460名称未設定2014/11/20(木) 20:48:08.91ID:kmaTJhLm0
弾すら乗っかってくるくらい普及したってことだよ
0461名称未設定2014/11/20(木) 20:49:06.65ID:kmaTJhLm0
ていうか今月のSDはDockerだろう
もう猫も杓子もDockerでSwiftどころじゃない
0462名称未設定2014/11/20(木) 21:05:00.86ID:N17ARoMx0
今さらdockerって、、、
0463名称未設定2014/11/20(木) 21:16:38.20ID:Hs5fYpgm0
小飼弾さんの速読実演
https://www.youtube.com/watch?v=s7wEesGmQQ4

元オンザエッヂCTOの小飼弾さん。 Perlエンジニアとして有名。 ちなみに
六本木の某マンションの最上階に住んでいて、映画バベルにその部屋がセット
として使われてます。 アルファブロガーとしても有名だから小飼弾と検索
したらブログがすぐに見れるはず。 以上説明終わり しかしすげぇー速読だ。
0464名称未設定2014/11/21(金) 00:10:36.23ID:yi9CS3fQ0
専ブラ作ろうと思ってHttpRequestでいきなり躓いた・・・
http://software.techassistbox.com/swift-dynamic-cast-failed-with-http-get-request_5930387.html
これの通りやってるんだけどdatが取れないんだけどなんで?
0465名称未設定2014/11/21(金) 00:29:02.04ID:mRaPgxwb0
>>464
ふつーにdataに来るけど。URLが違うんじゃね
2ch URL dat
ででもググってみ
0466名称未設定2014/11/21(金) 01:02:19.00ID:rPU3dXIH0
小飼弾に目を付けられたってSwift的には不吉じゃね?
0467名称未設定2014/11/21(金) 01:12:37.31ID:3rQW48d40
発表直後からハッスルしてたし今更
0468名称未設定2014/11/21(金) 01:14:35.09ID:9aAT+q3d0
ある日突然ハシゴを外すんだろう
0469名称未設定2014/11/21(金) 15:53:05.93ID:/QSuxn8y0
つまずいてしまったのでどうか教えてください


練習で簡単なストップウォッチアプリを作っています。
タイマーが動いていない時(タイマー=false)のときにスタートを押したらカウント開始して(タイマー=true)になり、ストップボタンを押したら再びタイマーが止まり(タイマー=false)になるコードを書いています。

普通に使うと問題なくアプリは動作するのですが、タイマーが動いてないとき、つまり(タイマー=false)のときにストップボタンを押すとアプリが落ちてしまいます。

if文でタイマーが動いているときのストップボタンの動作しか書いていないからだと思いますが、if文でタイマー=falseのときは何もしないでくれと命令がしたいです。

どのようなコードを書けばいいのでしょうか?
0470名無しさんの野望2014/11/21(金) 17:11:55.09ID:u9WVe2ng0
サル惑ちょっとコードでええ おもて
0471名称未設定2014/11/21(金) 21:40:49.75ID:LNLxsYGv0
>>469
[SDK]iPhoneアプリ開発初心者質問箱41[touch][iPad]
http://anago.2ch.net/test/read.cgi/mac/1413893867/
0472名称未設定2014/11/23(日) 02:32:30.04ID:nXuKwEXU0
>>469
タイマーとして何を使っているの?
0473名称未設定2014/11/23(日) 17:24:02.57ID:O5Ww1b6i0
>>469
タイマーとして何を使っているの?
0474名称未設定2014/11/23(日) 19:19:07.49ID:fyJyJazB0
>>465
dataには入ってるんだけどEncodしてハッシュテーブルにできないんよ
0475名称未設定2014/11/24(月) 19:31:10.68ID:oZ+B9TLu0
ファイルをオープンして、1文字(Character)ずつ処理したいんだけど
どうやってやるのかわからん…
0476名称未設定2014/11/24(月) 20:42:03.79ID:Bb6WTke80
たしかに
0477名称未設定2014/11/24(月) 21:45:55.64ID:L1e1B8Iu0
fgetc
0478名称未設定2014/11/24(月) 22:20:50.66ID:LoesYD0q0
fgetcってどうやって叩くんだ?とヘッダ追ったら
C関数が直接叩けるんじゃなくてご丁寧にマッピング関数が用意されてんのか
ホント笑える言語だなw
0479名称未設定2014/11/24(月) 22:51:14.35ID:1xj9TAZb0
それ自動生成されたヘッダだけど。ほんと笑えるなお前
0480名称未設定2014/11/25(火) 07:54:00.19ID:g6rpS0Bx0
swiftからCが直接叩けてないことがツボだったんだが
手作業で作ってないってわざわざ指摘してくれるのか、親切な住人のいるスレだw
0481名称未設定2014/11/25(火) 08:23:33.81ID:udVPcH2u0
NSFileHandle
0482名称未設定2014/11/25(火) 17:05:52.61ID:bwxphInT0
NSFileHandle
0483名称未設定2014/11/26(水) 00:20:22.90ID:b8gJXimn0
bridging headerを与えればCの関数が直接呼べるのは間違いないんだけど
libcの関数の扱いはなんか別なんだよね
0484名称未設定2014/11/26(水) 01:03:00.26ID:BoyVGBvJ0
なんで直接叩けてないのがツボったんだろ?
自動でブリッジできるって素敵な事ちゃうのん
0485名称未設定2014/11/26(水) 01:47:23.78ID:SKJy8D0j0
fgetc で 1バイト取ってこれるのはやっと理解できた
ありがたや
しかし、取ってきた Int32 を Character に変換する方法がわからなかった…
CChar [] を String にする方法はみつかったんだけど
いちいち 1バイトずつ CChar 配列にして String にするのもアホらしいしね
0486名称未設定2014/11/26(水) 03:12:44.69ID:b8gJXimn0
そもそもCharacterといってもエンコーディングを内包したものだろうから
String経由でしか無理なのでは

無理やりSwiftの世界に持ち込まずにCもしくはObjCで書いてブリッジさせたほうがいいと思うけど...
0487名称未設定2014/11/26(水) 09:15:50.68ID:li+5D5f80
bridging headerもビルド時に対応するswiftヘッダファイル作ってるよな、確か
swiftcってホントやること多いコンパイラだわ
0488名称未設定2014/11/26(水) 11:00:57.53ID:9rbCCTux0
私もそう思うわ
0489名称未設定2014/11/29(土) 08:13:05.23ID:7ftsAm6l0
速く、xcodeのリファクタリングが使えるようにして
0490名称未設定2014/11/29(土) 21:26:50.92ID:aYwZlbzZ0
>>480
直接叩けないなら何を経由してるんだ?
0491名称未設定2014/11/29(土) 22:45:50.32ID:cRjaKE+H0
>>480みたいな妄想君ってまだ息してたんだ
0492名称未設定2014/11/30(日) 07:17:38.38ID:yWkgZ9gJ0
>>490
小さなランタイムだろ
0493名称未設定2014/11/30(日) 15:40:51.15ID:soQIVOjf0
ランタイムは経由してないよ、バイナリを逆アセンブルすれば分かるけど直接呼び出してる
0494名称未設定2014/11/30(日) 16:29:59.86ID:2lsAdbqa0
日経ソフトウェアがSwift特集やっている
初心者方面でもSwiftに興味を持つ人が増えそうだな

日経ソフトウエア 2015年 01月号
http://www.amazon.co.jp/dp/B00PCOGH1U/

【特集1】
6ステップで完全理解Appleの新言語
『Swiftスーパーガイド』
0495名称未設定2014/12/01(月) 00:10:56.17ID:3GhkgERs0
試してみようかなと思ったが、そもそもコンパイル通らねえw
Xcodeからビルドするとゴミだらけになるし、 swiftcでiphoneosをターゲットにするとセグる

考えるのやめてアポー様が適当にやってると思い込むのがいいな
0496名称未設定2014/12/01(月) 02:41:15.25ID:mR+Oetwi0
なんだまだそんなに役に立たない完成度なんだ
発表してからもう半年ぐらい経ってねえ?
0497名称未設定2014/12/01(月) 04:15:54.41ID:L98uawV20
それはギャグか?
0498名称未設定2014/12/02(火) 07:53:19.96ID:5EV9sp/k0
つーかSwiftって要るのか?…
0499名称未設定2014/12/02(火) 16:01:59.30ID:41yQ9liR0
Swiftのおいしい部分だけObjective-C 3.0に取り込まれればそれでいいやって思ってる
0500名称未設定2014/12/03(水) 02:47:35.14ID:4pkpmo3h0
それやって欲しいけど、Cなんかと被るから難しそう。かえって混沌とするんじゃ?
0501名称未設定2014/12/04(木) 07:46:36.75ID:rl7dFRX90
むしろObjective-Cのが要らんだろw
0502名称未設定2014/12/04(木) 08:43:58.89ID:vaRUzLru0
>>501
ん?w
0503名称未設定2014/12/04(木) 12:30:57.02ID:YPvyiuUM0
>>500
多分アップルも同じように考えていて、それがSwiftに舵を切る理由の一つになっていると思う。
0504名称未設定2014/12/04(木) 17:22:29.40ID:b/OM5C6N0
だよな。Objective-Cで担ってた分は、純粋なCにフォールバックしていくという流れでしょ。
0505名称未設定2014/12/04(木) 23:56:53.27ID:veq+nPuM0
オプソ化しないんかなあ
やるともやらないとも明言してくれてないから逆に期待してしまう
この際NSとかのプロプライエタリなライブラリ抜きで構わんのだけど
Dockerあたりに仕込んで使ってみたいお
cと連携できるあたり、手間もそこそこに何でもできそうだし
0506名称未設定2014/12/05(金) 10:10:23.70ID:RJrtwZXY0
Flask、Swiftなんだよなぁ

http://www.apple.com/retail/code/
0507名称未設定2014/12/05(金) 21:30:19.98ID:XjcTqNH80
>>505
ラトナーがオープンソース化については前向きに考えているけど今は忙しくてとても手が回らないみたいなこと書いてなかったっけ?
0508名称未設定2014/12/06(土) 02:22:50.79ID:Hq0WhUNH0
MSでさえ.NET CoreやコンパイラをOSSにしたのにAppleはこれだからな・・・
XamarinでVSから直接コンパイル・デプロイできれば開発はかどるんに
0509名称未設定2014/12/06(土) 03:57:09.39ID:w3JhPxk30
VSってLinuxとかOSXで動くの?
0510名称未設定2014/12/06(土) 05:37:09.85ID:3G6uysVq0
荻原本出たけど、いつも読み方悩むからひらがなにしてほしかった。
0511名称未設定2014/12/06(土) 11:00:33.52ID:r/tHpCC70
おぎはら
はぎわら
おぎやはぎわら
0512名称未設定2014/12/06(土) 14:17:35.95ID:h4gIbs160
荻原本って、ObjCの時と同じくKindle版も出るのかな
0513名称未設定2014/12/07(日) 04:08:03.06ID:QYGQ7UZX0
VSよりxcodeの方が洗練されてて使いやすいけどな。
0514名称未設定2014/12/07(日) 09:29:27.11ID:PbEBTP4/0
それはないw
0515名称未設定2014/12/07(日) 12:11:20.88ID:HrxWz2rS0
Xcodeのが使いやすい部分もあることはある。
でもまあトータルではVSかなあ。
まあ同じものを作るのに使い分けできるわけじゃないのでどっちも使いこなすしか無いが。
0516名称未設定2014/12/07(日) 12:32:21.62ID:9mShSLGH0
XcodeでもVSでもどっちか/どっちでも選択可能なプロジェクトってどんなの?
0517名称未設定2014/12/07(日) 12:34:16.82ID:9mShSLGH0
ああ、そんなもんないのか。意味ねー比較だなあ
0518名称未設定2014/12/07(日) 20:49:31.16ID:nxheSC5V0
「いいか、これは、この世界でいちばんいい銃だ! いちばんすぐれた小銃なんだ!!
おれには、これしかないんだ! だから、これがいちばんいいんだ!!」
松本零士「ザ・コクピット/パイロットハンター」

というのはわかるがなぜ他の環境のスレ来てやるかなぁ…と
プログラム関係ではいっつも思う。
0519名称未設定2014/12/08(月) 14:39:18.05ID:m2gW8rYf0
あっちもこっちもC#(VS)使いがフィーバーしてんなw
プログラムに限らずどの業界でも自分のツールが至上と信じて疑わない人はいると思う
Apple(iOS)好きなんかもそうだし
0520名称未設定2014/12/08(月) 17:13:26.20ID:XHrFe8m20
VisualStudioは商用開発するとなると糞みたいに高い。ADCはMacとiPhone
併せても16,000円弱。昔はADCも糞みたいに高かったけど、その代わり
開発機材がほぼ半額で買えた。
0521名称未設定2014/12/08(月) 18:12:16.97ID:w7mavQjN0
最大でも20%だったけど。20%でも大きかったけど
0522名称未設定2014/12/08(月) 23:37:05.93ID:ZFvEZIW40
Xcodeより先にAppCodeがSwiftのリファクタリングサポートしてる件
0523名称未設定2014/12/09(火) 07:32:41.32ID:+A39vJEv0
Mac本体 iPhone本体で20万前後飛ぶんだよなぁ

appleはリファクタリング機能より先に source kitの不安定さを直すべき
開発環境の優劣でプログラマは流れる時代だけど、そもそも開発が出来ないんだよ!
0524名称未設定2014/12/09(火) 10:18:49.29ID:Wo9xuXgk0
そういうあなたは優れた開発環境に流れてみてはいかがでしょうか?
0525名称未設定2014/12/10(水) 09:27:40.31ID:SjfjD99V0
>>521
それは旧ADCの末期の頃。90年代はApple Partner'sは45%引きで買えた。
最初の頃は購入出来る数にも制限がなかったから、開発機材を揃えるのが
楽だった。
0526名称未設定2014/12/10(水) 13:12:09.42ID:ZiQHFuwu0
>>524
自分vi使いなんで、、、
優れてる訳もないけど手に馴染んで離せない
手離せないけど優れてないから色んな開発環境渡り歩きだ
言語も同じくpython好きだけど swift に浮気も悪くない
0527名称未設定2014/12/11(木) 13:10:24.01ID:g+c/FneA0
なぜSwiftなんだ? Pythonにしてくれれば良かったのに...シクシク。
0528名称未設定2014/12/11(木) 16:14:18.67ID:qR/oY0zz0
javaもrubyもphpもcもhspもなでしこも live codeも他諸々やってる
別に swift が特別じゃないよ
0529名称未設定2014/12/11(木) 23:41:41.65ID:FVkT71x70
>>527
Pythonじゃアップルが好きなように仕様変更できないからな。
0530名称未設定2014/12/13(土) 00:19:53.12ID:PIDrRWPU0
遊ぶにつれLinuxサーバサイドで使いたくなってほんと困る
Java系には分が悪いだろうけど、それでもc系ライブラリが繋げやすすぎて変なテンションになる
おもしろおかしい
0531名称未設定2014/12/13(土) 00:43:28.16ID:z/BYS7/I0
macサーバでいいじゃん
なんでLinux?
0532名称未設定2014/12/13(土) 01:32:44.75ID:PIDrRWPU0
一言で言うと仮想化すね
板違いな内容をなるたけ割愛して説明したいところですが、逆にややこしくなったんで消して直な説明で失礼します
1.要は手元のvirturlboxやAWSで汎用できるdocker環境で動作させたいんですね。
2.「Docker上のCentOS上でswiftなアプリ起動させて複数鯖に大量デプロイしまくりとか素敵やん?(じゅるり」みたいなイメージですw
0533名無しさん@そうだ選挙に行こう2014/12/13(土) 13:34:20.13ID:oyt+PllY0
手段が目的な人ですね!
0534名無しさん@そうだ選挙に行こう2014/12/13(土) 14:12:12.56ID:k7GajJ7r0
obj-c/他言語じゃなくswift使うのも手段じゃなく目的なんだろうな
と思ったところでswift使う理由なんて自分だってソレ以外ないわと思い直した
0535名無しさん@そうだ選挙に行こう2014/12/13(土) 19:57:02.03ID:B0F5zIQH0
スズキの車がどうしたって??
0536名無しさん@そうだ選挙に行こう2014/12/13(土) 19:58:41.17ID:7zZREgIV0
軽トラ便利だな〜って
0537名無しさん@そうだ選挙に行こう2014/12/13(土) 21:53:52.48ID:Cv7xZ0nM0
Docker行っちまえ
キモい
0538名無しさん@そうだ選挙に行こう2014/12/13(土) 23:29:40.34ID:BgBGR4wT0
swiftでスレ検索すると結構スズキがヒットするから間違えてきたのかな
0539名無しさん@そうだ選挙に行こう2014/12/14(日) 02:37:41.10ID:XRQcqT9g0
ネーミングがクソだってことだろ、言わせんな恥ずかしい
0540名無しさん@そうだ選挙に行こう2014/12/14(日) 14:06:05.59ID:I7vpOhfj0
ラトナーがテイラー・スウィフト好きだったからSwiftになった説
0541名称未設定2014/12/15(月) 16:21:27.70ID:oZxMAp9d0
Int?ってなんて読んでる?
optional Intだと順番が逆になるので「Intかも」にすればいいかと思うけど。
0542名称未設定2014/12/15(月) 17:34:12.38ID:LnjCZsrD0
いんとはてな
「いんと」で良いのかな?
0543名称未設定2014/12/15(月) 17:47:36.11ID:nMtQvAbY0
Int 「いんと」
Int? 「いん⤵︎とぉ⤴︎」
Int! 「いんとっっ」
0544名称未設定2014/12/15(月) 18:44:03.00ID:zMoFM+Se0
いんとクエス(ちょん)
いんとビックリ
0545名称未設定2014/12/15(月) 19:48:23.95ID:ZUlImZLF0
Int? いんとかな
Int! いんとだろ
0546名称未設定2014/12/15(月) 20:15:51.06ID:GsyIHyaU0
たぶんいんと
ぜったいいんと
0547名称未設定2014/12/15(月) 23:22:42.79ID:k7xF8mmG0
いんとのオプショナル
0548名称未設定2014/12/16(火) 04:54:41.07ID:9gdiwWwo0
いんて派はいないのか
0549名称未設定2014/12/16(火) 07:38:35.09ID:xZ4coo5N0
イントゥッ
0550名称未設定2014/12/28(日) 22:50:22.86ID:XVefSsVm0
swiftでiOSアプリの開発ってまだ時期尚早な感じかいな
0551名称未設定2014/12/28(日) 22:52:38.30ID:7IoU33gP0
Objective cとブリッジして呼ぶ関数が本当に、objective cと全く同じ動きなのか
なんだか怪しい
0552名称未設定2014/12/31(水) 15:52:39.69ID:ojPpZAsI0
関数のコメントはみなさんどのように書いていますか?
0553名称未設定2014/12/31(水) 20:33:03.03ID:OOQcxs5H0
書かない
0554名称未設定2015/01/01(木) 00:50:21.38ID:2bX9icqS0
swiftで関数型プログラミングやってる人っている?
0555名称未設定2015/01/01(木) 09:53:21.61ID:WBfEaJoC0
>>552
これに倣ってる
http://nshipster.com/swift-documentation/
0556名称未設定2015/01/01(木) 22:53:09.21ID:YwS5u7iZ0
>>552
 汎用フレームワークやライブラリ、UIコントロールを作って公開するわけじゃないし、書かないな。
クラスやメソッドのネーミング、それ以前に設計を頑張った方が、後々のメンテに聞いてくるし。
0557名称未設定2015/01/02(金) 18:08:36.82ID:ocCem3Q70
>>555
 ありがとうございます!勉強になります
>>556
 そうゆうアプローチもあるんですね。
0558名称未設定2015/01/03(土) 14:36:13.07ID:dbhLJ7B10
受験勉強しながら・・・
0559名称未設定2015/01/08(木) 18:45:27.87ID:DYjanp070
マ板で話題になってるが、

1.0 <= Double.NaN // true
1.0 >= Double.NaN // true

というバグがあるので注意。
0560名称未設定2015/01/08(木) 18:49:02.92ID:fGQ55iDh0
そんな比較をするヤツはいない。してるの?
0561名称未設定2015/01/08(木) 18:50:39.71ID:DYjanp070
>>560
プログラム書いたことのない人かな?
0562名称未設定2015/01/08(木) 18:53:38.24ID:fGQ55iDh0
どうであろうとNaNになった時点でおしまいだろ。演算も比較も無意味
NaNチェックしてNaNだったら演算も比較もしない処理に移るしかないだろ?
どういうプログラム書いているの?
0563名称未設定2015/01/08(木) 19:07:38.70ID:fGQ55iDh0
>>559 の比較式に何の意味があるのかわからんが、
let value
…
if value.isNaN {
NaNになっちゃったよー例外処理
終了
}
if value < 1.0 {
1よりちっさいぞ処理
}
いかづづく…

そもそもNaNになるような演算はしないようにする/その時点でエラーとするけどな。後でNaNチェックだけだと何が問題でNaNになったか限定しづらいので
0564名称未設定2015/01/08(木) 19:37:32.62ID:DYjanp070
IEEEのまともな仕様通りならNaNチェックが不要な処理でも一々NaNチェックが必要になるんだぞ?

if x <= 0.0 {
// Swift ならここで x < 0.0 || x == 0.0 であることが保障されない。
}
0565名称未設定2015/01/08(木) 20:00:32.54ID:fGQ55iDh0
イミフ
xがNaNだったらということで書いているのか?だったらそれこそ>>561は自分に向けて書いたとしか思えないw
0566名称未設定2015/01/08(木) 20:02:25.02ID:fGQ55iDh0
ああ、浮動小数点の==は信用できないというのとは別だよなあ
NaN関係ないし、0.0くらいは信用できるし
0567名称未設定2015/01/08(木) 23:43:10.84ID:piRRdtf60
言語仕様としておかしいって話と
そんなコード書くなよって話は別だろ

言いたい内容自体は合ってるんだろうけど論点が違う
0568名称未設定2015/01/08(木) 23:50:32.95ID:fGQ55iDh0
いうていることはわかる。注意なんて言うからそんなアホなっていう
雑学の部類としてだな
0569名称未設定2015/01/15(木) 20:47:20.98ID:UnEtASCD0
初心者でカメラアプリに挑戦しています。
写真を撮って別のViewに渡したいのですがエラーがでます

protocol ViewControllerDelegate{
func setImg(photo:UIImage!)
}

let myImage:UIImage = UIImage(data: myImageData)!
self.delegate.setImg(myImage)

fatal error: unexpectedly found nil while unwrapping an Optional value
となるんですが、解決できません。
いつもなら!か?を付けたり外したりすると解決するんですが...
助けてください!
0570名称未設定2015/01/16(金) 00:13:13.66ID:1RvkTHka0
>>569
>いつもなら!か?を付けたり外したりすると解決するんですが...

そんな曖昧な理解でOptional使うなよ…
self.delegate がOptionalなんじゃないの?
だとしたらOptionalチェーンで
self.delegate?.setImg(myImage)
0571名称未設定2015/01/16(金) 03:37:46.07ID:4hWYpOMR0
>>570

ありがとうございます!解決ができました!
がdelegateの書き方が間違っていたのか値を渡せなかったので別な方法を取ることにしました...涙
ちなみにこちらのサイトを参考にしました
ttp://tech.eversense.co.jp/153

Optionalはnilを許容するかしないかって感じだと思ってます!
0572名称未設定2015/01/16(金) 14:08:51.93ID:3evB3Xot0
swiftはプログラマがアホでも言語仕様で
セキュアに保たれるから深い理解は不要と思ってます!
(思ってるけど、まったく信用していない)
0573名称未設定2015/01/16(金) 14:15:29.35ID:zsh3op6Z0
元々スクリプター?
0574名称未設定2015/01/16(金) 16:55:50.14ID:hsHNAKVV0
Obj-C 勉強したての頃に、よく分からずに autorelease とか release とか retain してたのを思い出すw
0575名称未設定2015/01/16(金) 19:50:36.94ID:shfV7gS00
ARCになってもその概念を知っておかないと面倒なことになりかねないけどね
0576名称未設定2015/01/16(金) 20:11:22.94ID:tP4ffPho0
Objective-C的には「別に使ったら+1使い終わったら-1
0になったら解放。これの何が難しいんだ?」だったんだろうけど
インターフェイスビルダで作ったインターフェイスは起動時に1で〜って
自分でカウントスタートしてないクラスを渡されると混乱が加速。
0577名称未設定2015/01/16(金) 22:53:21.92ID:uusesROg0
Apple の資料読みながら、ぽちぽち勉強してるんですが、
C ほどブレークしなくとも、RubyやPythonくらいには
定着してくれるといいな。と願ってます。

objcのライブラリからがんがん nil が返ってくるんで、
仕方なく追加した仕様に見えなくもない>Optional
0578名称未設定2015/01/16(金) 23:03:21.05ID:0ZtDKRwo0
言語仕様はnilをできるだけ使わないようにしてるのに
フレームワークnilだらけなんだよね
だからコードは!と?だらけになる
0579名称未設定2015/01/17(土) 13:46:34.61ID:II85MCI30
>>576
そうなの?
他人が+1したやつは基本ノーケアでおkがポリシーでしょ
自分がallocかretainしたやつだけautorelease, releaseしておけばいいだけじゃないの?
0580名称未設定2015/01/17(土) 14:00:15.93ID:LnnM01Z30
うん
俺もあのレス見たとき、「インターフェイスビルダで作ったインターフェイス(インスタンス)」も同じだろ「これの何が難しいんだ?」と思った
0581名称未設定2015/01/17(土) 14:06:30.82ID:adJB8y+j0
ObjCであれSwiftであれ言語に文句垂れる奴の99%は単にそいつがバカなだけっていうね
0582名称未設定2015/01/17(土) 14:14:53.58ID:9lxAgApI0
Perlに文句たれてRubyを作った日本人がいるんですが、それは
0583名称未設定2015/01/17(土) 14:54:44.48ID:THQLnkHa0
>>562
浮動小数点数の標準規格にそぐわぬ挙動をすることに注意するのは当然だろう。
お前滅茶苦茶言ってるぞ。
0584名称未設定2015/01/17(土) 15:03:48.93ID:qTgEqHXw0
Apple規格が標準規格に常に倣うと思ってんの?馬鹿なの?死ぬの?
0585名称未設定2015/01/17(土) 15:23:16.17ID:LnnM01Z30
使わなきゃ/使わないんだったら注意する必要もなんもないわなあ
NaNなんて後生大事に持っていても邪魔なだけってのが経験則だなあ
0586名称未設定2015/01/17(土) 15:29:31.10ID:X80wmssQ0
カレーが食べたくなった
0587名称未設定2015/01/17(土) 16:56:54.10ID:95nsqBos0
半チャーラーメン下さい
0588名称未設定2015/01/17(土) 23:17:33.22ID:AfMgdpX60
>>586
それは残りの1%に相当する珍しいケースだね
Pythonを作ったオランダ人も同じ
0589名称未設定2015/01/18(日) 11:22:58.21ID:cTSHC1HP0
python2にキレてpython3000作り始めたバカもいるし
言語に文句言うバカは賢いな、言語仕様への盲信者とは違うわ
0590名称未設定2015/01/18(日) 11:35:42.34ID:pKE+BHai0
ただ文句だけ言うのと、文句言いながら何かしらやるのと、文句言わずにやる
という違いがわからずに、また、ただ文句言うだけなのになにかしらやっているのと重ねて同じ扱いにするのは馬鹿すぎる
0591名称未設定2015/01/18(日) 11:56:40.79ID:8zAQncWX0
新しい言語を作る馬鹿 > 既存言語に文句言う馬鹿 >>> 与えられた環境を疑わない馬鹿
C言語からの脱却を図った馬鹿は文句言う奴がいてこそだけどな
0592名称未設定2015/01/18(日) 12:17:45.92ID:pKE+BHai0
お前はそれのどれにあたるの?
与えられた環境を疑わない馬鹿?
0593名称未設定2015/01/18(日) 12:24:38.21ID:pKE+BHai0
まあ、そんなことはないんだろうけどww
>>590の最初はある意味普遍的wなことだよ
小中、中高、高大でそれぞれのステップを最低限でも理解するはずなんだけどなあ

まあ、精神的に小学生が2chに多いのだからしょうがないか。しかも、なにかしら成し遂げたのと(全然違うのに)自分を重ねてでしか自我を保てないのも多いしな
0594名称未設定2015/01/18(日) 18:10:09.93ID:dkZpmwam0
>>579
>>580
Mac OS だとnib起動時にすで+1されてるので云々
0595名称未設定2015/01/18(日) 20:02:56.01ID:kL3eDrGb0
IBでインスタンスを最初から作ってきてるヤツはカウント1
自分のクラスで生成(+1)解放(-1)ってやってるのと混ざった時に
IBに出来合いインスタンスは最初が1だから解放されない。
だから生成解放を繰り返すコントローラはIBから受け取ったデフォルトにだけ
リリースを打つ…と打った瞬間にカウンタ0になるから消え去っちゃのでw
まず自分でリテインしてからリリースするという
ハンドシェイクのおまじないが必要で…云々
0596名称未設定2015/01/18(日) 20:19:48.74ID:pKE+BHai0
何を言っているのかイミフ>>594,595
リソースによりのインスタンスも同じ。自分でオーナーシップを獲得していなければ、自分の制御外で解放される
それが嫌であればオーナーシップを獲得し、不必要になれば放棄する

リソースによりのインスタンスが解放されないのであれば、そのインスタンスがシステム/フレームワーク内の都合で、そこでオーナーシップを獲得しているにすぎない
それを解放させるのはシステム/フレームワークで準備されているからそれを使う/呼べばいいだけ
0597名称未設定2015/01/18(日) 22:04:55.17ID:kL3eDrGb0
そりゃ、ARCなしの『Objective-Cの話』だしな。
で、なんの話してんの?おまえ。
0598名称未設定2015/01/18(日) 22:06:33.96ID:pKE+BHai0
ARCでも同じ。自動にやっているにすぎないし、ある程度は属性で自分ででも
いや、お前に言われたくないってw
0599名称未設定2015/01/18(日) 22:16:09.40ID:pKE+BHai0
デバッグしてやるから、
>IBに出来合いインスタンスは最初が1だから解放されない
っていうサンプルコード出してみ
0600名称未設定2015/01/18(日) 23:06:29.16ID:kL3eDrGb0
(こんなレベルの奴がObjective-C弄ってメモリリーク起こしまくってiOSのせいにしてたら嫌だなぁ…)
0601名称未設定2015/01/19(月) 01:06:08.25ID:RSXvtGdv0
いやいや、
>IBに出来合いインスタンスは最初が1だから解放されない
お前がだろっ!ww
なんなんだこいつは、病気かっ!
0602名称未設定2015/01/19(月) 02:19:44.77ID:An8jqXXa0
IBだろうがSBだろうが、rootViewControllerでさえコードで解放できる。
0603名称未設定2015/01/19(月) 10:41:12.91ID:pr7GXL7Z0
配列の入れ子ってできないのかな

let a=配列1
let b=配列2
let c=[配列1,配列2]
なんかエラーでるや
0604名称未設定2015/01/19(月) 10:41:46.47ID:pr7GXL7Z0
>>603
間違えた

let a=配列1
let b=配列2
let c=[a,b]
なんかエラーでるや
0605名称未設定2015/01/19(月) 12:08:10.37ID:ZN6ma7nV0
どういうエラー?
普通に出来たけども
0606名称未設定2015/01/19(月) 23:02:00.66ID:pr7GXL7Z0
関数の中に書くのは大丈夫だけどクラスの直下に書くとdose not have a member namedってエラーがでる…

もしかしてこんなとこに書いたらダメなのか???
0607名称未設定2015/01/20(火) 02:22:30.91ID:D4eBBNhZ0
こういうことか?
class A {
let a = [1,2,3]
let b = [4,5,6]
let c = [a,b] // error: 'A.Type' does not have a member named 'a'
}

だとしたら、普通にこれでいいやんという気がするが…
class A {
let a = [1,2,3]
let b = [4,5,6]
let c: [[Int]]
init() {
c = [a, b]
}
}
0608名称未設定2015/01/20(火) 08:49:08.84ID:sHAb7P7C0
ひでえコードだな
0609名称未設定2015/01/23(金) 12:22:56.64ID:oNjyujiu0
デベロッパープログラム値上げされたぞww
11,800円になってる
0610名称未設定2015/01/23(金) 19:14:05.88ID:h9YFTwRi0
まあ円レート通りだな
0611名称未設定2015/01/24(土) 01:21:24.66ID:8HpXrTiw0
アベノミクス
0612名称未設定2015/01/24(土) 02:10:03.13ID:aSu/tSCh0
アホノミクス
0613名称未設定2015/01/24(土) 09:26:33.75ID:U8APQblH0
これは
Macの値上げもくるな
0614名称未設定2015/01/25(日) 02:49:29.86ID:UCji5rAJ0
iPhoneが15万になったらかな苦しくなるな
0615名称未設定2015/01/25(日) 13:35:51.67ID:7EaTzocp0
1万2千円弱でもMSと比べたらタダみたいなもんだろ
0616名称未設定2015/01/25(日) 14:01:26.64ID:9n2WnBJU0
MSは19ドルで更新無料じゃなかった?
まさかMSDNの値段のこと言ってるの?
0617名称未設定2015/01/25(日) 16:13:21.77ID:7EaTzocp0
MSDNに決まってるだろ
0618名称未設定2015/01/25(日) 16:50:26.25ID:0WkDSBgM0
MSDN買わなくたってアプリ登録できるのに
0619名称未設定2015/01/26(月) 00:52:09.58ID:VyPrf84r0
商用で開発するとなるとMSDNに入らないとダメだろ。昔のADPも高かったが
その代わり開発機材を半額で購入出来るメリットがあった。最初の頃は購入機材も
無制限だった。
0620名称未設定2015/01/26(月) 08:23:07.66ID:j8UqybXu0
言い訳はいいから
0621名称未設定2015/01/27(火) 05:20:08.82ID:ckxUTOX70
儲かりまくってんだから開発者の負担減らしてくれや
0622名称未設定2015/01/29(木) 03:56:53.07ID:pRhwMSmj0
スイフトはコンパイルが遅い!
0623名称未設定2015/01/29(木) 08:08:53.16ID:zKtOCuQv0
コンパイル遅いわ
バイナリ巨大だわ
コード補完動かないわ
カラーリングうまくいかないわ
リフラクター動かないわ
caller/calleeの参照できないわ
仕様が頻繁に変わってビルドできないわ
0624名称未設定2015/01/29(木) 18:32:58.90ID:8dm0mUPk0
iTunes Uにスタンフォードの「Developing iOS 8 Apps with Swift」きたで

https://itunes.apple.com/jp/course/developing-ios-8-apps-swift/id961180099
0625名称未設定2015/02/01(日) 03:13:32.70ID:hU3ATMp80
nil許さない言語仕様て意味あるの!,?が邪魔だし、三項演算子と同じで見た目奇麗なんだけど
可読性という意味で決してよくない。
→objcでよくね。
Xcode確かに酷いな、まだプロジェクトで採用する気になれん。
0626名称未設定2015/02/01(日) 05:10:34.00ID:fB1F7Q950
ぱっと見で非Optionalであればnilではないのでnilチェックを意識しなくても済むっていう可読性の良さはなきにしもあらず

どうやら、いつでもnilを意識するという癖が無いプログラマが一定数いるみたい
ここはnilでも大丈夫だからnilチェック省略はもちろんnilを意識してることで、その緩さがいいのになあ。どこかのプログだったかでこれがObjective-Cの悪癖だってw
0627名称未設定2015/02/01(日) 09:40:11.06ID:nQJdd3d00
いやobjcと無理ヤリ互換性を維持するためのしょうもない言語仕様にしか見えないのだが。
0628名称未設定2015/02/01(日) 10:13:12.55ID:zARynkJK0
俺の感覚だと、ObjCの動的型は"緩さ"だけど nil は"妥協"
値自体と値の存在性は直行する概念であって、Optional型がある世界の方がそもそもあるべき自然な姿だった
0629名称未設定2015/02/01(日) 10:52:20.73ID:7EcOvUPB0
Smalltalk的には「nilもまたオブジェクト」でしょ
CocoaではNSNullなんてものが別にあるけど、これこそ妥協
0630名称未設定2015/02/01(日) 12:30:02.97ID:5eOmp0iD0
smalltalkのnilにあたるのはNSNullでobjcのnilが妥協
0631名称未設定2015/02/01(日) 12:46:23.09ID:ID6TJWwF0
>>630
まあそうだよな。
ObjCのnilは単なる定数0で、真偽判定あたりでCの仕様を引きずってるからメインで使われてただけで。
0632名称未設定2015/02/01(日) 14:17:34.77ID:fB1F7Q950
nilで落ちない(NOP扱い)のがミソなんだけどだけど。妥協って意味わからんな
0633名称未設定2015/02/01(日) 14:28:24.43ID:fB1F7Q950
ああ、nil撤廃(?)してNSNullにしての、NSNullはすべてのセレクタを受け取り、nilと同じ動作すれば、「nilをオブジェクト」としてなのにってか。>>628の妥協もそういう意味なのかわからんが

あんま実質的な話じゃないなwまあ、NSNullだったらコレクションに入れられませんってのが無いのにってくらいか
0634名称未設定2015/02/01(日) 14:55:09.58ID:56ExUfKe0
nil 撤廃するのにコンテナに NSNull 入れられるままだと
値のないキーで objectForKey: したとき何を返すのかが疑問
0635名称未設定2015/02/01(日) 15:10:26.20ID:fB1F7Q950
ああ、なるほどねっ!そいえばそだな
nil入れてー、めんどくせーが頭に強く残って、そっちのは当たり前の無意識下ですっぽり抜け落ちてた
0636名称未設定2015/02/02(月) 04:51:46.36ID:0AQrlJwi0
ObjCは技術的負債
0637名称未設定2015/02/02(月) 04:54:42.37ID:D+xQRbhw0
技術的夫妻
0638名称未設定2015/02/02(月) 07:23:44.52ID:busullEF0
面白いと思っているのかね…
0639名称未設定2015/02/02(月) 07:33:17.24ID:B+Lg3/3j0
swiftもおぼえて、ObjCも結局理解しないといけないという罠にはまってない?
0640名称未設定2015/02/02(月) 10:02:48.40ID:ZIMF1l1K0
今は過渡期だからObjCも理解しないといけないのはしゃーなし
5年もしたらObjCの話題出しただけで老害扱いされることだろう
0641名称未設定2015/02/02(月) 10:09:52.86ID:83sAzeM70
一度普及したのはなかなか廃れないってのがあるんだがな
まあ、主流がどれかどちらかにはなっているのかは未知数だが、Objective-CにせよSwiftにせよ他の言語にせよ、なんで敵視するのかわからんな。適応できないからとか?w

周りではC(だけ)をやっているのはほぼ見ないが、今Cの話題出したら老害なのか?ふーんw
0642名称未設定2015/02/02(月) 16:24:57.04ID:l/ghb/Tr0
libxml とか sqlite とか opengl とか zlib とか使いたくなることもあるからね
誰かが書いてくれるラッパを使うって手もあるけど
0643名称未設定2015/02/02(月) 20:03:40.22ID:LyCSlLbs0
ビックリマークとクエスチョンマークを書きまくるのがスイフトの特徴
0644名称未設定2015/02/02(月) 23:36:21.43ID:fockMdBz0
+autolayout言語とSQLもあるからな。
0645名称未設定2015/02/06(金) 12:31:57.27ID:8xiUl6Iw0
緑ボタンでフルスクリーンになるのを最大化に変更する
http://anago.2ch.net/test/read.cgi/mac/1422619580/150-
0646名称未設定2015/02/07(土) 15:40:53.08ID:loZToZC80
UXKitはSwift実装ではないの?
0647名称未設定2015/02/07(土) 16:19:35.01ID:dxUjxynB0
Objective-C without the C
0648名称未設定2015/02/07(土) 18:12:43.30ID:lXYpQRkj0
Objective-CはObjectiveからCを引いたものだからObjective-C without the CはObjectiveから何も足さない何も引かないサントリー山崎
0649名称未設定2015/02/07(土) 18:20:48.46ID:xu6P/gCx0
最後笑ってしまったバカヤローコノヤロー
0650名称未設定2015/02/07(土) 18:21:21.37ID:8yMw18p+0
Objective-CのObjectiveの部分は要するにsmalltalkというヤツだったらしいのだが
Objective-Cの方法論が気に入った我々としては
>Objective-C without the C
で出てくるものは当然
『smalltalk with modern language』かと思ったら
なんかObjective-Cでもsmalltalkでもないただの新言語が出てきて困惑。
0651名称未設定2015/02/09(月) 09:45:11.38ID:7c710IQm0
言語と言ってもスクリプト言語だろ
0652名称未設定2015/02/10(火) 00:04:14.52ID:YvPCVweP0
これなんなの?
http://elementscompiler.com/elements/silver/
0653名称未設定2015/02/10(火) 04:16:14.92ID:D2lEHJ6y0
1.2でました
https://developer.apple.com/swift/blog/?id=22
0654名称未設定2015/02/10(火) 10:10:23.46ID:jAs/krrz0
let で宣言だけ先にできるようになるのはありがたい
0655名称未設定2015/02/10(火) 10:22:39.15ID:jAs/krrz0
変更点結構多いなぁ
覚悟の上だろうけど書籍出してる人ら涙目だろ
0656名称未設定2015/02/10(火) 10:37:18.67ID:ZmlHq9sj0
改訂版でまた儲けるだろw
0657名称未設定2015/02/10(火) 11:03:47.12ID:Y5ZZe/Ok0
出版社が涙目
0658名称未設定2015/02/10(火) 11:39:18.32ID:q+aVJuU60
Obj-Cの萩原本も全バージョン持ってるわ
0659名称未設定2015/02/10(火) 18:18:35.89ID:VfNH9X/70
なあ……しれっとObjective-Cのほうにnullにならないポインタを表現するなんかが加わったって書いてないか
0660名称未設定2015/02/10(火) 18:26:56.17ID:3jN68bPg0
うん。単なる表記だけなのか、コンパイラでWarningなり出すのかErrorにするのかわからんけど
Swiftのような実行時のOptional/非Optionalのような動作にはどうだろうな
表記だけなら好ましい。引数がnilを許容するのかしないのかわかるので

SwiftではNSStringからStringへの暗黙的変換はしなくなったのね。StringからNSStringへはするみたいだけど。なんだろ?
0661名称未設定2015/02/10(火) 22:14:05.45ID:HcjodI7L0
Xcode 6.3 beta, including iOS 8.3 SDK with Swift 1.2
https://developer.apple.com/xcode/downloads/
0662名称未設定2015/02/10(火) 23:04:52.09ID:oedAzMA40
まーべ まーべ ああ おれのMavericksは 対象外
0663名称未設定2015/02/11(水) 03:02:57.04ID:gWgr3cpe0
Swift, true to its name, is moving fast. とか言ってる人がいるけど、
そんなに改善点・変更点多いの?
0664名称未設定2015/02/11(水) 23:10:34.94ID:vG4wVLT50
ベータが複数並行して走るとか初じゃね
0665名称未設定2015/02/12(木) 00:20:41.15ID:/1MU2/Bl0
Mac版とiOS版の並行は今まであったけど。
0666名称未設定2015/02/12(木) 14:17:40.56ID:kGExNDqy0
1.2きたな
0667名称未設定2015/02/12(木) 16:40:12.96ID:vlwBgZ6O0
俺はMacは当分Objective-C/C++で行く。
WinではいまだにMFCだし。
新言語なんて3時間もあれば使える。(豪語)
0668名称未設定2015/02/12(木) 19:15:00.05ID:NEvw55+B0
Xcode6.3サクサク動くから使いたいんだけど、やっぱりSwift1.2で作ったらiOS8.2以前には対応できないんでしょうか?
以前のiOSに対応させる方法はありませんか?
0669名称未設定2015/02/12(木) 19:51:14.45ID:oPsy5Y9p0
countElement が count になったんだな
0670名称未設定2015/02/13(金) 21:05:58.67ID:TBU3Ntwj0
まさに飛ぶ鳥を落とす勢いで発展していくSwiftだが、Swiftにとってそれは自滅を意味する。
0671名称未設定2015/02/14(土) 15:29:06.16ID:0/oO10/p0
Swiftなんて使ってるやつ、ただの暇人だろ
プロはObjective-C
0672名称未設定2015/02/14(土) 16:11:00.46ID:9Z7TOA780
>>671
よう暇人
0673名称未設定2015/02/15(日) 00:56:22.90ID:oOV1QOQ80
Swift1.2で作ってもiOS8.0対応できるじゃん!
バイナリにするから元の言語仕様は関係無いんだね。
やる気出てきたー!
0674名称未設定2015/02/15(日) 03:09:53.64ID:xUfPyZQ/0
死ぬほど遅いビルド時間がobcより短くなったら即Swift使います。
ただし簡単なアプリ限定で。
コード補完も恐ろしく遅い。
1.2に期待。
0675名称未設定2015/02/15(日) 13:05:20.04ID:iiwm6AnM0
>>674
コード補完させようとしたら source kit が落ちる問題もな
1.2 betaは当然まだ使えん
0676名称未設定2015/02/16(月) 01:51:35.14ID:/WJzoqS40
Swiftで書いたプログラムをbreakpointで止めると関数内の変数の値が見れないけど仕様?
それとも設定かなにかある?
クラスのメンバ変数は見れるけど
0677名称未設定2015/02/16(月) 02:37:28.55ID:4IFZNCUD0
いや見れるっしょ
0678名称未設定2015/02/16(月) 07:32:49.97ID:AeBc2uOn0
乗せられてスイフト勉強しちゃったけど、実戦投入できる完成度になるまでは、まだ1年くらいかかりそう
0679名称未設定2015/02/16(月) 11:31:42.92ID:ZckOaPg+0
いや実戦投入いけるっしょ
0680名称未設定2015/02/16(月) 19:19:54.42ID:pNmlYkO90
みんな白兵戦で頑張ってるよ
0681名称未設定2015/02/16(月) 23:07:53.71ID:jhVpcXeJ0
>>678が使いこなすのに1年かかるってことじゃない?
0682名称未設定2015/02/16(月) 23:47:58.69ID:VE6xrSIP0
そうだよ
0683名称未設定2015/02/17(火) 01:19:59.78ID:IU+yhJvj0
自分にはビルドの速度が致命傷です
0684名称未設定2015/02/17(火) 01:49:44.46ID:suSTFd2/0
xcodeの壊れっぷりがまだまだ実戦向きじゃない。
0685名称未設定2015/02/24(火) 01:08:38.97ID:ilL6KOoA0
>>684
それ待ってたら一生実戦できんやんw
0686名称未設定2015/02/24(火) 02:03:06.19ID:PiX1ZRhx0
俺たちのベータテストはこれからだ!
0687名称未設定2015/02/24(火) 12:20:54.49ID:qvfB1rJh0
セミコロン打ちて〜
0688名称未設定2015/02/24(火) 12:59:20.09ID:a9aElys90
打ってもええんやで。打たないけど
行き来するとセミコロン打ってしまうよなw
0689名称未設定2015/02/24(火) 19:17:11.26ID:XpRXKysE0
恋コロン 髪にもコロン セミコロン
0690名称未設定2015/02/24(火) 23:28:01.81ID:RFHJqt3w0
古っ!
0691名称未設定2015/02/25(水) 13:38:48.84ID:SydbQ5cR0
一生安定性が向上しないってことは、半年くらいの寿命ってことかな
0692名称未設定2015/02/25(水) 22:38:15.97ID:6o5G86gL0
ごめんやっぱSwift辞めるわwww
Obj-C 3.0用意したからこっち推しねwww

って言い出しそうな気もしてる
0693名称未設定2015/02/26(木) 05:51:34.35ID:nc/N6U9c0
>>692
ないない。
むしろobj-c切り捨て。
もっと構造が視覚的に見える言語になる。
0694名称未設定2015/02/26(木) 07:15:12.99ID:ehSZF0CI0
>>691
これだけの期間でそこそこ使われるようになった言語って今までないんだが。
0695名称未設定2015/02/26(木) 09:27:32.24ID:5KB5TMJf0
せっかくだから俺はSwiftを選ぶぜ
0696名称未設定2015/02/26(木) 09:49:53.15ID:55oCpqbK0
obj-cを切り捨てたらこれまでの膨大なコード資産が無になるよね。切り捨てられるとしたら何年後だろうね。コーバータとか用意してくれるのかな。
今年のWWDCでの動きを静観しよう。
0697名称未設定2015/02/26(木) 14:59:01.68ID:nc/N6U9c0
初心者質問。
class外で書いたグローバルなプロパティって初期化して起動しても覚えてるんだけど、特にリリースとかしなくてもいいのかな?
アプリの設定とかに使うと覚えててくれて便利なんだけど何で消えてないのか分からないから、もっと本格的に使いたいけど何かこわい。
どういう領域に記憶されてるんですかこれ?
0698名称未設定2015/02/26(木) 21:50:46.90ID:Tvzi6vUT0
現時点でスイフト使ってる人は、
簡単な小さなアプリつくってる初心者か、
遅いビルドの忍耐が大好きなマニアか、
将来スイフトが主流になった時の為に予習してるか
どれか。
0699名称未設定2015/02/26(木) 22:33:29.88ID:HySKqxhL0
というかobjcのソースもswift上で動かせるじゃん。
どっちも使えるようになればいいのに。
0700名称未設定2015/02/27(金) 00:02:23.85ID:gz6ioi2i0
var ret = -100.0 + (2.0 * 1.3) + (3.0 * 4.0) + (0.2 * 2.0 * 2.0) + 0.1 * 2.0 * 3.0

え…これで落ちるんwwwwwwwww
ありえんだろ
0701名称未設定2015/02/27(金) 02:37:34.94ID:fo8akdTD0
>>698
ビルド遅いの?
0702名称未設定2015/02/27(金) 12:12:53.20ID:aZBEVcVH0
https://speakerdeck.com/tokorom/chang-sheng-kisurutamenixin-zang-nie-iririsuhamouyameyou

これほどじゃなくても、そこそこのアプリだと体感的には3倍くらい
0703名称未設定2015/02/27(金) 22:53:30.43ID:BXG2QYKb0
数ヶ月swiftのプロジェクトいたけど、ひどかった。多少可読性高いだけじゃん
obj-cでよくね。リファクタリングが無効なのもいただけない。xcode6.3で改善してるのか?
0704名称未設定2015/02/28(土) 11:48:21.43ID:pyCfDk5O0
>>703
細かいとこはまあいいにしてもリファクタリングが使えないのは痛いな
早く対応してくれよー
0705名称未設定2015/03/03(火) 17:21:07.44ID:sQ/mRPfF0
可読性高いと上流の人は楽だから評判良いな、下は辛いけど
ビルド速度やコード補完、リファクタリングも上は関係ないし(工数はアウトオブ眼中
0706名称未設定2015/03/04(水) 15:04:54.30ID:7a7xhrf60
正直コード補完嫌い
0707名称未設定2015/03/04(水) 22:23:59.18ID:Nni+wYwr0
メソッド名の補完は要るけど括弧閉じとかはいらね
if分とかもスペース入れる箇所が気にくわね
0708名称未設定2015/03/04(水) 23:45:25.85ID:I6XrnB0G0
そのぐらい自分好みにできるんじゃないの
0709名称未設定2015/03/05(木) 10:19:05.33ID:esISOF/f0
Xcodeって調整できる程に賢いんだっけ
豪に入って豪に倣えのスタンスで諦めてるわ
0710名称未設定2015/03/05(木) 12:40:06.67ID:wVmU5EQt0
括弧閉じとそのインデントはPreferencesのText Editingでオフに出来る。
if分とかは自分好みのをCode Snippetに登録してる。
0711名称未設定2015/03/05(木) 16:24:00.77ID:t0w0ZiBy0
賢くないのが他を賢いかどうか論ずるなんて… まあ、2chではよく見る光景だがw
0712名称未設定2015/03/05(木) 17:54:11.24ID:LMVau1vt0
EclipseやIntelliJに比べてどうだろうね
AppCodeが使われるのも分からいでもない

Appleは信者が多いので否定意見は2ch内でも少ないよな
0713名称未設定2015/03/05(木) 18:06:53.20ID:p55fB0IR0
宗教は盲目になるのが特徴。
モチベーションの為に好きになるのはいいけど、プログラマだったら同時に別の目で見つめることもできた方がいいかもね
0714名称未設定2015/03/05(木) 18:18:24.64ID:t0w0ZiBy0
否定しても何も変わらないんだから意味ないだろ。意味ないことを排除するのが開発者だろw
EclipseやIntelliJが絶対にいいのだったらそっちを使えばいいだけの話だろ(開発できんの?)
AppCodeだってそっちが絶対だったらそっちを使えばいいだけの話

否定だけで自分で調べようとか工夫しようとか何かしようとしないなんて、ほんとに開発者なんかいな
短絡的に「信者」と言うのも短絡てすぎて、普段どういう思考で開発しているのか心配になるな
0715名称未設定2015/03/05(木) 18:52:10.73ID:RmnjUE0X0
とりあえずなんでも「Appleは宗教」と言いだす人の頭の悪さには辟易するなw
いま思考停止しましたボク!って周りに宣言してみせてるだけじゃんwっていう。
0716名称未設定2015/03/05(木) 18:58:38.63ID:5hXIrfiL0
今日も元気で何よりです:-)
0717名称未設定2015/03/05(木) 19:14:11.59ID:Ul+A7PQB0
>>714
AppCodeはIntelliJベースでswiftをサポートしたんやで
Xcodeをちょっとけなされたからって他の選択肢を知らない(調べない)のは...
0718名称未設定2015/03/05(木) 19:37:07.15ID:t0w0ZiBy0
>>717
なるほど。どうも
特にXcodeでSwiftに「強い不満」も「なにも支障も無い」ので必要ないから調べる必要性もつもりもないからええんやw ちょーっと違う

(けなすw EclipseとIntelliJは他の開発で使ってるけどね。特にどれがどうこうとは思わないな。頭のスイッチにちょっと手間取るだけで。それこそ豪に入って豪に倣えw)
0719名称未設定2015/03/05(木) 21:42:10.92ID:roEPA32Y0
これくらい何も考えず使えたら幸せだなぁ
0720名称未設定2015/03/05(木) 23:38:12.78ID:t0w0ZiBy0
うらやましかったらw、訓練すればあなたもそうできるようになるよ
訓練というか単に馴染むちょっとした努力(?)するだけだけど
0721名称未設定2015/03/06(金) 00:25:04.60ID:XSSSBOY80
欠点の情報共有にも、価値はあると思う。
0722名称未設定2015/03/06(金) 23:46:42.09ID:NE2l1c7D0
xcodeいまベータ版だらけで困る。
ウォッチキットいらんから正規のアップデートして欲しい。
0723名称未設定2015/03/07(土) 02:19:11.17ID:8Amd2kL30
アプリサイズでかくてアップデートに時間かかるの何とかして欲しい
0724名称未設定2015/03/07(土) 02:44:43.99ID:iR0BalLu0
だれもが通る道
0725名称未設定2015/03/07(土) 10:17:57.12ID:FOP5YwBT0
YouTubeで一通り見たけど、これスクリプトとオブジェクト
足しただけだねぇ
まぁ、Ob-cよりましだな
0726名称未設定2015/03/07(土) 18:26:33.23ID:lJHe6ALT0
98%は仕様を見た時にお〜と思うけど実際に自分にメリットがあるかどうか不明
2%は確実に自分にメリットがあるとわかる
こんな感じ。
0727名称未設定2015/03/07(土) 19:51:11.50ID:g5kzvWuO0
ふわっと勉強してもなんとなく動く
キディがJavaScriptを書きながら「俺、Javaできるぜー」って言って
本物のJavaに直面して「俺の知ってるJavaと違う」って思う感じ

ガチでやろうとすると(今の段階では)objcのがリファレンスが安定してる
そんな感じかな。swift用に命名規則を作らないといけいない気がする
0728名称未設定2015/03/08(日) 20:44:54.91ID:ENXAB+2h0
保守派多いな。
俺はswiftの方が読み書きが楽だからswiftでいいや。
それよりも別ファイルでIN/OUTを繋ぐ設計図的なものが欲しい。
他人のアプリ直す時コードだけだと動き把握するだけで頭爆発しそうになる。
IB使うと重いのも何とかして欲しい。
バイナリにしたら同じってことには出来ないのかな?
0729名称未設定2015/03/09(月) 09:21:35.70ID:67dyZoqF0
swiftやったあとにobj-cやったら
Cocoaと相性いいわ、ビルド速度早いわ、プリミティブ型とそれに準ずる型が少ないわ
obj-cのあまりの便利さに鼻血が出そうになってプライベートは戻ってしまった
今さら業務の方は戻せないから swift やってるけど率先して推すものじゃない
0730名称未設定2015/03/09(月) 12:03:44.49ID:djqzELJy0
>>729
cocoaもswiftで書けるのに?
相性って言うの気になるから時間あったら教えてほしい。
0731名称未設定2015/03/09(月) 13:21:25.64ID:n4rzqhzh0
2chが誇るSwiftのプロ達がまさかり担いで待機しております
さぁ、あなたもSwiftをディスってレス乞食しよう!
0732名称未設定2015/03/09(月) 16:00:05.75ID:k0ALkJVX0
delegateで多用されてる関数名の前にキーワード置く書き方は
swiftよりobj-cの方がスマートに見えるな
swiftで書いたら何コレな感じ
0733名称未設定2015/03/09(月) 16:05:08.49ID:wg2m7xTY0
>>731
保守派の方が多いからまさかりじゃなくチェーンソーくらい持ってこい
0734名称未設定2015/03/09(月) 21:30:19.07ID:Qmo4bpr80
そんな神をバラバラにするような凶器持ってくるなよ
0735名称未設定2015/03/09(月) 21:45:20.84ID:swJR0lJQ0
90年代にC++一辺倒ではなくObjective-Cが同時期にライバルとして広まってたら
JavaとSwiftがライバルとして10年ぐらい前に闘ってたのかなぁ…(ポワワ
0736名称未設定2015/03/09(月) 22:05:26.38ID:BJ/q/EWF0
マジレスすると Run Anywhere が出来ないので勝負にならん
元より土台が違う
0737名称未設定2015/03/10(火) 06:35:35.42ID:cl2TL5VK0
Swift の REPL のパスをメモ
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift
0738名称未設定2015/03/10(火) 10:30:12.39ID:7/ZJQfU+0
$ which swift
/usr/bin/swift
0739名称未設定2015/03/10(火) 10:51:51.76ID:TnkYBGWm0
コナン君の出番だな
0740名称未設定2015/03/10(火) 12:36:50.97ID:uB3QylDb0
% xcrun -find swift
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift
0741名称未設定2015/03/10(火) 16:23:03.83ID:votYSwmN0
それ何に使うやつ?
0742名称未設定2015/03/11(水) 01:04:10.30ID:q4FQQaAr0
6.2で安定性は良くなったのか、、、ビルド時間は早くなったのか
0743名称未設定2015/03/13(金) 17:26:47.96ID:FYORiJwO0
すいません、何かヒントを下さい。

AudioQueueGetProperty を呼びだそうとすると、コンパイルエラーになります。

エラーメッセージ:
Cannot invoke 'init' with an argument list of type '(AudioQueueRef, $T3, $T7, $T11)'

コード:
var levelMeter = AudioQueueLevelMeterState(mAveragePower: 0, mPeakPower: 0)

let levelMeterSize = UInt32(sizeof(AudioQueueLevelMeterState))
if let q = self.queue{ // AudioQueueRef が入っている
AudioQueueGetProperty(
q,
UInt32(kAudioQueueProperty_CurrentLevelMeterDB),
UnsafeMutablePointer(levelMeter ),
UnsafeMutablePointer(levelMeterSize))
}
println("levelMeter = \(levelMeter.mPeakPower)")

2番めの引数が怪しいと思っているのですが(Objective-Cのenum周り?)、
どうしてもわかりません。何かヒントをいただけるとありがたいです。
0744名称未設定2015/03/13(金) 19:21:46.12ID:sPnacjXt0
>>743
let levelMeterSize
だから、Unsafe[Mutable]Pointerにはならないんじゃね。また、levelMeterは構造体渡しじゃなくて構造体のポインタでなきゃじゃね

var levelMeterSize = UInt32(sizeof(AudioQueueLevelMeterState))
if let q = self.queue{ // AudioQueueRef が入っている
AudioQueueGetProperty(
q,
AudioQueuePropertyID(kAudioQueueProperty_CurrentLevelMeterDB),
&levelMeter,
&levelMeterSize)
}

かな
0745名称未設定2015/03/13(金) 19:50:00.52ID:72sdC8Gr0
ありがとうございます!
コンパイル通りました!
0746名称未設定2015/03/13(金) 19:51:30.45ID:72sdC8Gr0
var と let の違いを UnsafeMutablePointer は見てるんですね・・。
勉強になりました。
0747名称未設定2015/03/13(金) 19:51:32.20ID:72sdC8Gr0
var と let の違いを UnsafeMutablePointer は見てるんですね・・。
勉強になりました。
0748名称未設定2015/03/13(金) 21:34:12.20ID:72sdC8Gr0
とゆーか、 UnsafeMutablePointer でポインタを作って渡してくれると思っていたんですが、これは違うんですかね。
リファレンスには UnsafeMutablePointer<Void> ってかいてあったので、それっぽく試行錯誤していたんですが・・。
0749名称未設定2015/03/13(金) 21:52:01.92ID:sPnacjXt0
Cでいうと、
const int levelMeter = ...;

const int *levelMeterPointer = &levelMeter;
はいいが、
int *levelMeterPointer = &levelMeter;
は、ダメな感じw (テキトーに書いてるから間違っているかもしれない)

AudioQueueGetPropertyで、levelMeterSizeの値が変わる(可能性がある)ので、letじゃダメじゃんvarだろっていう。エラーメッセージがわかりにくだけだな
0750名称未設定2015/03/13(金) 21:58:03.83ID:sPnacjXt0
UnsafePointerとUnsafeMutablePointerとの違いを理解しよう
Cわからなくてletとvarの関係/違いに近いかな
でもやっぱり、OS X/iOS共にCoreがCなのでCを理解しなくてもいいなんてなさげね
0751名称未設定2015/03/13(金) 22:08:16.95ID:72sdC8Gr0
ありがとうございます。
Mutable が付いているのは、変更可能という意味ですよね。
let は Mutable のポインタに出来ないというのは初めて知りました。
let も変更不可ですけど、そことここが連動しているとまでは思っていませんでした。
0752名称未設定2015/03/13(金) 22:31:04.76ID:72sdC8Gr0
UnsafePointer の使い方も何か大幅に間違っていたようでした。
これはポインタを作るためのものではなくてポインタ型の定義に使って、実際のポインタは & などで生成するのですね。。
Using Swift with Cocoa and Objective-C のポインタの章を読み直して来ます。
0753名称未設定2015/03/14(土) 23:15:05.77ID:F13sqbnw0
すいません、また聞かせてください。
NSTime.scheduledTimerWithTimeInterval で1秒ごとに下記のコードを呼び出しています。
マイクからのボリュームを測りたいのですが、printlnの出力はずっと "levelMeter = 0.0" のままです。
以前書いたObjective-C ではうまくいっていたのですが、なぜ Swift でうまくいかないのかわかりません。

Swiftコード(うまくいかない):
func updateVolume(timer: NSTimer){
var levelMeter = AudioQueueLevelMeterState(mAveragePower: 0.0, mPeakPower: 0.0)
var levelMeterSize = UInt32(sizeof(AudioQueueLevelMeterState))
if let q = self.queue{
AudioQueueGetProperty(
q,
AudioFormatID(kAudioQueueProperty_CurrentLevelMeterDB),
&levelMeter ,
&levelMeterSize )
println("levelMeter = \(levelMeter.mPeakPower)")
}
}

Objective-Cコード(うまくいっている):
- (void)updateVolume:(NSTimer *)timer {
AudioQueueLevelMeterState levelMeter;
UInt32 levelMeterSize = sizeof(AudioQueueLevelMeterState);
AudioQueueGetProperty(queue,kAudioQueueProperty_CurrentLevelMeterDB,&levelMeter,&levelMeterSize);
// Cordova だったので Javascript に送っています
[self writeJavascript:[NSString stringWithFormat:@"receiveVolumeLevel(%f)",levelMeter.mAveragePower]];
}

また何かヒントを頂けるでしょうか?
よろしくお願いします。
0754名称未設定2015/03/15(日) 00:46:19.36ID:gLE+mjjf0
> println("levelMeter = \(levelMeter.mPeakPower)")
> [self writeJavascript:[NSString stringWithFormat:@"receiveVolumeLevel(%f)",levelMeter.mAveragePower]];

前者は levelMeter.mPeakPower を、後者は levelMeter.mAveragePower を測ってるのだが何故?
0755名称未設定2015/03/15(日) 01:22:19.70ID:7jCV6PoJ0
>>753
AudioFormatID(…) でなくて、AudioQueuePropertyID(…)じゃないの?
それとも、どちらを使っても大丈夫なの?
0756名称未設定2015/03/15(日) 08:09:08.89ID:yOMn1qAU0
>>754
これは試行錯誤する中で乖離してしまったみたいです。
どちらもボリュームの数値を取るのですが、基準が違います。
しかし直してみても動作は変わりませんでした。

>>755
間違っていました。直してみましたが、動作は変わりませんでした。


levelMeter のポインタをきちんと渡せているんだろうか・・?
0757名称未設定2015/03/15(日) 10:56:27.16ID:yOMn1qAU0
そう言えば AudioQueueStart や、AudioQueueanewInputの返値を
捨ててしまって確認してなかったので、それ見てみます。
0758名称未設定2015/03/15(日) 13:17:30.48ID:ljKptewv0
ハマった…
コンテナビューで分割表示してるビューがあるんですが、この子ビューのボタンイベントでコンテナを持ってる親ビューごと閉じたいときはどうしたらいいでしょうか?
0759名称未設定2015/03/16(月) 06:26:56.85ID:vB29ydbE0
すいません、報告です。
AudioQueueGetProperty で値が取れない件について質問していたものです。
理由は単に AudioQueueSetProperty を事前に呼び出すのが漏れていたためでした。
アドバイスありがとうございました。
0760名称未設定2015/05/02(土) 19:45:05.53ID:8rMQWpM70
消音カメラってどんなコマンドを使って作られてるのですか?
0761名称未設定2015/05/03(日) 01:39:20.63ID:4VkrlE2C0
こいよベネット!銃なんか捨ててかかって来い!
0762名称未設定2015/05/03(日) 02:02:30.38ID:2rHMl0RU0
ダメよ。今日は空手のお稽古があるの。
0763名称未設定2015/05/05(火) 04:58:56.08ID:2MsaSDrg0
AVAudioPlayerで着信音の鳴る音量の設定とか出来ます?
0764名称未設定2015/05/13(水) 18:04:10.88ID:+JzT9wj80
わかりません
0765名称未設定2015/06/02(火) 12:12:23.88ID:lhK0HVW40
自分でカメラのバッファのデータを画像ファイルにエンコードして吐いてるんじゃないの?
0766名称未設定2015/06/06(土) 13:23:50.13ID:qktaiX2U0
もずの開発って続くの?
0767名称未設定2015/06/06(土) 13:24:19.03ID:qktaiX2U0
誤爆
0768名称未設定2015/06/10(水) 16:54:49.02ID:lXzGEQF/0
オープンソース予定のswiftのコンパイラってswiftで出来てるよね?
0769名称未設定2015/06/10(水) 23:08:42.54ID:tfp0btCz0
Cじゃないの?
想像だけど。
0770名称未設定2015/06/11(木) 05:32:41.20ID:Na4mNtEm0
昨今、なでしこすら自身の言語でコンパイラ作ってるのに swiftってそんなにしょぼいの?
0771名称未設定2015/06/11(木) 05:58:36.09ID:vuwb0X7k0
LLVMを使うためにC++なんじゃないかな
0772名称未設定2015/06/12(金) 05:48:25.59ID:fhQf7JcE0
swiftがオープンソース化しても、
linux環境化でGCC拡張をサポートしていないLLVMがlinuxで普及するか微妙。

上手くlinux環境でLLVMが普及したら
LLVMアセンブリ書いて、swiftいらね、あれ、、、
0773名称未設定2015/06/12(金) 11:17:26.32ID:qq4B28mF0
イミフ
0774名称未設定2015/06/12(金) 11:24:23.35ID:8VIpIe/F0
ああイミフなのは俺だけじゃなかったか、安心した
0775名称未設定2015/06/12(金) 16:02:18.93ID:RGdJw/+70
一人の子供が王様を見て「イミフ」と言い出すと大人たちも次々と
0776名称未設定2015/06/12(金) 17:45:05.39ID:EJojknsD0
大人で分別のある>>775が解説してくれるんですね、分かります
0777名称未設定2015/06/12(金) 19:29:52.18ID:qq4B28mF0
いや、そういう意味じゃないんじゃないの。誰が子供やねんっw
0778名称未設定2015/06/17(水) 23:54:47.74ID:UACzG7qC0
OSXのgccは標準が-std=gnu99状態だった気がするが
clangはそうでもないのけ
0779名称未設定2015/06/18(木) 18:43:54.79ID:xQYPjKy20
swiftcにそんなオプションあるのかね
0780名称未設定2015/06/19(金) 03:27:58.94ID:pjDJKqdA0
去年の9月に >>258 >>280 を書いたが、まずこのスレが先に進んでないことに驚いた
まあ2chなので少しでも荒れれば人は離れるから当然か


さて、去年秋に予想した通りSwiftはついにオープンソースになることが、この間のWWDC2015で発表された
まさか1年で発表するとは予想外でもう少し先だと思ったが、タイミング的にも遅過ぎると普及に絶対的に不利になるからこれもありなのだろう

上では、Swiftのオープンソース化として、次の3パターン、
>対応の形態として、
>AppleのWebKitのようにオープンソースにして丸ごとコミュニティに提供するのか、
>MSの.NETのように仕様だけを標準化して公開し実装はMonoのようにオープンソース含め各々に任せるのか、
>あるいはオラクルのJavaVMのようにランタイムの開発も含め完全に自社のコントロール下に置いてWindows版やLinux版を開発するのか
>についてはまだ見えてこない。
を予想したが、最後のパターンではないらしく、OSI準拠にしてオープンソース化し、コントリビューションを受け入れることをAppleが最初に言っている

ただ、完全に手放しだとむしろ自社製品の開発と整合性に苦しむことになりかねないので、
やはり2番目の.NETに似たやり方に近い方法で普及させていくのではないだろうか
もちろんソースコードごとコミュニティに公開するからそこはMonoのときより踏み込むだろうが、
常にブランチのメインストリームをAppleが(実デバイスに最も安定して乗せられるという意味で)コントロールし続ける形になるかも知れない


デバイスに普及している実用言語のうちでJavaやC#等との大きな違いの一つに、
ガーベジコレクションを使った共通VM上の中間言語ベースなのか、参照カウントを自動化(ARC)して埋め込みランタイムごとCPU別ネイティブにコンパイルするかの違いがあり、
これは川岸の向こうとこっちほど隔たりがある
Appleが小さな処理である参照カウントとその自動化を選択した決断が適切だったかがどうかは、今後明らかになっていくと思う


まずは今後が楽しみだ
0781名称未設定2015/06/19(金) 05:01:04.36ID:KBaP2V2D0
なんかキモいw
0782名称未設定2015/06/19(金) 08:04:16.63ID:Q3howQrY0
なんか所か確実にキモい
3行でまとめ直せ
0783名称未設定2015/06/19(金) 09:03:17.56ID:OKFEESXm0
自分語りキターーーーーーーーーーー
0784名称未設定2015/06/19(金) 14:27:33.43ID:HWfmCJ4o0
>>780
GC vs ARC
なら、ARCの勝ちだと思う。
GC使うアプリ(Androidアプリ)はバッテリーの持ちが悪い感じがするんだけど、
どうなんでしょう、エロい人?
0785名称未設定2015/06/19(金) 14:39:24.76ID:L6crFzbo0
Apple Watch 1日もつ、Android Wear 機種によっては2日もつ
なんであんな低機能でバッテリー持ち悪いのか
どうなんで(ry
0786名称未設定2015/06/19(金) 14:58:51.03ID:HWfmCJ4o0
>>785
その2日もつっていうのは、Tizen機だったりPebble機だったりしない?
Android端末と繋がる、wearable端末の中には、Android Wear機じゃないのも
まじってるよ。
0787名称未設定2015/06/19(金) 15:06:11.69ID:71xlp9gv0
>>786
Motoはおk、LGはApple Watchとどっこいどっこい、Samsungは知らん
つーか、ランタイムのメモリ管理より、別の要因の方が大きいだろうよ
0788名称未設定2015/06/19(金) 15:30:08.48ID:HWfmCJ4o0
>>787
ランタイムっていうか、VMが動くってのがAndroid機が
電力消費激しい原因じゃないのかなぁ。
アプリ毎にVMが動くという、幾つもVMが起動しているのが
Android OSって事なんじゃないすか?

だから、Android OSってのはメモリ大盛りな機種が多いし。

iOS6機なんて256MBで動いてる(iPod touch 4th)のがあるし、
Zenfone2なんかすごいメモリ搭載しないとダメなんでしょ?
0789名称未設定2015/06/19(金) 15:41:50.08ID:HWfmCJ4o0
788です。
気になって、自分で調べてみました。
Dalvik VMの起動は1回だけだそうです。アプリ毎にVMが動くんですが、そのVMは
最初に起動したVMのコピーだそうです。コピーはforkシステムコールってので
作るそうです。

オブジェクトのクローンを作るのと似てるんだと思います。

アプリ毎にVMが動くんだけど、その起動はforkシステムコールだって事らしいです。
0790名称未設定2015/06/19(金) 23:40:02.26ID:bPFMFZt10
>>788
iOSはiOSいくつで付いたんだったっけかなぁ…
もともとアプリがバックグランド動作をしないのが常識な造りなのを利用して
起動してるけど休眠してるアプリはiOSがcoredataのしくみ利用して
暇な時間に展開してるアプリを圧縮の上、フラッシュメモリに退避するしくみだから
起動すればしただけ実メモリ圧迫し続けるUNIX仕様のままの
Androidとはメモリの空き具合がそもそも違うつか…
0791名称未設定2015/06/20(土) 03:15:00.12ID:u27EkuBX0
>>790
iOS 4でbock、iOS 5でARCとStoryboardが登場
んでARCはweak以外はiOS 4でも使えるようになってた
iOS 6でAuto Layout
ざっとそんな感じ
0792名称未設定2015/06/20(土) 03:15:58.86ID:u27EkuBX0
あれ、スレ間違えたっぽい
0793名称未設定2015/06/22(月) 19:47:31.37ID:AiMn/Qt60
アップルも主張を認めて無料期間分のライセンス料も払うみたいやね。
0794名称未設定2015/06/22(月) 20:15:40.10ID:7Xgd0Ixz0
Swift違い
0795名称未設定2015/06/22(月) 21:51:02.29ID:1fg6KRzP0
ボケなのかどうなのか判断つかずにスルーしてしまった
悔しい
0796名称未設定2015/06/23(火) 00:11:32.48ID:JVRuEDAz0
一本取られたな
0797名称未設定2015/06/23(火) 12:49:29.99ID:FwSg2ZVN0
カメリオで
「Swift(プログラミング言語)」選んで購読してると
毎回のようにこの女がトップ記事とか
もうやめて下さい
0798名称未設定2015/06/24(水) 19:44:59.92ID:mNwK620o0
ブーストが一斉に停止して、直近にブーストしたアプリが上位にランクしっぱなし。。
まさに棚ボタか
0799名称未設定2015/06/25(木) 15:39:08.92ID:qlBqBB+U0
フクイチの燃料の総量は

約3766トン

https://web.archive.org/web/20150216090935/http://nanohana.me/?p=3415

チェルノブイリで爆発した燃料の量は、推定たったの10トン前後。
これからフクイチではこの約3766トン全てが放出されるだろう。
ちなみに3号機の爆発した燃料だけでも、150トン。

使用済み燃料棒の一覧
号数 燃料の種類 使用済み燃料棒 未使用燃料棒 燃料棒合計 燃料総量予測)
1号機 ウラン   292本   100本   392本  約129t
2号機 ウラン   587本   28本     615本  約203t
3号機 MOX   514本   52本     566本  約186t
4号機 ウラン   1331本  204本    1535本  約507t
5号機 ウラン   946本   48本     994本  約328t
6号機 ウラン   876本   64本     940本  約310t
共用プールMOX有り6375本   不明    6375本  約2103t
0800名称未設定2015/06/27(土) 00:23:05.60ID:+T+0WcVb0
>>788
VMのせいというかGCとARCの違いによる差だね
ハードスペックが同じなら、iOSが圧倒できるよね。
0801名称未設定2015/06/27(土) 07:33:31.42ID:1MFpg6ZY0
何かGCに強い恨みがあるのかw
10年前と違ってGC要因のアプリバグは皆無だが、手酷いバグがあったの?
0802名称未設定2015/06/27(土) 08:32:36.78ID:0N4nW8xj0
? GCは動的に「ガベージ」(ゴミ)になった部分を
探索し続けるプロセスが背後で走り続けるから
リソースやパワーが限定されるモバイルデバイスなどでは
その負荷が無視できないぐらい大きいよねという
ものすげぇあたりまえの話なだけだと思うが…?
0803名称未設定2015/06/27(土) 10:06:42.62ID:/dkAVgtS0
1.3や1.4のJavaは辛かったな(それ以前は論外
最近のOracle Javaやdalvik, artはその程度の話は最適化されてるから心配しないけど
0804名称未設定2015/06/28(日) 00:28:49.28ID:Ch8eMncC0
>>803
javaの言語仕様が変わりでもしない限り、
vmがいくら効率よくなっても、gcによるメモリの開放タイミングは変わらないでしょ。
,だから、メモリの大食いは改善されない。
0805名称未設定2015/06/28(日) 00:37:02.93ID:EkArqxBl0
GCに親殺されたマン
0806名称未設定2015/06/28(日) 06:38:40.96ID:mF7MO+370
解放タイミングは変わってるんだよなぁ
Ginger Breadでの仕様変更は煽りをくらった
0807名称未設定2015/06/28(日) 09:34:07.79ID:fF6xvPFN0
ARCのメモリ解放タイミングって最適化されてる?
swiftランタイムがよしなにやってるなら幸いだけど、iOSに乗っかってるなら変わらんかね
0808名称未設定2015/06/28(日) 10:20:15.98ID:Ch8eMncC0
ARCは参照カウント方式だから、どこからも使われなくなった瞬間に開放される。
0809名称未設定2015/06/28(日) 12:09:29.67ID:eeP9GVCY0
CPU忙しくてもドーンと解放するバカっぷりなの?
0810名称未設定2015/06/28(日) 12:16:43.27ID:GhXQR40w0
どっちのことを言っているのだかww
0811名称未設定2015/06/28(日) 22:17:58.43ID:FBPAjRFG0
そう書けばそうなるな>CPU忙しくてもドーンと解放する
0812名称未設定2015/06/28(日) 22:29:12.06ID:cMqXQi+c0
ARCは解放するのに特別なコストはかからないだろ
0813名称未設定2015/06/28(日) 22:32:52.72ID:nCC7KEEN0
つまりプログラマーが意図したタイミングで解放される。
0814名称未設定2015/06/28(日) 23:16:19.53ID:GhXQR40w0
それ大事
0815名称未設定2015/06/29(月) 08:59:28.41ID:sGzukjrv0
メモリページングとかの話じゃね?
0816名称未設定2015/06/29(月) 09:36:09.49ID:9ECKF6BM0
どゆこと?
0817名称未設定2015/06/29(月) 09:57:17.31ID:Qf/ep4df0
>>807
メモリ解放のタイミングは
プログラマが決める。

ただし、コンパイラ付属のARCがメモリ解放命令を
ソースに挿入してくれるので、プログラマがメモリ解放
を意識する事は無い。

メモリの解放は、コンパイラ付属のARCにお任せってこと
になる。
0818名称未設定2015/06/30(火) 00:49:08.48ID:uDc5M/Te0
obj-c のフレームワーク使ってると autorelease pool で管理されるものも多い
0819名称未設定2015/06/30(火) 09:10:39.64ID:mI3hS93v0
>>791
iOS4でbockが登場ってことだけど、
bockって何?
0820名称未設定2015/06/30(火) 10:40:34.57ID:o1qW3HCo0
blockの誤記じゃない?
0821名称未設定2015/06/30(火) 11:00:31.85ID:mI3hS93v0
>>820
thx
検索するとこんなの出てきた。
If you're coming from a programming language such as Ruby, Python, or Lisp, then you know the power of blocks.

swiftでのclosureってことだね。Rubyでいうlamda式、procオブジェクトみたいな。

"what's new in ios"で検索するとappleのサイトにまとめてある
ios release noteがヒットする。
0822名称未設定2015/07/01(水) 02:47:27.23ID:Rs4q6AfO0
>>809
なんかそもそも「参照カウント方式」自体を知らないみたいだけど大丈夫か…?
クラスを使う時に「いまおまえを使ってる」ってインスタンスの共有カウンタに+1
使い終わったら「使い終わったぞ」と-1
全員が使い終わったらカウンタが0になるから解放って単純システム
単純で速くて簡単だけど、プログラマがカウンタ操作を勘違いしてると
解放されない/解放されちゃうバグが発生することがある。
もともとObjective-Cの基本管理方式

んで、特殊なことやってるんじゃなきゃ使った/使い終わったは
機械的に判定できるので、そのカウンタ操作の部分のコードを
Xcodeの方に自動で任せる機能がARC(オートマチック・リファレンス・カウンティング)
これでプログラマが無自覚にバグを作り込むことなく
軽量高速な参照カウント方式を享受できるようになった。
実際、Objective-CでMac用にGCも選べるけどわざわざ選ぶ人がまずいない。
0823名称未設定2015/07/01(水) 04:14:19.84ID:zDHAPfh40
確かOS XのGCは最近のOSだと切られてたと思う
0824名称未設定2015/07/01(水) 07:14:56.89ID:6oeyhFi90
GCの最後の仕事は自分自身を消すことだったか
0825名称未設定2015/07/01(水) 08:48:20.65ID:2ECdjcKl0
そして私も消えよう
0826名称未設定2015/07/01(水) 13:41:38.06ID:bgJqOyEG0
>>822
その上でページングは?と聞いてるんだろう
長文で悪いが、ズレてんぞ
0827名称未設定2015/07/01(水) 14:53:56.65ID:LI2M9JWB0
エクスデス先生がGCを勉強し始めたようです
0828名称未設定2015/07/01(水) 16:51:44.79ID:pGP71s1U0
使ってないメモリを解放したところで、そのメモリの実体にアクセスするわけじゃないでしょ?
0829名称未設定2015/07/01(水) 17:35:24.75ID:okKs+NA10
GCでもARC(カウント式)でもmalloc,freeでもランダムアセクスでメモリ確保したら解放後にデフラグの様な動作は必要
それがどのタイミングでやるかはOSまかせ、Mac,iOSが賢いかは知らん
0830名称未設定2015/07/01(水) 17:43:40.31ID:0Dzrnazg0
起動中にコンパクションはしません。
0831名称未設定2015/07/01(水) 17:49:32.43ID:NWyPT+ku0
本当にそうしたら基本性能が悪いか、段々と重くなるOSになるなww
0832名称未設定2015/07/01(水) 17:55:49.89ID:Lu3NOcb/0
Windowsがまさにそれなんじゃない?
0833名称未設定2015/07/01(水) 17:57:24.68ID:G0sC1s8M0
アプリケーションレイヤーから見たらという話だろうな
もう少し下の層から見たらやってるよ
0834名称未設定2015/07/01(水) 21:21:43.71ID:SEh0DD0r0
>>832
面白い
0835名称未設定2015/07/01(水) 23:07:30.38ID:Rs4q6AfO0
iOSはコアデータの仕組みつかって空き時間に
休眠アプリを圧縮してフラッシュに退避させることで
メモリを開ける動作がiOS5辺りからついてるし
アイドル時間に適宜やってんじゃないかな。

…っつーよりここまでiOSやMac知らない奴がなんでこのスレ迷い込んで来てんだ?
0836名称未設定2015/07/01(水) 23:15:27.41ID:DmBgqj930
おまいらが言ってるのは CorrFoundation とかの Obj-C というか
CFType のオブジェクトのメモリ管理の話であって、
このスレ的にはそこは3行で済ませてSwift のネイティヴ型の
メモリ管理の話してもいいんじゃないの。

ヒープに取られることもあるのかとか参照カウントなのかとか。
0837名称未設定2015/07/01(水) 23:28:05.66ID:0Dzrnazg0
>>835
それソースどこ?>休眠アプリを圧縮してフラッシュに退避
0838名称未設定2015/07/02(木) 00:54:33.61ID:ef6YXqy90
>>836
SwiftもARC使ってるから無関係じゃないでしょ。
ARCの欠点はインスタンスの所有者を意識しないと循環参照しちゃうことだが、
メリットのほうがでかい気がするね。

rustのメモリ管理も面白そうなんで勉強したい。
0839名称未設定2015/07/02(木) 07:53:45.14ID:ta6Waqsh0
>>835
論点ズラして批判はどうよw
0840名称未設定2015/07/03(金) 08:26:52.43ID:1W7R06Tt0
開発環境をVisual Basic6(古い)からXcode6 + Swift1.2に移行中です。
ようやくdelegateパターンとかいうのに慣れてきました。
Windows Phone絡みでC# + dot Netframeworkにも興味あるんすけど、
dot Netframeworkでもdelegateパターンの多用が見られるんですか?

なおdelegateパターンとは、不完全なDecoratorパターンの事です。
(cf. Cocoa Fandamentals Guide, Design Patternの章)

おっと、スレちかも。
0841名称未設定2015/07/03(金) 11:26:50.26ID:xmqC4rtj0
Swift時代でいまさらdelegateとか無いだろ。
これからはAPI全てクロージャーで書き直されるとだと思うんだが。
0842名称未設定2015/07/03(金) 12:52:31.99ID:XNgX/SaB0
えっ⁉︎そうなの?
0843名称未設定2015/07/03(金) 13:57:23.67ID:1W7R06Tt0
>>841
詳しく!
0844名称未設定2015/07/03(金) 14:04:31.24ID:pRuDA1UH0
書き直されるかは微妙だな。
例えばUIControlのaddTargetをクロージャにした場合、
既存のプログラムはフレームワーク内のパーツも含めて全書き換えになるし、
IBActionにできないからIBでの設定ができなくなる。
俺は別にいいけど、一般的にはどうかな。
0845名称未設定2015/07/03(金) 14:13:34.30ID:bq9mDut90
>>841
そんな訳はない。tableviewとかは、今後もdelegateを使った実装のほうがわかりやすい。
要は使い分けの問題。

本来コールバックで処理した方が自然なところにはclosureを使うべきだったんだけど、blocks構文の仕様が後付だったせいで、delegateを使ってる箇所が幾つかあるから、そういうところは置き換わって行くかもね。
0846名称未設定2015/07/03(金) 17:22:48.80ID:YeNhtdyD0
慣れだろうがdelegateへの書き換えはないだろうな
やるなら CollectionView のタイミングでやって欲しかった、当時なかった気もするけども
URLSessionとURLConnectionの乗り換えみたいに、うーん?と考えながら書き換えになりそう
0847名称未設定2015/07/17(金) 06:29:33.38ID:1YXYUL7N0
関数内static変数って宣言出来ないの?なんでなの?
0848名称未設定2015/07/17(金) 17:54:00.96ID:7W6HIEYP0
できたよ。

var 関数内static = 1
0849名称未設定2015/07/17(金) 18:25:31.77ID:doUblNs10
>>847
知っていてたのか知らないのか知らんが
http://stackoverflow.com/questions/25354882/static-function-variables-in-swift
こういう一歩余計めんどくさいことをさせるのがSwiftだろうw あんまそれ↑を必要とする意味がわからんけど
0850名称未設定2015/07/17(金) 18:32:13.91ID:doUblNs10
ああ、なるほど
クラスはどこでも定義できるから関数/メソッド内でプライベートクラス定義してそれのクラス変数でやれってことか
普通のクラス変数の定義と同じで首尾一貫しているやんw
0851名称未設定2015/07/17(金) 20:51:18.20ID:uxVzZTcL0
自演なのか何なのか

>>848
letにしないとwarning出そう
0852名称未設定2015/07/21(火) 17:11:25.92ID:qxc6WExK0
informal protocolってのがあって、このプロトコルで宣言されたメソッドは、プロトコル準拠のクラスで実装しなくても良いらしい。
CALayerDelegateをAPI Referenceで見ていて出てきたんだけど、informal protocolを実装するにはどうすれば良い?

protocol Mochi {
func sayHello() -> String
}
例えば、sayHelloをinfomalにするにはどう書けば良いんすか?
0853名称未設定2015/07/21(火) 17:12:31.21ID:hTeoz3s70
それはObjCの用語
0854名称未設定2015/07/21(火) 17:27:10.64ID:zF3HfVi50
だし、protocolにoptionalが無かった頃の名残的な古典的なのだわな
0855名称未設定2015/07/21(火) 17:31:01.29ID:7Jk+UwkD0
swiftでoptionalって推奨されてたっけ?
使うにしても@objcで宣言しないと使わせてやらねー的なモノだったような
0856名称未設定2015/07/21(火) 17:34:55.89ID:zF3HfVi50
いや、Objevtive-C/Cocoa/Cocoa Touchでの話
0857名称未設定2015/07/21(火) 19:54:36.98ID:Pf7RPCtF0
>>855
まったく推奨されてない
静的型のSwiftにおいて同じ型なのにあるメソッドがあったりなかったりって状態がアカン
ObjCでいうrespondsToSelectorも無いし
明確に型を分けるべき

ただしSwift 2.0ではプロトコルエクステンションでデフォルト実装を書けるようになったから
一部のユースケースではデフォルト実装で代用できる
0858名称未設定2015/07/21(火) 21:07:53.59ID:D7GAPV6E0
Protocol型の変数にweak付けられないのはなんなんだぜ?
0859名称未設定2015/07/21(火) 21:17:49.47ID:zoOCSy5a0
852です。
swiftでinformal protocolを簡単には実装できないんすね。
0860名称未設定2015/07/21(火) 21:30:26.83ID:Pf7RPCtF0
そんなことは言ってない
Informal protocolみたいなズボラな方法よりSwiftに合ったもっといい方法があるし
ObjCでもObjC 2.0以降はほとんど使われなくなってる古い手法

Informal protocolはただのNSObjectのカテゴリだから、SwiftでもNSObjectのextension書けば同じこと
でもそんなことする意味はまったくない
0861名称未設定2015/07/22(水) 07:34:53.39ID:bv8teojX0
>>857
推奨はされてないが使えるってことかな
objc の informal protocol = swift の optional protocol(@objc付与必須)でおk?
0862名称未設定2015/07/22(水) 08:14:14.62ID:t/e2AFT+0
>>860
852です。
Swiftでinformal protocol準拠のクラスを定義するには、informal protocol
の実装部分はobjcで書いて、@objcコンパイル指令を使ってintormal protocol
をSwiftソースへ埋め込めば良い。

って解釈でOKでっしゃろか?
0863名称未設定2015/07/22(水) 08:26:30.22ID:t/e2AFT+0
protocol Mochi {
func sayHello() -> String
}


class Piyo: Mochi {
func sayGoodby() -> String {
return "By, Piyopiyo"
}
}
上記をコンパイルすると、note: protocol requires function sayHello()
と言って怒られます。
@objcコンパイル指令を使えば、怒られずに済む訳ですよねぇ。

けど。。。@objcコンパイル指令なんて、使った事無いっす。
0864名称未設定2015/07/22(水) 10:40:07.81ID:9Wr60tM+0
>>861,862
細かく言うと違う
@protocolは元々あったのねん。でも、全て実装必須
delegateのような実装してもいいし実装してもいくないのを実現する(他にも理由があるだろうが)のに、じゃ、@interface NSObject (Hoge)でインターフェースだけ定義してっていうのが、informal protocol
protocol に対して informal protocol だろう。protocolを使う時点でInformal protocol じゃないだろう

protocolにoptionalをつけたら、informal protocolと同じように(また、なんでもかんでもNSObjectになんて不細工で無く)、実現できたにすぎない

元々の
> CALayerDelegateをAPI Referenceで見ていて出てきたんだけど、informal protocol
も、CALayerDelegate が「まさしく」 informal protocol だからだよ。ヘッダー見てみ
0865名称未設定2015/07/22(水) 10:45:28.36ID:9Wr60tM+0
>>862,863
optionalなprotocolを(@objc付きだろうが)Swiftだけで実装するには、
http://tea-leaves.jp/swift/content/プロトコル
らしいよ。ちたーググってみよう。「informal protocol」もたぶんあるよ
0866名称未設定2015/07/22(水) 11:07:46.33ID:t/e2AFT+0
>>865
THX
できたぁー。

import Foundation
@objc protocol Mochi {
optional func sayHello() -> String
}


class Piyo: Mochi {
func sayGoodby() -> String {
return "Bye, Piyopiyo"
}
}
let a = Piyo()
print(a.sayGoodby())

コンパイラがrequires function sayHello()って言わなくなった。すごい。
0867名称未設定2015/07/22(水) 11:12:02.95ID:t/e2AFT+0
866です
環境はXcode7 beta1 + Swift2.0っす。
0868名称未設定2015/07/22(水) 11:40:14.88ID:MPVI/U/M0
結局ここに落ち着くわなw
長々講釈たれてたが@objcで強引にobj-c機能をswiftに持ってくるが正解

swiftが静的だからとか関係なく、気分悪いから使わない文法にしただけで互換のために使えなくもない
ただ、わざわざswiftでドロップしたロジックを使うのは好ましくはない
0869名称未設定2015/07/22(水) 16:48:23.11ID:t/e2AFT+0
@で始まるヤツは、アトリビュートっていうのね。
#pragmaとかのコンパイル指令と同類なのかと勘違い
しちゃったわぁ。
0870名称未設定2015/07/23(木) 15:56:42.08ID:rKzdoz3L0
もういっそObjective-Cで書けよ。
0871名称未設定2015/07/23(木) 19:29:03.42ID:09yVANYT0
一つの不満で他の良い所を全破棄かよw
極端すぎんだろ
0872名称未設定2015/07/24(金) 09:01:18.62ID:9k6Fc05g0
>>870

やっぱObjective-Cっすかねぇ。Swiftよりも。
Swiftの方が、ソースをみても落ち着くんすけど、気分的に。
0873名称未設定2015/07/24(金) 10:50:31.20ID:/nsf41rL0
開発面はObjCのほうがまだまだ楽だけど、既にSwiftが良いと思っているレベルならSwiftつかったほうが良いんじゃね。
0874名称未設定2015/07/24(金) 14:25:48.43ID:JcI4I+dS0
Swiftブログに魚とごはんを混ぜると寿司になるというギャグが書かれている
https://developer.apple.com/swift/blog/?id=30
0875名称未設定2015/07/24(金) 14:51:24.66ID:ROIarXPA0
速度性能と容量とメンテナンス性を犠牲に読みやすいswiftを使う
アリだと思います
0876名称未設定2015/07/24(金) 16:15:26.42ID:9k6Fc05g0
>>874
情報thx

It would be as surprising as an array with values ?? and ?? being considered equal to ??.
0877名称未設定2015/07/24(金) 16:16:28.05ID:9k6Fc05g0
あぁぁ
やっぱ絵文字は表示できないのかな?俺の使ってる2ch browserでは。
0878名称未設定2015/07/24(金) 16:27:15.80ID:JcwI3xXx0
>>874
海鮮丼じゃないのか
0879名称未設定2015/07/24(金) 17:09:16.52ID:/nsf41rL0
絵文字というかDAT自体が??で保存されてるっぽいが。?
0880名称未設定2015/07/24(金) 17:11:38.38ID:JcwI3xXx0
🍣
0881名称未設定2015/07/24(金) 17:15:54.02ID:9k6Fc05g0
ところで皆さん、ソースファイルの1行の文字数は幾つにしてます?
俺は自分で決めたコーディング規約、80文字にしてます。

だから、ネットで拾ったサンプルコードも、まずは改行の挿入から
はじめる事が多いっす。

1)文字数制限なし。
2)80以上の文字数制限をしている。
3)同じく80文字

3つの内、どれでっしゃろ?
0882名称未設定2015/07/24(金) 17:20:52.76ID:JcwI3xXx0
制限なし
固定幅とかナンセンスすぎ阿呆らし
0883名称未設定2015/07/24(金) 17:51:01.65ID:LhkaOaZz0
全くもって同じ
1行1ステートメント(複合あり)の方が読みやすくなるし。まず、大まかに流れを掴むためには
その後じっくり読むのには1行じっくり読めばいいのだし。たとえ横スクロールしても
0884名称未設定2015/07/24(金) 20:08:43.32ID:UIS9DV/n0
obj-cで行数制限なんて実質不可能だったしなw

swiftでは100行くらいを目安に改行してる
折角読みやすい言語仕様になってるのに、横スクロールなんてしたくないからな
0885名称未設定2015/07/24(金) 21:10:16.07ID:LhkaOaZz0
桁、桁
0886名称未設定2015/07/24(金) 21:18:49.88ID:r3oHu3pa0
>>882
ぇえー。俺、vimでもソースいじるから80coulumnで改行してる。
Xcocdeのpreferenceでも80columnで薄ーいライン入れるオプションあるから
外人さんにも、そんな人多いのかなぁと思ってたんだけど。
0887名称未設定2015/07/24(金) 21:31:21.11ID:LhkaOaZz0
なんかこじつけくさいようなそでないようなw
Terminalのウィンドウ(&vim)も80にしかならないわけじゃないでしょ。80に固執する意味がわからんなw
まあ、Terminalでのウィンドウは「なんとなくな見栄え」から俺も80がデフォルトで決して大きくはしないけどw
0888名称未設定2015/07/24(金) 22:04:29.73ID:1LaI0dIr0
10年前くらいのスタンダードなコーティングルールが80だったよな
ディスプレイサイズ広くなったし、80は少なくね?って100とか120のルールを最近は見る
0889名称未設定2015/07/24(金) 22:28:37.33ID:2WylF6tf0
構文を理解して、なんかいい具合に折り返してくれるエディタが求められている
0890名称未設定2015/07/24(金) 22:34:15.35ID:1LaI0dIr0
Xcode (Plugin)に期待してどうぞ
0891名称未設定2015/07/25(土) 02:53:06.13ID:TOmTQc0b0
ちょっとスレ違いかもしれんけどgoの好きな部分として
構文規約の強制ってところがあるんだよね。
具体的には、{}の位置を
func XXX() { //<―
//something
} //<―
と強制される。
swiftもぜひ入れてほしい。
正直プロジェクト毎に構文規約が変わるのめんどくさい。
いっその事言語仕様としてガチガチにしてくれた方がいい。
0892名称未設定2015/07/25(土) 08:58:17.60ID:A2G0+Sye0
お前のルールを強制されることの方がよっぽど迷惑
0893名称未設定2015/07/25(土) 09:38:04.51ID:eKl1s7no0
>>891
インデントはエディタの担当領域じゃないかなぁ。
goってのを使ったこと無いから、構文規約の強制ってのが
どんな言語仕様なのかようわからんけど。

まさか、使うエディタも指定してくるとか?昔の
N88 Basicみたいに。
0894名称未設定2015/07/25(土) 09:47:34.00ID:0iP6K+Sq0
>>891
つ コーディングルール
0895名称未設定2015/07/25(土) 19:26:42.66ID:mg8EsEFj0
>>891
強制されるってのは言語仕様って事?
そもそも改行とインデントの強制があればブロックの中括弧はいらない気がする。
って、それpythonやん。
0896名称未設定2015/07/26(日) 10:00:46.02ID:iDYLOVO80
桁数決めて制限する必要はないかも知れないけど、
横長すぎるコードは大抵手直しが必要なサインだと思うよ。
0897名称未設定2015/07/26(日) 11:09:10.16ID:jnczt4ol0
長さ云々でなく、読みやすいかどうか、で決めるようにしてる。
まあ「読みやすいかどうか」の判断が人それぞれの部分もあるから難しいんだけど。
0898名称未設定2015/07/26(日) 12:37:49.14ID:01tDimKM0
んだよな
上にある80じゃ狭いから100や120もじゃ、100や120にすれば絶対かというとその根拠は不明だし、横長すぎるって、じゃ、どれだけが横長すぎるかっていうとその根拠も不明だからな
その場その場のセンスwだな。根本的にコードを書く自体が臨機応変なセンスを求められるものだし
0899名称未設定2015/07/26(日) 12:46:12.21ID:sX+UzKaI0
SwiftからObjective-Cのインスタンス変数に直接アクセスしたいんだけどどうすればいいのかな。

@interface ThirdPartyLib : NSObject {
BOOL _dump;
}
@end
// lib->_dump = YES;をしたい。

サードパーティ製のスタティックライブラリなのでプロパティーは作成されていない。
カテゴリーやリフレクションを使わずにアクセスする方法ってあるのかな。
0900名称未設定2015/07/26(日) 12:56:28.99ID:a5uOv+hC0
>>898
コーティングルールが根拠の一つだな
そのルールを決める時に何で判断するかはあるだろうけど
Googleが公開してるコーディングルールにも桁数あったような、、、

まぁルールのない一人の開発なら気分でおk
0901名称未設定2015/07/26(日) 12:59:15.37ID:01tDimKM0
>>900
いや、だからその コーディングルール の 根拠 がなんでやねんっていう
世の中には変なコーディングルールも存在するんやで。まあ、関係ないけど
0902名称未設定2015/07/26(日) 13:04:44.72ID:FJcBmH7E0
>>899
超裏技を教えましょう。
@interface ThirdPartyLib : NSObject {
@public
BOOL _dump;
}
0903名称未設定2015/07/26(日) 13:29:36.21ID:01tDimKM0
>>899
Key-Value Coding の setValue/valueForKey は使えるな
んなのよりは、カテゴリーでアクセサなりプロパティ追加したほうがいいと思うけど
0904名称未設定2015/07/26(日) 13:47:35.76ID:a5uOv+hC0
>>901
その場その場で決める気分より、コーティングルールを考えろというね
君が考える必要性を感じない開発をしてるのはよく分かったw
0905名称未設定2015/07/26(日) 14:09:05.96ID:01tDimKM0
>>904
その場その場ってなんか勘違いしてない?横幅だよ。周りとのバランスとかで考えているよw
横幅でのコーディングルールは君は固定で必要なのね。誰かが決めてくれないとなのね。ふーん、必要なんだろうな、全くわからんが
0906名称未設定2015/07/26(日) 22:27:49.88ID:0Ah167/o0
人によって、ディスプレイによって最適解は変わるとはいえ、職場だと何某かの決まりはないとね。
Aさんの書いたコードをBさんが読むわけだからね。
0907名称未設定2015/07/26(日) 22:49:23.82ID:jnczt4ol0
フォントや色付け設定だけでも結構見えかた変わるしね。

空行をどこで入れるかとか、どういったコメントをどの程度入れるかでも読みやすさは変わる。
そこまでコーディングルールとして明記する職場なんてあるのかな。
俺は見たことない。
0908名称未設定2015/07/26(日) 23:39:44.62ID:01tDimKM0
「こうでなきゃ」というのがあるから人のソースを読むのに苦労するんじゃね?
そんなもの捨てたら臨機応変wに他人のソースも苦もなく読めるようになるよ。たかが横幅の問題なら
そんなどうでもいいことよりも、絶対必要な最小限度なコーディングルールが皆の幸せになると思うんだけどww
0909名称未設定2015/07/27(月) 10:02:06.83ID:rpvTTBsA0
じゃぁ、もう一つコーディングルールネタで。

ソースコードにインデントの為にタブ(\n)の入力があっても良いですか?

1)タブはスペース(例えばスペース2個)で代用する。ソースのファイルサイズが若干増加するが、
最近のファイルシステムは最小管理単位が4Kbyteもあるので、Diskの消費
量は変わらない。

2)タブを使ってインデントをする。行の先頭を揃えるためにタブを使うのは昔からの
習わしで、変えてはイケナイ。

ちなみに、俺は1)です。
0910名称未設定2015/07/27(月) 10:24:21.90ID:rpvTTBsA0
コーディングルールネタでもうちょっとお聞かせください。

メソッド引数を羅列する時、途中で改行したくなったとします。カンマの後で改行しますか?前で改行しますか?
例えばこんだけ、メソッド引数(NSRgularExpression#firstMatchStringメソッドの引数)が有った時、改行は次の1) - 3)のどんな具合に行いますか?

(str as String), options: NSMatchingOptions.ReportCompletion, range: NSMakeRange(0, str.length)

1)(str as String),
options: NSMatchingOptions.ReportCompletion,
range: NSMakeRange(0, str.length)

2)(str as String)
, options: NSMatchingOptions.ReportCompletion
, range: NSMakeRange(0, str.length)

3)改行しない

4)カンマ以外の所、たとえばセミコロン;の前か後ろで改行する。

俺は1)です。
0911名称未設定2015/07/27(月) 11:03:34.76ID:54LBs3Mr0
よくよく考えたら、細かいコーディングルールなんてもんは開発初心者向けだよなw
0912名称未設定2015/07/27(月) 11:38:35.92ID:rpvTTBsA0
>>911
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)2012/6/23
Dustin Boswell、 Trevor Foucher

俺はこいつを読んで、自分のコーディングスタイルを見直す様になった。
細かいこだわりというか、規約を決めた事で、コードを見る時のストレスが減った様に
思う。それに、色々細かい事を迷わなくなって、決めたことに従うようにしようとだけ
思うようになった。
0913名称未設定2015/07/27(月) 11:51:01.02ID:54LBs3Mr0
>>912
初心者を抜けた頃には自分でそれなりに確立しているだろうっていう。人のコードを見て参考にするなり見やすいようにと
だいたい何も考えてないなコイツはってのは開発初心者だな。それなりの人はそれなりに書いてある。違いはもう好みの違いとしか言いようがないw

細かい強制しまくりなコーディングルールは「何も考えていない」ヤツ向けだよな、まあ、そうしたくのはわからないでもないってとこ

何も考えていない例:例えばfuncの終わりの } の次に空行なしで次のfuncとか。まあ、そういう好みがあるのかもしれないが
0914名称未設定2015/07/27(月) 12:18:59.03ID:m4P9ukw70
インデント幅がスペース2個は個人的には見づらいな
0915名称未設定2015/07/27(月) 12:44:36.50ID:rpvTTBsA0
>>914
そかそか。

他人のコード見て気づくのは、
HTML書く人はスペース2個、コード書く人はスペース4個をインデントに使う
事が多そう。
0916名称未設定2015/07/27(月) 12:48:32.08ID:rpvTTBsA0
>>915
そうそう、思い出した。Rubyの人はスペース2個の人多いわぁ。

Rubyのメソッド名は短いの多いし、スペース4個もあると、間抜けな感じが
するなぁ。
0917名称未設定2015/07/27(月) 14:15:26.79ID:J1S63idy0
>>913
チーム開発で個々に自分の確立したルールで書かれたら困ると思うが
go使いがハードタブでこれが正義だと言いかねん
0918名称未設定2015/07/27(月) 18:13:22.93ID:54LBs3Mr0
>>917
チーム開発もやってるけど
チーム開発でも分担だけど?1つのファイルを複数で編集合戦でもしてるの?
タブすらなのね。タブすら相手に合わせて 読む ことができないの?

でもチーム開発では 単なる見栄え(統一感) からある程度合わせるのはあるけどね
0919名称未設定2015/07/27(月) 18:23:38.96ID:54LBs3Mr0
ハードタブとわざわざ書いているのだから、やっぱりエディタのタブ設定機能を使えない人なんだなと
なんだやっぱり初心者じゃ。終了ww
0920名称未設定2015/07/27(月) 18:59:49.75ID:J1S63idy0
>>919
普通にウケたww
0921名称未設定2015/07/27(月) 22:15:30.27ID:rFjSOcSg0
むしろ編集合戦とか言ってる方が激しく初心者っぽい
0922名称未設定2015/07/27(月) 22:24:28.54ID:54LBs3Mr0
冗談めいてだよ。まさしくな編集合戦なわけなあるわけないだろう。真面目だな
ああ、冗談でも初心者っぽくなのか。わからん。とりあえず以後気をつけようw
0923名称未設定2015/07/27(月) 22:47:19.26ID:uGjOZ7jU0
つ整形プラグイン
0924名称未設定2015/07/28(火) 01:34:17.66ID:AfulwDh40
端から端まで面白いので、彼にとってどれが本気だったのか
難しい、、、
0925名称未設定2015/07/28(火) 08:30:09.25ID:YeWb656p0
>>909
タブは \t な
0926名称未設定2015/08/02(日) 17:53:29.16ID:7URspNO40
Swift の勉強を開始しまして、Playground を使ってあれこれ試しているところですが
教本では「警告が出る」とされることをやっても警告が出てきません、最新の
Xcode/Playgroundでは警告を出させるための設定が必要なのでしょうか?

例えば、Playground でオプショナルを宣言した際 ? を添え忘れると警告が出る
と教本にはありますが、Xcode 6.4 ではそれが出てきません。
また、オプショナルに直接アクセスしたら警告が出るはずですがやはり出てきません。

CommandLine Tool プロジェクトを作って試すと、上記2つの誤作法はそれぞれ
改行入れた時点ですぐエラー扱いになるので、Playground環境だけで何かすべき
ことがあるのか悩んでいる次第です。

OS: 10.10.4
Xcode: 6.4

でやっています。
0927名称未設定2015/08/03(月) 09:42:54.67ID:vpdlUoCy0
>>926
警告とか、最適化の設定なんて不要。

Swiftは今、環境変化激しいからね。Xcode6.3, 6.4で挙動が違うのは当たり前。

Swift1.0, 1.1, 1.2と来て、そして2.0のbetaが今の段階。
2.0betaでも俺は、奇妙な挙動に出会った事無いわぁ。
0928名称未設定2015/08/03(月) 13:19:11.10ID:pWL7qVR50
2.0が出てもまた色々仕様変更あるんだろうな。
Linux側からのフィードバックとかも取り入れるんだろ?
カオスな言語になっていきそうな予感。
0929名称未設定2015/08/03(月) 13:43:54.30ID:lhKlX2Bo0
こんなに面倒いのなら、苦しいのなら、swiftなど要らぬ。
0930名称未設定2015/08/03(月) 13:57:43.49ID:vpdlUoCy0
>>928
仕様変更なんてどの言語もショッチュウだよ。
C++なんて、C++11が出たと思ったら、C++14が出てきて、今はC++17へ向け作業中だし。

Rubyなんてどんどんリビジョン上がるし、1.92, 1.93, 2.0, 2.1, 2.2って感じで1年毎位に変化してる。

Objective-CだってNullabilityの導入がXcode7で予定されてるし、Swiftだけが仕様変更が頻繁って訳では無い。
0931名称未設定2015/08/03(月) 13:58:55.47ID:v+fHk9+J0
そのサイクルがっていう。また、新しいのに強制wっていう
0932名称未設定2015/08/03(月) 14:17:29.29ID:KqUelVwU0
swift以外はコンパイラに下位互換があるけどな
人柱向けの言語だし楽しめば良いと思う
09339262015/08/03(月) 21:38:02.44ID:185C/m840
なるほど、あまりまだ環境が安定してないんですね?

まだ超初心者範疇なのでコマンドラインツールの
プロジェクトでプレイグラウンドの代用でどうにか
なりそうだしそっちでやってみます。

話に応対してもらってありがとうございます!
0934名称未設定2015/08/04(火) 11:25:15.47ID:F3KHS8CM0
>>933
playgroundを使ってSwiftに慣れようとするのは、第一歩としてはいいと思う。
俺は、playgroundが重くて、嫌になって、
vim + swiftc + quickrun環境へ移行した。こいつで、Xcode起動するまでもない様な、コードの断片を試すことができる。

ちょこちょこっとした、コードの断片を試す環境は、是非作っておかないと困るぞ。
vim + swiftc + quickrun環境の欠点は、breakpointを置けないので、print or printlnでデバッグしないといけない所。
0935名称未設定2015/08/08(土) 21:49:14.93ID:gGCfgUvp0
Atom使ったほうが楽だよ
0936名称未設定2015/08/10(月) 19:28:13.78ID:cdhlVkIc0
IDEは信仰だから好きなの使うべきだよ
とvim信者の俺は思う、vimなんて他人に推すものじゃねーよ
0937名称未設定2015/08/27(木) 18:13:56.49ID:X2w7eZYu0
Swiftでどのくらいの行数の規模のコード書いてる?
0938名称未設定2015/08/27(木) 21:43:24.33ID:rZIZiQmI0
遊びでしか使ってないので3画面程度の規模かな。
あまり大規模で複雑なコード書くとコンパイルが重くなる。
0939名称未設定2015/08/27(木) 23:06:48.97ID:dndwqP2C0
毎回フルコンパイルしてるの?
0940名称未設定2015/08/28(金) 10:24:00.11ID:je2cB01U0
つーかXcodeが落ちる。ベータ7じゃなくて6.4なのに。
0941名称未設定2015/08/28(金) 10:46:45.73ID:3HBBuQgk0
playgroundはしょっちゅうハングするから使うのをやめた
0942名称未設定2015/08/28(金) 11:18:44.87ID:ASMsznQn0
>>939
差分コンパイルでも規模が大きくなればもたるよ

SourceKitのバンクは最新でも頻繁に起こるな。
ObjCのソースをコピペするとすぐにバンクする。
0943名称未設定2015/08/30(日) 20:46:56.57ID:Tn5EFp2a0
>>891
スレチ遅レスながらGo仲間がいてほっこり
Sublime Textで保存時オートフォーマットかけてるけど、コーディングルール強制って郷に従うと悩みが減っていいよね
c系もJavaも、チーム開発もの以外は全部AStyleで自動整形にしたよ

swiftでもAppleの標準が出たら自動整形プラグイン作る人が出てくるとは思うけど、まだ言語仕様がふらついてる感じだからなぁ。まだ先かな
0944名称未設定2015/09/03(木) 18:48:06.60ID:fKZMSMkh0
そんなものよりswiftdocはよ
jazzyバグりすぎてて涙目
0945名称未設定2015/12/04(金) 02:32:19.71ID:nDIBfoC20
オープンソース化
https://github.com/apple/swift
0946名称未設定2015/12/04(金) 02:52:12.97ID:N2XwQhFd0
おお、ついに来たとですか
0947名称未設定2015/12/04(金) 09:29:45.41ID:ugvMyHwh0
そーっすか
0948名称未設定2015/12/04(金) 10:36:14.84ID:XckMiveg0
>>945
utilsかどっかに、vim用のファイルタイプdetectorとか、syntax hilight用の定義ファイルがある。
0949名称未設定2015/12/04(金) 11:47:56.65ID:CUwOVBL00
package managerがいるけど
carthageは死ぬ運命なの?
0950名称未設定2015/12/04(金) 21:42:41.70ID:g3CnfHdM0
遂にオプソ化されて盛り上がってるかと思いきや
全然過疎っててワロタ
0951名称未設定2015/12/04(金) 21:46:56.99ID:H/aDfADg0
Swiftをググると、Taylor Swift が出てきてウザい
0952名称未設定2015/12/05(土) 08:08:47.73ID:2EU49KiW0
>>951
逆もまた真なり
0953名称未設定2015/12/05(土) 10:55:25.18ID:nRt9eie50
>>951

俺全然、Taylor出てこない。ブラウザが学習しているのか?
もし、そうだったら怖いなぁ。

“swift”-taylor試してみるまでも無い。
0954名称未設定2015/12/05(土) 10:57:38.98ID:tgpjEOyz0
Googleなら当然学習する
他の検索エンジンもしてるだろ、多分
0955名称未設定2015/12/06(日) 14:53:15.35ID:NGuM7UWE0
>>934
swiftc -g goo.swift
でコンパイルして、
lldb goo
でdebugセッション開始すればprint debugを避けられる。
0956名称未設定2015/12/06(日) 16:02:35.04ID:LmjGkFYJ0
>>952
いや、逆は真じゃないだろ
0957名称未設定2015/12/06(日) 16:03:39.09ID:LmjGkFYJ0
にしてもAppleはSwiftが流行ってますキャンペーンに必死だな
0958名称未設定2015/12/06(日) 16:05:01.98ID:LmjGkFYJ0
以降↓「現にSwiftユーザーは増えてきてるだろ」定期
0959名称未設定2015/12/06(日) 16:10:16.59ID:pWopbfb60
>>957
AppleがやってるというSwiftが流行ってますキャンペーンの具体例をどうぞ
0960名称未設定2015/12/06(日) 16:11:45.71ID:LmjGkFYJ0
>>959
http://www.apple.com/jp/swift/
0961名称未設定2015/12/06(日) 16:16:12.54ID:pWopbfb60
>>960
で、どこらへんが
>AppleはSwiftが流行ってますキャンペーンに必死
なんだ?
具体的にどうぞ
0962名称未設定2015/12/06(日) 16:24:18.09ID:LmjGkFYJ0
>>961
それに気づかないのなら既にAppleにまんまと乗せられているということです
0963名称未設定2015/12/06(日) 16:28:10.72ID:88fpyZMc0
>>961
必死だな(藁

Windows上でのビルドと他OSへのクロスコンパイルは有志に投げっぱなしジャーマンなのかね
有志界隈でネタになるから、あえてやらないことで客寄せするのは狡猾だと思った
0964名称未設定2015/12/10(木) 19:30:59.97ID:GmTcsZcI0
花ミソ
0965名称未設定2015/12/13(日) 01:12:57.43ID:U56fmPkN0
次スレ
プログラミング言語Swift 3
http://potato.2ch.net/test/read.cgi/mac/1408762479/
0966名称未設定2015/12/13(日) 11:22:55.09ID:2AX8YiIQ0
>>965

良いスレッドタイトルだね。
スレタイは判りやすいのが良いね。
0967名称未設定2015/12/15(火) 13:18:19.92ID:z2iu9b5+0
埋めろ
0968名称未設定2015/12/15(火) 13:36:00.33ID:7RQORcKT0
埋めるにはまだ早い
0969名称未設定2015/12/15(火) 13:47:18.52ID:IfYGN9EB0
埋めるに越したことはない
0970名称未設定2015/12/17(木) 23:36:47.87ID:AxBLpp0P0
梅
0971名称未設定2015/12/18(金) 00:22:53.73ID:3zhs+53+0
これ電子版一緒に出ないのかねえ

詳解 Swift 改訂版 荻原 剛志
ttp://www.amazon.co.jp/dp/4797386258/
0972名称未設定2015/12/18(金) 01:17:24.96ID:j17IN9RK0
荻原本か。言語の更新早いから、買うの躊躇うなあ。
0973名称未設定2015/12/18(金) 01:49:25.31ID:jlQM2HgD0
説明が必要な言語でもなかろう
0974名称未設定2015/12/18(金) 02:17:22.47ID:LKcTc2DJ0
萩原さんなら出版時点の網羅は期待できるから、リファレンス補遺にはありかもね
obj-cでは改訂含めて安心できてほんと世話になった
もちろんswiftはネットの情報だけでも充分な手軽さと更新頻度の問題があるから戸惑う。まあ俺みたいな信者需要から一年経ってどう評価されてるかだろうな
0975名称未設定2015/12/18(金) 02:38:12.79ID:QrcDPU/Q0
萩原の説明は苦手だわ
0976名称未設定2015/12/22(火) 09:49:43.19ID:xggYXiDQ0
糞スレさっさと埋めろ
0977名称未設定2015/12/22(火) 14:25:46.05ID:+e46rdLN0
嫌です。
0978名称未設定2015/12/22(火) 14:44:23.33ID:GDZwZkQ80
nil結合演算子 ?? が便利。気づかなかった

if let count = photos?.count {
return count
}
return 0

いちいち上みたいな書き方してた
return photos?.count ?? 0

でいいのね
0979名称未設定2015/12/22(火) 22:52:14.84ID:XK3WE9/p0
(ô̮̮̮̮̮̮̮̮̮̮ɷô̮̮̮̮̮̮̮̮̮̮)
0980名称未設定2015/12/22(火) 23:17:24.95ID:xY9Be1lk0
Swiftクソだな
短く書けりゃいいってもんじゃねぇ
それともプログラミングコンテストにでも応募するか?
0981名称未設定2015/12/23(水) 12:18:12.52ID:bnCq7NqS0
貶すだけなら猿でもできるぅるるるるるる
レス数が950を超えています。1000を超えると書き込みができなくなります。