さて、Objective-C(私はたいていHTML PhoneGapちょっとした人です)と一緒に行くには、単純なMagic 8ボールアプリを作りました。私はそれを今すぐ持っているので、私が画面に触れると、ボールは "揺れ"、ランダムな反応を取り、それをラベルに入れます。私がしたいのは、iPhone自体が動揺しているときで、テキストも更新されているときです。iPhoneを振るユーザーにどのように応答できますか?
は、ここに私のMainView.mです:
#import "MainView.h"
@implementation MainView
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event {
if (event.type == UIEventSubtypeMotionShake) {
int rNumber = rand() % 26;
switch (rNumber) {
case 0:
shook.text = @"Never";
break;
....25 more entries.....
default:
break;
}
}
}
- (IBAction)yesNo {
[NSThread sleepForTimeInterval:0.75];
int rNumber = rand() % 26;
switch (rNumber) {
case 0:
result.text = @"Never";
break;
........
default:
break;
}
}
@end
と私のMainView.h
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
@interface MainView : UIView <UIAccelerometerDelegate> {
IBOutlet UILabel *result;
IBOutlet UILabel *shook;
}
- (IBAction)yesNo;
- (void)motionEnded;
@end
明らかにそこにエラーがあります、私が知っているくらい、しかしどこ?
なぜそこにエラーがあるのは明らかですか? –
メインスレッドをスリープさせることは本当に悪い考えです。どうしてそんなことをするのか?コードの実行を遅らせたい場合は、代わりに '-performSelector:withObject:afterDelay:'を使用してください。また、ランダムテストコードを両方の場所から呼び出される別のメソッドにリファクタリングする必要があります。 –
アプリがクラッシュしていますか?もしそうなら、ログは何を言いますか? – WrightsCS