Screen switching doesn't seem to accept lists as start values

Hi, I am taking AP Computer Science Principles and I am trying to write a program that flips coins and keeps track of how many coin flips were heads and how many were tails. Note that there are 2 categories of coin flips, one being manually flipping a coin one at a time and another being repeatedly flipping any number of coins in an instant, a.k.a. experimental flips. To view the coin flip statistics, another screen is opened and a start value containing a list is passed down from screen 1. The single list keeps track of how many heads and tails there were in each category (Index 1 = Manual Heads, Index 2 = Experimental Heads, Index 3 = Manual Tails, Index 4 = Experimental Tails). I am suspicious that the screens aren't able to pass lists as start values, for since the start value defaults to an empty string when no value is given, as seen with the error message below. Is there any way to pass multiple pieces of data when switching screens? Or is my code just bugged?
Edit: I am using an iOS iPhone 7 on the 15.7.3 software

Here is the error message that occurs when I flip the coin or try to switch to the stats screen:

Here is what my code looks like (you can ignore the touch animation procedure as it is quite irrelevant to the issue):

Screen1 (Manually flipping a coin):


ExperimentalScreen (Experimental Flips):


StatisticsScreen (Displays the statistics of heads & tails for both manual and experimental flips):


...And here is my project file:
Backup3CoinFlipMediaOnly.aia (65.0 KB)

I don't use iOS, so I can't vouch for how start values work or don't work in the current experimental version.

You had 4 Labels in one of your Screens, to show the 4 values

  • Heads manually
  • Tails Manually
  • Heads Experiment
  • Tails Experiment
    and you named the Labels well.

Simplify your data storage by using 4 tags built from those names, and store the counts simply, one per tag, default 0, in TinyDB.

Only use TinyDB across Screens.

Don't bother using global variables, since TinyDB gives you instantaneous access to its values, tag by tag. Simpler is better, and each global variable imposes a burden on your app to keep it synced with TinyDB.

Drop the list. It just fouls you up, since you are not using it for true list operations (the list does not grow and contract.)

Don't use start blocks. They act differently in testing and production environments. Just use TinyDB.

Here's a simpler version, without the list:
Backup3CoinFlipMediaOnly (1).aia (63.6 KB)

Here's why the Notifier event does not take:
You used this Notifier block:


That's a Choose Dialog.

You used this Notifier Event to try to catch the response:


(that one zoomed right past me.)

What you needed was:


(I wasn't sure the two Reset texts matched exactly, so I used a global constant 'Reset' value.)

The new version works fine:
Backup3CoinFlipMediaOnly (2).aia (63.7 KB)