質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

829閲覧

twitter内で、〈Action〉ボタンを押すと画像の取り扱いの選択肢が出て、送信や保存ができる。

ken2Mayones5

総合スコア9

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2020/05/06 07:25

絶対に挫折しないiPhoneアプリ開発「超」入門 第7版を元にアプリ開発の勉強をしています。

218ページからの実習にてtwitterを使って画像の送信や保存ができるアプリを作っているのですが、以下のエラーが出ました。イメージ説明

今、現在書かれているコードは

import UIKit

class ViewController: UIViewController {

@IBOutlet weak var imageView: UIImageView! @IBAction func showActivetyView(_ sender: UIBarButtonItem) { let controller = UIActivityViewController(activityItems: [imageView.image!], applicationActivityes: nil) self.present(controller, animated: true, completion: nil) } override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. }

}

で、let controller〜の行で、(activityItems:…の先頭にエラーマークがついている状況です。

エラ〜メッセージの意味と、その対策を知りたいので、よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

エラーメッセージの

Incorrect argument label in call (have 'activityItems:applicationActivityes:', expected 'activityItems:applicationActivities:')

ですが、「引数としてactivityItems:applicationActivities:を指定しなければいけないのに、実際はactivityItems:applicationActivityes:となっています」というエラーです。

applicationActivitiesとしなければいけないところがapplicationActivityesとなっています。最後はtiesで終わる単語がtyesになっています。

なので

swift

1let controller = UIActivityViewController(activityItems: [imageView.image!], 2 applicationActivityes: nil)

swift

1 let controller = UIActivityViewController(activityItems: [imageView.image!], 2 applicationActivities: nil)

にすればコンパイルは通ると思います。

Xcodeの場合、この手のエラーだと「修正提案」を出してくれるので、その機能を活用するといいかと思います。

たとえば、

イメージ説明

こんな感じでエラーが出てきますが、下部に修正提案の内容と右下にFixというボタンがありますから、これを押せば修正することが可能です。


Xcodeの補完機能をフルに活用すれば、間違いも最小限に済ませることが可能です。

たとえば、メソッドの場合、メソッド名をカッコまで打ち込むと

イメージ説明

このような感じで候補が出てきます。

同じメソッド名で引数が違う場合には複数出てきますから、カーソルキーで選択するか、引数の最初の文字を打ち込むなどして限定してください。

言うまでもなく、メソッド名やプロパティ名についても、すべて自分で打ち込まなくとも自動補完が効きますので併用してもらえますでしょうか。

つぎに、TABキーを押すと

イメージ説明

最初の引数ラベルを自動的に補完してくれます。

引数の部分は自分で入力しますが、これも補完機能が使えますのでご活用ください。

イメージ説明

で、上記のような感じで最初の引数を入力したら、再度TABキーをおします。

イメージ説明

すると、次の引数ラベルも自動的に補完してくれます。

Xcodeには、コード入力を助けてくれる便利な機能がたくさんありますから、ぜひご活用ください。

投稿2020/05/06 10:19

編集2020/05/06 10:47
TsukubaDepot

総合スコア5086

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ken2Mayones5

2020/05/06 10:39

毎回の回答ありがとうございます。 バッチリ修正できました。 単語力をもっとつけて行かなければと反省です。 ありがとうございました。
TsukubaDepot

2020/05/06 10:48

単語力は必要かもしれませんが、単語力がなくてもXcodeの機能を活用すれば引数名はうろ覚えでもかなり効率的に打ち込めます。 回答に追記しましたのでぜひご活用ください。
ken2Mayones5

2020/05/06 10:53

重ね重ねありがとうございます。 一読しただけでは正直まだ完全に理解はできませんが、知識を補完してくれる機能は大変ありがたい機能なので、事あるごとに読み返して、身につけていきたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問