<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/ios_memo/">
    <title>ios_memo @ ウィキ</title>
    <link>http://w.atwiki.jp/ios_memo/</link>
    <atom:link href="https://w.atwiki.jp/ios_memo/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>ios_memo @ ウィキ</description>

    <dc:language>ja</dc:language>
    <dc:date>2017-12-05T15:10:38+09:00</dc:date>
    <utime>1512454238</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/ios_memo/pages/16.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ios_memo/pages/15.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ios_memo/pages/14.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ios_memo/pages/13.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ios_memo/pages/12.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ios_memo/pages/11.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ios_memo/pages/10.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ios_memo/pages/9.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ios_memo/pages/8.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ios_memo/pages/7.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/ios_memo/pages/16.html">
    <title>swift</title>
    <link>https://w.atwiki.jp/ios_memo/pages/16.html</link>
    <description>
      **概要
iosアプリを作成するプログラミング言語のこと
objectv-cに変わって主流になっている。
2014年に登場したので、まだ若い言語
でも大人気
モダンで実行が高速

対象バージョン
swift4(2017/12/4までは最新)

開発環境
xcode (試した時は9.1)
mac (osはSierra)

言語を試す環境
Playgroundというコード記述ワークスペースがある。
コードを記述したらすぐに実行できる。
試すには最適な環境


基本的な書き方
構文の末に ; をつけてもいいしつけなくてもいい
if / switch では {} でくくってはいけない
なぜなら optional binding ができなくなるから
switch だとコンパイルエラーになる

変数
構文に色々なパターンがある
・型宣言パターン
var 変数名: 型名
ex)
var num: Int
var text: String

・型が不定で代入時に自動で決まるパターン
注意：宣言と同時に値を代入しないとエラーになる
ex)
var num = 10 // 自動で型がintに

定数
構文に色々なパターンがある
・let 定数名: 型名
ex)
let num: int
num = 10 // 一度だけ代入が可能
num = 20 // エラーになる

・型が不定で代入時に自動で決まるパターン
注意：宣言と同時に値を代入しないとエラーになる
ex)
let num = 10 // 自動で型がintに

型キャスト
文字列 to 数字
var stringTonum = Int(&quot;4&quot;)!

注意
int(文字列)の戻り値は optinal型なので unwrappyする必要がある。

数字 to 文字列
var intTostring = String(3)

文字列の場合はクラスのインスタンスをそのまま返すので optinal unwrappy はいらない

optinal
要約
nil代入を許可する定数・変数の特殊型のこと

宣言方法
var x: int?
x = nil

var y: Int
y = nil // コン    </description>
    <dc:date>2017-12-05T15:10:38+09:00</dc:date>
    <utime>1512454238</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ios_memo/pages/15.html">
    <title>Storyboardのプレビューを開く方法</title>
    <link>https://w.atwiki.jp/ios_memo/pages/15.html</link>
    <description>
      **Storyboardのプレビューを開く方法
+アシスタントエディターを開く
- アシスタントエディターボタンを押す
#image(autolayout_002.png)

+Automatic -&gt; prevview を選択
- アシスタントエディターをprevviewモードに切り替える
#image(autolayout_003.png)
#image(autolayout_004.png)

+prevview画面の左下の+を押してプレビュー画面の機種を選択
#image(autolayout_005.png)
- prevview画面の機種を選択する
#image(autolayout_006.png)    </description>
    <dc:date>2017-12-04T15:48:13+09:00</dc:date>
    <utime>1512370093</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ios_memo/pages/14.html">
    <title>StroyboardにAutoLayout設定が有効化</title>
    <link>https://w.atwiki.jp/ios_memo/pages/14.html</link>
    <description>
      **AutoLayoutを有効化か確認する方法
***確認方法
+Stroyboardのファイルを選択
+ユーティリティエリアのFileInspector を開く
+Interface Builder Document プロパティの「Use Auto Layout」にチェックがついているか確認
#image(autolayout_001.png)    </description>
    <dc:date>2017-12-04T15:46:57+09:00</dc:date>
    <utime>1512370017</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ios_memo/pages/13.html">
    <title>AutoLayout</title>
    <link>https://w.atwiki.jp/ios_memo/pages/13.html</link>
    <description>
      *Autolayoutについてまとめる

*AutoLayout
Storyboardという画面に配置するオブジェクトに対して
制約を与えることで、
可変の画面サイズでも配置が崩れれないようにすることができる。

**トピックス
-[[StroyboardにAutoLayout設定が有効化]]
-[[Storyboardのプレビューを開く方法]]

マージンとは余白のこと
パーツに左右上下に余白に制約値値を設定して他のパーツ位置とを比較して相対位置を設定
余白サイズから指定したオブジェクトとの相対位置になる
手動で位置が変わると崩れる

※注意
一度設定して直すの場合はパーツ全体の更新が必要
パラメータを変わっただけではパーツの配置は更新しない

パーツのサイズが自動で変わるパーツもある
-TextLabel
-Button
-TextField

StackViewパーツで複数のパーツをひとまとめにして配置ができる
-メリット
一列に横並び・縦並びのケースだと親パーツとして扱える

TextField
制約をつけてサイズが変更するとエラーになるケースがある。
これは制約を受けた他のパーツでうまくサイズ調整ができないから（なんでかはわからない）
-対応方法
制約を受けたパーツのhugglingの値を変更する

異なる画面でレイアウトを変更することができる。
使うかな？    </description>
    <dc:date>2017-12-06T09:54:12+09:00</dc:date>
    <utime>1512521652</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ios_memo/pages/12.html">
    <title>メモ</title>
    <link>https://w.atwiki.jp/ios_memo/pages/12.html</link>
    <description>
      **気づいた点をまとめておく（いずれページなどでまとめる）

**View.bounds.width / heightの罠
[[AutoLayout]]で設定した値が反映するタイミングが
UIViewController::viewDidLoad()メソッドではない。
ではどこでというと
UIViewController::viewDidLayoutSubviews()メソッドである
viewのサイズを取得してうんちゃらするなら 上記のメソッドで行う

参考url
https://ja.stackoverflow.com/questions/21874/swift-autolayout%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%97%E3%81%9Fview%E3%81%AE%E3%82%B5%E3%82%A4%E3%82%BA%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6

**View.draw() メソッドで描画できるオブジェクト

線
四角形
画像
テキスト
曲線

参考url
http://llcc.hatenablog.com/entry/2017/05/04/001356

**タッチ入力のイベントメソッドについて
iosのタッチ入力で標準サポートしているのは
・タッチ開始
・タッチ中に移動
・タッチ終了
これらのイベントメソッドが用意してある。

参考url
[[UIViewControllerクラスのタッチイベントについて&gt;https://i-app-tec.com/ios/image-drag.html]]

**入力の便利ライブラリ UIGestureRecognizer
-タップ
-ダブルタップ
-フリック
-ドラッグ
-ピンチ
-ローテイト
-ロングプレス
-エッジ

これら8種類の機能をサポートする

直でコード実装しなくても
Stroyboard上から機能を付与することもできる

[[入力の実装例&gt;http://yuu.1000quu.com/8_types_of_uigesturerecognizer]]

**StroyboardのOutlet Collection について
名前の    </description>
    <dc:date>2017-12-06T17:04:29+09:00</dc:date>
    <utime>1512547469</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ios_memo/pages/11.html">
    <title>プラグイン/インスタグラム</title>
    <link>https://w.atwiki.jp/ios_memo/pages/11.html</link>
    <description>
      *インスタグラムプラグイン

人気の画像共有サービス、Instagram(インスタグラム）の画像をアットウィキに貼れるプラグインです。


 #ig_user(ユーザー名)
 と記載することで、特定ユーザーのInstagramのフィードを表示することができます。

例）@dogoftheday
#ig_user(dogoftheday)

----

 #ig_tags(タグ名)
 と記載することで、特定タグのInstagramのフィードを表示することができます。

#dogofthedayjp タグ
#ig_tag(dogofthedayjp)

----

 #ig_popular
 と記載することで、Instagramのpopularフィードを表示することができます。



詳しい使い方は以下のページを参考にしてください！
＝＞http://www1.atwiki.jp/guide/pages/935.html

--------    </description>
    <dc:date>2017-12-04T09:44:29+09:00</dc:date>
    <utime>1512348269</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ios_memo/pages/10.html">
    <title>プラグイン/コメント</title>
    <link>https://w.atwiki.jp/ios_memo/pages/10.html</link>
    <description>
      * コメントプラグイン
@wikiのwikiモードでは
 #comment()
と入力することでコメントフォームを簡単に作成することができます。
詳しくはこちらをご覧ください。
＝＞http://www1.atwiki.jp/guide/pages/921.html#id_476878da


-----
たとえば、#comment() と入力すると以下のように表示されます。

#comment
    </description>
    <dc:date>2017-12-04T09:44:29+09:00</dc:date>
    <utime>1512348269</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ios_memo/pages/9.html">
    <title>プラグイン</title>
    <link>https://w.atwiki.jp/ios_memo/pages/9.html</link>
    <description>
      @wikiにはいくつかの便利なプラグインがあります。

-----


#ls

-----

これ以外のプラグインについては@wikiガイドをご覧ください
=&gt;http://atwiki.jp/guide/
    </description>
    <dc:date>2017-12-04T09:44:29+09:00</dc:date>
    <utime>1512348269</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ios_memo/pages/8.html">
    <title>プラグイン/動画(Youtube)</title>
    <link>https://w.atwiki.jp/ios_memo/pages/8.html</link>
    <description>
      * 動画(youtube)
@wikiのwikiモードでは
 #video(動画のURL)
と入力することで、動画を貼り付けることが出来ます。
詳しくはこちらをご覧ください。
＝＞http://www1.atwiki.jp/guide/pages/801.html#id_30dcdc73

また動画のURLはYoutubeのURLをご利用ください。
＝＞http://www.youtube.com/

-----


たとえば、#video(http://youtube.com/watch?v=kTV1CcS53JQ)と入力すると以下のように表示されます。


#video(http://youtube.com/watch?v=kTV1CcS53JQ)

    </description>
    <dc:date>2017-12-04T09:44:29+09:00</dc:date>
    <utime>1512348269</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ios_memo/pages/7.html">
    <title>プラグイン/RSS</title>
    <link>https://w.atwiki.jp/ios_memo/pages/7.html</link>
    <description>
      *RSSを取り込んで一覧表示(rss)
 #rss(ここにＲＳＳのＵＲＬ)
もしくは
 #rss(ここにＲＳＳのＵＲＬを入力)
と入力することで指定したＲＳＳを取り込んで一覧表示します。

詳しくはこちらをご覧ください。
＝＞http://www1.atwiki.jp/guide/pages/269.html#id_a0e79757

----
たとえば、#rss(http://www1.atwiki.jp/guide/rss10_new.xml) と入力すると以下のように表示されます。

#rss(http://www1.atwiki.jp/guide/rss10_new.xml)
    </description>
    <dc:date>2017-12-04T09:44:29+09:00</dc:date>
    <utime>1512348269</utime>
  </item>
  </rdf:RDF>
