, если вы импортируете BluetoothManager.h
, тогда у вас есть разрешение во время компиляции, измените код так:
#import "BluetoothManager.h"
Class BluetoothManagerClass = objc_getClass( "BluetoothManager" );
BluetoothManager *btCont = [BluetoothManagerClass sharedInstance];
[btCont setEnabled:!currentState];
вы пытаетесь поддерживать новый класс, но также работаете в более старомiOS?
в ответ на вопрос 1: «простая» версия, если вы не пытаетесь сделать что-то хитрое, должна отказаться от objc_getClass
, который обеспечивает динамическую гибкость, которая нечасто требуется
#import "BluetoothManager.h"
BluetoothManager *btCont = [BluetoothManager sharedInstance];
[btCont setEnabled:!currentState];
Это предполагает:
- Класс
BluetoothManager
объявлен в "BluetoothManager.h" - , там объявлен метод класса (иопределено) на нем
+sharedInstance
(который следует общим соглашениям об именах Objective C, я переименовал бы в +sharedBluetoothManager
) - BluetoothManager объявляет метод с именем
-setEnabled: