Objective c NSDictionary到NSString的转换问题
这段代码有什么问题 这是有效的:Objective c NSDictionary到NSString的转换问题,objective-c,nsstring,type-conversion,nsdictionary,Objective C,Nsstring,Type Conversion,Nsdictionary,这段代码有什么问题 这是有效的: NSDictionary* fact = [facts objectAtIndex:currentFactId]; [myTextView setText:[fact objectForKey:@"fact"]]; 这是行不通的: NSDictionary* fact = [facts objectAtIndex:currentFactId]; NSString *fact_string = [fact objectForKey:@"fact"]; 这应该管
NSDictionary* fact = [facts objectAtIndex:currentFactId];
[myTextView setText:[fact objectForKey:@"fact"]];
这是行不通的:
NSDictionary* fact = [facts objectAtIndex:currentFactId];
NSString *fact_string = [fact objectForKey:@"fact"];
这应该管用,但还是试试这个
NSString *fact_string = [NSString stringWithFormat:@"%@",[fact objectForKey:@"fact"]];
认为objectForKey不能确保返回NSString。因为您正在分配它的值,所以需要像Neo所说的那样封装它。如果没有封装,或者至少对(NSString*)进行转换,我不会进行设置和赋值。什么意思,它不起作用?你得到了什么?尝试记录[[fact objectForKey:@“fact”]类]并查看它返回的内容。如果该对象还不是
NSString
,则将其强制转换为NSString*
将毫无帮助。将Objective-C对象强制转换为其他Objective-C类型不会更改对象,也不会执行任何转换。