Jas*_*Ngo 9 objective-c ios ios9
我有一个关于NSUserActivity的userInfo属性的快速问题.
NSString *activity = @"com.test.activity";
NSUserActivity *userActivity = [[NSUserActivity alloc] initWithActivityType:activity];
userActivity.title = @"Test";
userActivity.keywords = [NSSet setWithArray:@[@"Test"];
userActivity.userInfo = @{@"location": location};
userActivity.eligibleForSearch = YES;
self.userActivity = userActivity;
[self.userActivity becomeCurrent];
Run Code Online (Sandbox Code Playgroud)
我在视图控制器viewDidLoad()之一中实现了上面的代码片段.当我的项目出现在聚光灯搜索中时,它会调用continueUserActivity委托方法.
我正在尝试访问userActivity.userInfo属性,但它返回null,即使它已在上面设置.
这是continueUserActivity片段:
-(BOOL)application:(nonnull UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray * __nullable))restorationHandler {
NSString *locationName = [[userActivity.userInfo objectForKey:@"location"] valueForKey: @"name"];
// Do stuff with locationName
return NO;
Run Code Online (Sandbox Code Playgroud)
}
编辑:我更改了位置对象作为基本类型返回,但我仍然在委托方法上获取null.
是否有其他人在iOS 9 beta 3中遇到此问题?
mar*_*kim 11
我在的iOS 9测试版5个,并另一种方式userInfo可能是nil内的application:continueUserActivity:restorationHandler:是,如果你也设置NSUserActivity的webPageURL属性.如果设置webPageURL属性,并希望userInfo不要是零,那么你将需要在适当的键NSUserActivity的requiredUserInfoKeys属性.我花了很长时间才弄明白,但在文档中遗漏了这一点让我感到羞耻.
NSUserActivity *activity = [[NSUserActivity alloc] initWithActivityType:activityType];
activity.title = @"title";
activity.webpageURL = [NSURL URLWithString:webLinkUrlString];
activity.userInfo = @{@"id": webLinkUrlString, @"deep_link": deepLinkUrl};
// set requiredUserInfoKeys if you're also setting webPageURL !!
// otherwise, userInfo will be nil !!
activity.requiredUserInfoKeys = [NSSet setWithArrays:@[@"id", @"deep_link"]];
activity.eligibleForSearch = YES;
activity.eligibleForPublicIndexing = YES;
activity.contentAttributeSet = attributeSet;
activity.keywords = [NSSet setWithArray:keywordsArray];
self.activity = activity;
[self.activity becomeCurrent];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4292 次 |
| 最近记录: |