AndroidアプリをiOSに移植しようとしています。iveがc/c ++を実行してからしばらく経ちましたが、とにかく、ObjectiveCはまったく初めてです。単一のビュー「ViewController」から始めました。ViewController.mmにデータを作成するボタンがあります。簡単にするために、それはちょうどダブルとしましょう。
ViewController.mm:
double myDouble = 13;
次のような次のビューを起動するボタンがあります。
[[NSBundle mainBundle] loadNibNamed:@"TrimView" owner:self options:nil];
[self.view addSubview:TrimView];
「TrimView」で、ViewController.mmで取得したデータをグラフィカルに表示したいので、myDoubleを2倍にします。線を引くことができるようにするために、この小さなチュートリアルに従いました: http ://www.techotopia.com/index.php/An_iPhone_Graphics_Drawing_Tutorial_using_Quartz_2D
このコードを使用して線を描画します:TrimView.mm:
- (void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 2.0);
CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB();
CGFloat components[] = {0.0, 0.0, 1.0, 1.0};
CGColorRef color = CGColorCreate(colorspace, components);
CGContextSetStrokeColorWithColor(context, color);
CGContextMoveToPoint(context, 0, 0);
CGContextAddLineToPoint(context, 300, 400);
CGContextStrokePath(context);
CGColorSpaceRelease(colorspace);
CGColorRelease(color);
}
私はちょっと立ち往生していて、私は今私がどのように進むべきかについて意見を探しています。簡単にするために、trimView.mmの位置myDoubleで描画された線を開始したいとします。ViewControllerからtrimViewに転送するにはどうすればよいですか?
今の私の問題は、私が次のようなものを持っていないということです
TrimView tf;
ViewController.mmで、次のようなことができます。
TrimView.setMyDouble(myDouble);
私はちょうど持っています(上記のように):
[[NSBundle mainBundle] loadNibNamed:@"TrimView" owner:self options:nil];
[self.view addSubview:TrimView];
答えを読んだ後、私はこれを試しました:
TrimView *nextView = [[TrimView alloc] initWithNib=@"TrimView" bundle=nil];
しかし、これを取得しました:「'UIView'の表示された@interfaceはセレクター'alloc'を宣言しません」
TrimView.h:
#import <UIKit/UIKit.h>
@interface TrimView: UIView
@property(nonatomic) double *myDouble;
@end