小编Jas*_*Ngo的帖子

iOS 9 - NSUserActivity userinfo属性显示为null

我有一个关于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中遇到此问题?

objective-c ios ios9

9
推荐指数
1
解决办法
4292
查看次数

标签 统计

ios ×1

ios9 ×1

objective-c ×1