В настоящее время я пытаюсь создать библиотеку привязки monotouch для Sparrow 1.3. Все отлично работает до сих пор, за исключением, что я не могу вывести из связанного ObjC класса, как:Проблемы с библиотекой objc для MonoTouch (не могут быть получены из связанного класса objc)
public class GameStage : SPStage {
public GameStage() : base() { }
public GameStage(float width, float height) : base(width, height) { }
}
SPStage
является класс, определенный в libSparrow.a
.
SPStage
, кажется, связаны правильно, так как следующий код работает в моем примере MonoTouch проекта:
private SPView sparrowView;
...
RectangleF frame = UIScreen.MainScreen.Bounds;
SPStage stage = new SPStage(frame.Size.Width, frame.Size.Height);
stage.Color = 0x0000ff;
sparrowView.Stage = stage;
Но если попробовать то же самое с GameStage
:
GameStage game = new GameStage(frame.Size.Width, frame.Size.Height);
game.Color = 0x0000ff;
sparrowView.Stage = game;
сбоя приложения без ошибок или трассировку стека. Ожидаемый результат должен быть синим.
Чтобы воспроизвести ошибку, я проверил в своем коде привязки и примере на git hub. Вы можете клонировать его отсюда:
[email protected]:goosefx/sparrow-monotouch.git
Я был бы ДЕЙСТВИТЕЛЬНО рад, если бы кто-нибудь мог мне помочь. Я действительно застрял в этой проблеме.
Спасибо!
UPDATE:
я впервые увидел подобный вопрос после того, как я написал этот вопрос: Monotouch derived class from a native class
Удаление/е из mtouch списка аргументов решил мою проблему. К сожалению, MonoDevelop не поддерживает подавление аргумента/e.
Плохо, что мне не разрешено отвечать на мой вопрос до 8 часов.
Возможный дубликат [производного класса Monotouch из родного класса] (http://stackoverflow.com/questions/9143320/monotouch-derived-class-from-a-native-class) – poupou