Я бы сказал иначе: вы рискуете слишком усложнить что-то, что до смешного просто: -)
Хорошо, я немного беспечен. Как указывают другие, Objective-C - это на самом деле минимальный набор языковых расширений для C. Когда вы пишете код Objective-C, вы на самом деле пишете C. Вы даже можете получить доступ к внутренним махинациям поддержки Objective-C во время выполнения. использование некоторых удобных функций языка C, которые являются частью языка (нет ... я не рекомендую вам делать это, если вы действительно не знаете, что делаете).
О единственном случае, когда я когда-либо испытывал легкие хитрости, это когда я хотел передать метод экземпляра Objective-C в качестве обратного вызова для функции C. Скажем, например, я использую кросс-платформенную библиотеку pure-C, которая имеет функции, которые принимают обратный вызов. Я мог бы вызвать функцию из экземпляра объекта для обработки некоторых данных, а затем захотеть, чтобы эта функция C вызывала мой экземпляр BACK, когда это было сделано, или как часть получения дополнительного ввода и т. Д. И т. Д. (Обычная парадигма в C). Это можно сделать с помощью обворожительных функций и некоторых других креативных методов, которые я видел, и, если вам когда-нибудь понадобится, прибегнуть к помощи «метода target-c для обратного вызова c» или чего-то подобного, вы получите товар.
Единственный другой совет - убедиться, что ваши объекты должным образом управляют любой malloc
редактируемой памятью, которую они создают для использования функциями C. Вы захотите, чтобы ваши классы target-c приводили в порядок эту память на dealloc, если она действительно завершена.
Кроме этого, отряхните все ссылки на C и получайте удовольствие!