我已经调用了百度的界面来检查ID号,但当我在sex = M
中使用M
时,性别的值与NSString
一起返回,在sex
周围没有“”用于存储它的模块然后打印此NSTaggedPointerString
属性的类名,它打印为function line(pos_x, pos_y, length, width, color, num) {
this = document.createElement('div');
this.style.left = pos_x + "%";
this.style.top = pos_y + "%";
this.style.length = length + "%";
this.style.width = width + "%";
this.style.backgroundColor = color;
this.id = "line" + num;
document.appendChild(this);
}
var line1 = line(10, 0, 100, 100, #2ecc71, 1);
,我怀疑如何将其转换为String以使用它。任何人都有好主意吗?
答案 0 :(得分:33)
NSTaggedPointerString
已经是NSString
,它只是一个子类。您可以在任何可以使用NSString
的地方使用它,而无需转换。
答案 1 :(得分:10)
我遇到过无法用作字符串的地方,例如创建NSDictionary时。在这些情况下,请使用stringWithString:
:
NSString* <# myNSString #> = [NSString stringWithString:<# myNSTaggegedString #>];
答案 2 :(得分:2)
我多次遇到同样的问题。似乎NSDictionary的类型推断不是一门精确的科学。我所做的是具体询问对象是否响应特定方法。例如,如果我循环解析一些JSON并且我试图访问类型为NSString
的值:
NSString * string;
if ([[dict objectForKey:@"value"] respondsToSelector:@selector(stringValue)]) {
string = [[dict objectForKey:@"value"] stringValue];
}
else {
string = [NSString stringWithString:[dict objectForKey:@"value"]];
}
documentFile.documentRevision = string;
答案 3 :(得分:0)
在我的情况下,儿子{“伯爵”:“123”}我收到了错误。 解决:
// Data was created, we leave it to you to display all of those tall tales!
// NSLog(@«data: %@", [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
NSDictionary * json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
if ([json isKindOfClass:[NSDictionary class]]){ //Added instrospection as suggested in comment.
NSArray *dicArray = json[@"count"];
NSLog(@"=:%@", dicArray);
}
答案 4 :(得分:0)
对于Swift 3或4
String(stringInterpolationSegment: taggedPointerString)