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

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

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

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

Swift

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

Q&A

解決済

2回答

2738閲覧

Thread 1:signal SIGABRTのエラー

pokase

総合スコア16

Xcode

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

Swift

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

0グッド

1クリップ

投稿2016/01/12 06:02

今まで出てなかったのですが急にThread 1:signal SIGABRTのエラーが出てしまいました。

これまではエラーがでなくてコードは間違っていないと思うのですが、何が原因でしょうか?

Swift

1 2import UIKit 3 4class CollectionViewController: UICollectionViewController { 5 6 var Array = [String]() 7 8 var ButtonArray = [String]() 9 10 11 override func viewDidLoad() { 12 super.viewDidLoad() 13 // Do any additional setup after loading the view, typically from a nib. 14 15 Array = ["平成27年","平成27年","平成26年","平成26年","平成25年","平成25年","平成24年","平成24年","平成23年","平成23年","平成22年","平成22年"] 16 17 ButtonArray = ["上期","下期","上期","下期","上期","下期","上期","下期","上期","下期","上期","下期"] 18 19 } 20 21 override func didReceiveMemoryWarning() { 22 super.didReceiveMemoryWarning() 23 // Dispose of any resources that can be recreated. 24 } 25 override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 26 return Array.count 27 } 28 29 override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { 30 let cell = collectionView.dequeueReusableCellWithReuseIdentifier("cell", forIndexPath: indexPath) as UICollectionViewCell 31 32 let label = cell.viewWithTag(1) as! UILabel 33 34 label.text = Array[indexPath.row] 35 36 let Button = cell.viewWithTag(2) as! UIButton 37 38 39 Button.setTitle(ButtonArray[indexPath.row], forState: UIControlState.Normal) 40 41 42 43 return cell 44 } 45 46}

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

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

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

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

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

guest

回答2

0

ベストアンサー

この2つを、

swift

1let label = cell.viewWithTag(1) as! UILabel 2let Button = cell.viewWithTag(2) as! UIButton

下のように修正してみて下さい。

swift

1let label = cell.contentView.viewWithTag(1) as! UILabel 2let Button = cell.contentView.viewWithTag(2) as! UIButton

セルの上に載せた部品はセルの上に直接載っているのではなく、間にcontentViewが挟まっています。

投稿2016/01/13 02:35

fuzzball

総合スコア16731

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

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

0

どの行で問題が発生しているのかは特定されましたでしょうか。
ステップ実行で問題が発生している行は特定出来る場合もあると思います。(ステップ実行では再現しない場合もあります)

コードは変更していないということは、UI側(Storyboard?)は変更されたのでしょうか。
メモリ違反なので、たとえばcellのIdentifierを変更されたのにコード側で変更していないから取得出来ないとか、タグ指定で取得しようとしているオブジェクトがタグが重複していて想定しているコントロール以外が取得されてキャスト時にクラッシュしているとか想像は出来ますが確認が出来ないため確信はありません。

参考になれば幸いです。

投稿2016/01/13 00:03

YasuhiroMiyake

総合スコア1336

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問