0

EventKit リマインダーの基本を学ぼうと、頭を悩ませています。ここでチュートリアルを再現しようとしています: http://www.techotopia.com/index.php/Using_iOS_6_Event_Kit_to_Create_Date_and_Location_Based_Reminders

しかし、プロジェクトをビルドしようとすると、IBAction と CreateReminder の両方で、.m ファイルに「メソッド宣言のコンテキストがありません」というエラーが表示されます。ここでアドバイスを求めようとしましたが、何が間違っているのかまだわかりません。これらのチュートリアルがビルドを妨げる基本的な情報を常に除外している場合、これらのチュートリアルの用途は何かを言わなければなりません。誰かが助けてくれれば、とても感謝しています。

#import <UIKit/UIKit.h>
#import <EventKit/EventKit.h>

@interface ReminderAppFirstViewController : UIViewController

@property (strong, nonatomic) EKEventStore *eventStore;

@property (strong, nonatomic) IBOutlet UIDatePicker *myDatePicker;
@property (strong, nonatomic) IBOutlet UITextField *reminderText;
- (IBAction)setReminder:(id)sender;
- (void)createReminder;
@end

- (IBAction)setReminder:(id)sender {

    if (_eventStore == nil)
    {
        _eventStore = [[EKEventStore alloc]init];
        [_eventStore requestAccessToEntityType:EKEntityTypeReminder comnpletion: ^(BOOL granted, NSError *error) ] {
            if (!granted)
                NSLog(@"Access to store not granted");
        }];

    }

    if (_eventStore != nil)
        [self createReminder];
}



- (void)createReminder
{
    EKReminder *reminder = [EKReminder
                            reminderWithEventStore:self.eventStore];

    reminder.title = _reminderText.text;

    reminder.calendar = [_eventStore defaultCalendarForNewReminders];

    NSDate *date = [_myDatePicker date];

    EKAlarm *alarm = [EKAlarm alarmWithAbsoluteDate:date];

    [reminder addAlarm:alarm];

    NSError *error = nil;

    [_eventStore saveReminder:reminder commit:YES error:&error];

    if (error)
        NSLog(@"error = %@", error);

        }
4

1 に答える 1

0

以下の部分は、.m ではなく .h ファイルにあるはずです。.m の @interface セクションで宣言されたプロパティは、本質的に非公開であり、.m 内でのみアクセスできます。方法も的外れです。チュートリアルの間違いかもしれません。

#import <UIKit/UIKit.h>
#import <EventKit/EventKit.h>

@interface ReminderAppFirstViewController : UIViewController

@property (strong, nonatomic) EKEventStore *eventStore;

@property (strong, nonatomic) IBOutlet UIDatePicker *myDatePicker;
@property (strong, nonatomic) IBOutlet UITextField *reminderText;
- (IBAction)setReminder:(id)sender;
- (void)createReminder;
@end
于 2013-01-17T08:53:41.243 に答える