基本的に、私はAppDelegate.swiftでRefresh(ViewController.swiftにある)関数を実行しようとしています。 5時間のうちのより良い部分を検索した後、私はなぜこれが動作しているのか理解できません。ここ は私の関数である。appdelegateでviewcontrollerから関数を呼び出す方法は? (Swift)
私Appdelegate.swiftでfunc Refresh(){
if(Count==0 && QuickActionChecker==true){
Previous.text=String(TipArray[CountCurrent])
Current.text=String(TipArray[CountCurrent])
Deliveries.text="\(Runs)"
}
if(Count>0 && QuickActionChecker==true){
Previous.text=String(TipArray[CountCurrent-1])
Current.text=String(Total)
Deliveries.text="\(Runs)"
}
}
私は主にそれを設定することでのViewControllerを初期化している:私は(から関数を実行しようとしてるところ
let Main = ViewController()
、ここでは、力のタッチのホームスクリーンからの迅速な行動):しかし
func application(_ application: UIApplication, performActionFor shortcutItem: UIApplicationShortcutItem, completionHandler: @escaping (Bool) -> Void) {
if shortcutItem.type == "com.Sicarix.Ticket.Add5"{
if(CountCurrent==0){
TipArray.append(5)
Count=Count+1
CountCurrent=CountCurrent+2
Total=TipArray.reduce(0) {$0+$1}
Runs=Runs+1
QuickActionChecker=true
Main.Refresh()
}
else{
TipArray.append(5)
Count=Count+1
CountCurrent=CountCurrent+1
Total=TipArray.reduce(0) {$0+$1}
Runs=Runs+1
QuickActionChecker=true
Main.Refresh()
}
}
}
、私はそれが白い画面にアプリを開き、そこにとどまるショートカットを使用してみてください。機能のためにそれ故に必要性、
fatal error: unexpectedly found nil while unwrapping an Optional value
私はMain.Refreshを(削除すると、コードが正常に動作)、それだけで私のアプリのラベルを更新しません:コンソールは吐きです。 助けてください、私はこのバグを乗り越えるためにとても準備ができています.... また、私はまだ一週間迅速にコーディングしていないことを心に留めてください。できる。 TIA
どのように配列を定義しましたか? – farzadshbfn
Swiftでは、変数とメソッドの名前は小文字で始まる必要があります。 – Moritz