我想用 json 标题设置我的导航栏的标题。
我试过:
[self setTitle:[self.defineJsonDataforSurveyQuestion objectForKey:@"SurveyName"]];
[self.navigationController setTitle:[self.defineJsonDataforSurveyQuestion objectForKey:@"SurveyName"]];
如果手动设置标题,它会起作用,但我对 json 什么也得不到。我知道我正在获取正确的值并正确解析 json,因为它在 NSLog 中显示正确。
我没有错误,标题只是空白。
2013-05-25 13:37:26.863 [1657:907] Survey name for title:Filter Inspection
请帮忙。
最佳答案
objectForKey:返回一个对象,它可以是一个 NSString,但不一定是。当您使用 NSLog 打印它时,NSLog 会在对象上调用“describe”,这样您仍然会在日志中得到一些合理的信息,但是 setTitle: 当然不会那样做,它需要一个 NSString 对象。
id title = [self.defineJsonDataforSurveyQuestion objectForKey:@"SurveyName"];
if ([[title class] isKindOfClass:[NSString class]]) {
[self.navigationController.navigationBar.topItem setTitle:title];
} else {
NSLog(@"title is not a string, but %@!", [title class]);
}
关于ios - 标题未使用 json 设置。 objective-c ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16749201/