Действительно необходимо обернуть код, который Вы хотите быть в состоянии выполнить с внешней стороны в методе. Тот метод может тогда сделать то, что Ваше событие сделало бы - и то событие также вместо этого назовет тот метод.
Я не использовал ни один из них специально на iPhone, но я использовал оба в различных проектах. Как вы отметили, SQLite предоставляет язык запросов SQL, что означает, что у вас гораздо больше гибкости в том, как вы можете искать и находить данные. Предполагая, что вы хорошо знакомы с SQL, вы сможете легко фильтровать, связывать и агрегировать результаты.
Tokyo Cabinet предоставляет другой тип системы хранения данных, поскольку это хранилище "ключ-значение". Как следует из названия, эти системы предназначены для хранения пар (ключ, значение). Данные, хранящиеся в TC, должны иметь уникальный ключ, на который можно ссылаться, и на них может ссылаться только этот ключ. Интерфейс для доступа к TC - это в основном value = get (key) и set (key, value).
С точки зрения запросов доступ к TC примерно эквивалентен использованию SQLite и разрешает только поля первичного ключа и одно другое поле данных.
Основным преимуществом TC является производительность. Если и насколько это будет лучше, во многом зависит от рабочей нагрузки. В общем, если все, что вам нужно, это хранилище «ключ-значение», вам следует использовать TC, но если вам нужен язык запросов SQL, то это SQLite.