Я занимаюсь этим уже больше суток, и я вырываю здесь свои волосы. Я пытаюсь внедрить пример RedLaser в свое собственное приложение, но MonoDevelop / MonoTouch просто не генерирует правильный код. Это должно быть то, что я (не) делаю в Интерфейсном Разработчике. Хорошо, здесь идет.
В примере в файле 'RLSampleViewController.xib.designer.cs генерируется следующее:
namespace RedLaserSample {
// Base type probably should be MonoTouch.UIKit.UIViewController or subclass
[MonoTouch.Foundation.Register("RLSampleViewController")]
public partial class RLSampleViewController {
private OverlayController __mt_overlayController;
....
[MonoTouch.Foundation.Connect("overlayController")]
private OverlayController overlayController {
get {
this.__mt_overlayController = ((OverlayController)(this.GetNativeField("overlayController")));
return this.__mt_overlayController;
}
set {
this.__mt_overlayController = value;
this.SetNativeField("overlayController", value);
}
}
В моем коде генерируется следующее:
namespace Winkel
{
[Register ("ScanArtikelController")]
partial class ScanArtikelController
{
[Outlet]
Winkel.OverlayController overlayController { get; set; }
Таким образом, синтаксис «Connect» не генерируется, и я понятия не имею, как правильно определить это в Интерфейсном Разработчике.
Что-то еще, что я заметил. В моем коде должен быть другой активный генератор. Вот что было сгенерировано для примера RedLaser:
// ------------------------------------------------------------------------------
// <autogenerated>
// This code was generated by a tool.
// Mono Runtime Version: 4.0.30319.1
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </autogenerated>
// ------------------------------------------------------------------------------
и этот комментарий был сгенерирован для моего кода:
// WARNING
//
// This file has been generated automatically by MonoDevelop to store outlets and
// actions made in the Xcode designer. If it is removed, they will be lost.
// Manual changes to this file may not be handled correctly.
//