Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 尝试创建每个工作日重复的UILocalNotification_Ios_Xamarin.ios_Xamarin_Uilocalnotification - Fatal编程技术网

Ios 尝试创建每个工作日重复的UILocalNotification

Ios 尝试创建每个工作日重复的UILocalNotification,ios,xamarin.ios,xamarin,uilocalnotification,Ios,Xamarin.ios,Xamarin,Uilocalnotification,我正在尝试使用Xamarin.IOS创建重复的本地通知。我希望每天都有不同的提醒信息,例如“今天是星期一”、“今天是星期二”等等 我的问题是,只有第一个通知有效。在阅读了文档和一些教程之后,创建重复通知的正确方法是每天循环创建七个通知,其中RepeatInterval属性设置为NSCalendarUnit.Weekday 我的代码现在有点乱 for (int i = 0; i <= 6; i++) { NSDateComponents components

我正在尝试使用Xamarin.IOS创建重复的本地通知。我希望每天都有不同的提醒信息,例如“今天是星期一”、“今天是星期二”等等

我的问题是,只有第一个通知有效。在阅读了文档和一些教程之后,创建重复通知的正确方法是每天循环创建七个通知,其中RepeatInterval属性设置为NSCalendarUnit.Weekday

我的代码现在有点乱

for (int i = 0; i <= 6; i++) {

                NSDateComponents components = gregCalendar.Components (NSCalendarUnit.Day | NSCalendarUnit.Year | NSCalendarUnit.Month, DateTime.Now.AddDays(i).ToNSDate());
                components.Day = DateTime.Now.AddDays(i).Day;
                components.Month = DateTime.Now.AddDays(i).Month;
                components.Year = DateTime.Now.AddDays(i).Year;
                NSDate referenceDate = gregCalendar.DateFromComponents (components);

                NSDateComponents componentsForFireDate = gregCalendar.Components (NSCalendarUnit.Year | NSCalendarUnit.Hour | NSCalendarUnit.Minute, referenceDate);
                componentsForFireDate.Year = components.Year;
                componentsForFireDate.Month = components.Month;
                componentsForFireDate.Day = components.Day;
                componentsForFireDate.Hour = 8;
                componentsForFireDate.Minute = 0;

                var dayOfWeek = (int)DateTime.Now.AddDays (i).DayOfWeek + 1;
                if (dayOfWeek == 8)
                    dayOfWeek = 1;

                componentsForFireDate.Weekday = dayOfWeek;

                NSDate fireDateOfNotification = gregCalendar.DateFromComponents (componentsForFireDate);

                UILocalNotification localNotification = new UILocalNotification ();
                localNotification.FireDate = fireDateOfNotification;
                localNotification.TimeZone = NSTimeZone.LocalTimeZone;
                localNotification.AlertBody = dayOfWeek;
                localNotification.AlertAction = "daily";
                localNotification.RepeatCalendar = NSCalendar.CurrentCalendar;
                localNotification.RepeatInterval = NSCalendarUnit.Weekday;
                localNotification.ApplicationIconBadgeNumber = 1;

                UIApplication.SharedApplication.ScheduleLocalNotification (localNotification);
            }

for(inti=0;i将此代码添加到for循环中

switch(i)
{
  case 0: //mon
           localNotification.alertbody = @"Monday....you message";
   break;
  case 1 //tue 
           localNotification.alertbody = @"Tuesday....you message";
   break;
  case 2://wed
          localNotification.alertbody = @"Wednesday....you message";
   break;
  ...
  ...

}

为此,您可以切换6种情况下的i值,并为每个通知设置不同的警报。它是否有效?您可以共享您的代码吗??