Хорошо, так что, чтобы начать работу с Objective-C (я обычно являюсь просто телефоном HTML PhoneGap), я сделал простое приложение Magic 8 ball. У меня есть это прямо сейчас, так что, когда я касаюсь экрана, мяч «трясет» и принимает случайный ответ и помещает его в ярлык. То, что я хочу сделать, - это когда сам 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