tabBarController Programm stürzt mit EXC_BAD_ACCESS ab

Wer ein iPhone Programm mit einer tabBar Navigation über einen tabBarController schreibt, kann unter Umständen das Problem erhalten, dass das Programm ohne ersichtlichen Grund mit EXC_BAD_ACCESS terminiert.

Eine mögliche Ursache ist der Array aus ViewControllern, der mit Inhalten gefüllt wird:

tabBarController.viewControllers = [NSArray arrayWithObjects:firstViewController, secondViewController,thirdViewController];

Dieser Array zeigt den Fehler, denn um eine korrekte Darstellung zu erhalten, muss der Array mit nil terminiert werden:

tabBarController.viewControllers = [NSArray arrayWithObjects:firstViewController, secondViewController,thirdViewController, nil];

Bash Script Array und if Problem

Hier ein paar kleine Kniffe in Bezug auf Bash Scripte:

Um einen Array mit Werten anzulegen und diese Werte zu durchlaufen:

#!/bin/bash

TESTARRAY=(hallo welt dies ist ein Array Test)
for i in ${TESTARRAY[@]}
do
  echo $i
done

Diese Ausgabe erzeugt eine zeilenweise Ausgabe der einzelnen Strings im Array.

Als zweites noch ein kleines Kniff bei if-Abfragen in Bash Scripten.
Ein häufig auftretendes Problem, ist ein nicht betreten des Code Teils nach einer if Abfrage:

SELECT=`date '+%w'`
if [["$SELECT" -eq 3]];
then
echo "hello World"
fi

Diese if Anweisung wird nie erfüllt werden, das Problem sind die fehlenden Leerzeichen in der Bedingung.
Mit

SELECT=`date '+%w'`
if [[ "$SELECT" -eq 3 ]];
then
echo "hello World"
fi

funktioniert es wie gewünscht.