2016-06-14 5 views
3

数日から私のアプリケーションで非常に奇妙な動作が見られます。 UIAlertControllerは、2番目のアクションを追加するとすぐにクラッシュします。ここで>2回目のアクションを追加するときにUIAlertControllerがクラッシュする(SIGABRT)

let alertController = UIAlertController.init(title: title, message: message, preferredStyle: .Alert) 

for action in actions 
{ 
    alertController.addAction(action) 
} 

actionsコードがUIAlertAction要素を含む配列は、私の場合2で私はすでに特定UIAlertActionオブジェクトに問題があったかどうかを確認するためにアクションを並べ替えてみましたが、いや、アプリが常にあります2番目のアクションを追加するとクラッシュします。私はこのようにそれらを作成します。

let cancelAction = UIAlertAction.init(title: "Cancel", style: .Cancel) 
{ (action:UIAlertAction!) -> Void in 
    print("User cancelled action"); 
} 

編集:ここでは、私は配列を作成する方法である:

showAlertView("Proceed", message: proceedMessage, actions: [cancelAction, proceedAction]) 

編集終了

このコードの大部分が少し変化して、アップルのチュートリアルから来ています。デバッガはただちになし、他の情報とclass AppDelegate: ...行にジャンプされ、その後SIGABRTと私は見クラッシュログには、この:

Exception Type: EXC_CRASH (SIGABRT) 
Exception Codes: 0x0000000000000000, 0x0000000000000000 
Exception Note: EXC_CORPSE_NOTIFY 
Triggered by Thread: 0 

Filtered syslog: 
None found 

Last Exception Backtrace: 
0 CoreFoundation     0x1832c6db0 __exceptionPreprocess + 124 
1 libobjc.A.dylib     0x18292bf80 objc_exception_throw + 56 
2 CoreFoundation     0x1832c6c80 +[NSException raise:format:arguments:] + 108 
3 Foundation      0x183c4c154 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 112 
4 UIKit       0x188897c24 -[UIAlertController addAction:] + 220 
5 MyApp       0x10007bb60 0x10006c000 + 64352 
6 MyApp       0x10007b648 0x10006c000 + 63048 
7 MyApp       0x10007929c 0x10006c000 + 53916 
8 MyApp       0x100079554 0x10006c000 + 54612 
9 UIKit       0x1886de1a8 -[UIApplication _handleNonLaunchSpecificActions:forScene:withTransitionContext:completion:] + 2676 
10 UIKit       0x1886cbf84 -[UIApplication workspace:didReceiveActions:] + 136 
11 FrontBoardServices    0x184c677ac __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 36 
12 FrontBoardServices    0x184c67618 -[FBSSerialQueue _performNext] + 168 
13 FrontBoardServices    0x184c679c8 -[FBSSerialQueue _performNextFromRunLoopSource] + 56 
14 CoreFoundation     0x18327d09c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24 
15 CoreFoundation     0x18327cb30 __CFRunLoopDoSources0 + 540 
16 CoreFoundation     0x18327a830 __CFRunLoopRun + 724 
17 CoreFoundation     0x1831a4c50 CFRunLoopRunSpecific + 384 
18 GraphicsServices    0x184a8c088 GSEventRunModal + 180 
19 UIKit       0x18848e088 UIApplicationMain + 204 
20 MyApp       0x10007d984 0x10006c000 + 72068 
21 libdyld.dylib     0x182d428b8 start + 4 

誰もが任意のアイデアを持っていますか?一番不思議なことは、同じコードが数日前に働いたということです。 YosemiteからEl Capitanにアップグレードした後は、Xcode 7.3に多くの問題があります(基本的にはほとんど使用できず、常にクラッシュしています)。しかし、同じです...

ベストregrads ビョルン

+0

forループアクションを使用する理由は何ですか? –

+2

アクション配列の作成方法を表示する必要があります。 – Code

+0

建物の前にきれいに走ってみましたか?どのような理由であれ、コードの一部が再コンパイルされていないため、変更後にクラッシュすることがあります。 – JeremyP

答えて

7

コードは、私の推測では、あなたが1つの以上のアクションにstyle: .Cancelを設定することです。

+0

はい、これが問題の原因です。これはどこかに書かれていますか? – bjoernb

関連する問題