我需要知道NSArray类的sortedArrayUsingComparator函数的时间复杂度 .一个消息来源会很棒,因为我可能会在我的学士论文中提到它.我正在按距离到当前位置对一系列位置进行排序.
我能找到的唯一答案是有人说它至少是T(n)= O(n)但可能是T(n)= O(n log n)
我怎么知道?
如果用户允许本地通知,是否没有简单的测试方法?在我拒绝发送本地通知后,我在控制台中发现了警告.当相关事件发生时,它表示该应用程序尝试发送通知,即使用户不允许它.我想在尝试显示通知之前检查是否允许它.在我的情况下看评论,我该怎么做?
我的代码是:
app = [UIApplication sharedApplication];
-(void)showBackgroundNotification:(NSString *) message {
//check if app is in background and check if local notifications are allowed.
if (app.applicationState == UIApplicationStateBackground /*&& LocalNotificationsAreAllowed*/){
UILocalNotification *note = [[UILocalNotification alloc]init];
note.alertBody = message;
note.fireDate = [NSDate dateWithTimeIntervalSinceNow:0.0];
[app scheduleLocalNotification :note];
}
}
Run Code Online (Sandbox Code Playgroud)
我得到用户的提示,如下所示:
UIUserNotificationSettings *settings;
if ([app respondsToSelector:@selector(registerUserNotificationSettings:)])
{
settings = [UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeBadge|UIUserNotificationTypeAlert|UIUserNotification TypeSound) categories:nil];
[app registerUserNotificationSettings:settings];
}
Run Code Online (Sandbox Code Playgroud)
我不能使用设置对象?
编辑:我想我已经解决了.这似乎有效.
-(void)showBackgroundNotification:(NSString *) message {
if (app.applicationState == UIApplicationStateBackground && [app currentUserNotificationSettings].types != UIUserNotificationTypeNone){
UILocalNotification *note = …Run Code Online (Sandbox Code Playgroud) 我知道这有几个主题,但没有人回答我的问题.
我已经像这样实现了我的单例类(了解有关单身人士的争议):
+ (MyClass*) sharedInstance {
static MyClass *_sharedInstance = nil;
static dispatch_once_t oncePredicate;
dispatch_once(&oncePredicate, ^{
_sharedInstance = [[MyClass alloc] init];
});
return _sharedInstance;
}
- (instancetype)init{
self = [super init];
if (self) {
//setup code
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
我尝试实例化一个不同的对象,并将它与sharedInstance返回的'=='进行比较,它们确实不同.
问题: