Ios 贡献的大小会导致;NSString与NSObject不相同;
我的代码在iOS 8.0上运行正常,因为我更新到了Xcode 6.1/SDK 8.1,所以无法编译swift代码 我正试图从这样的字符串中获取CGSizeIos 贡献的大小会导致;NSString与NSObject不相同;,ios,swift,Ios,Swift,我的代码在iOS 8.0上运行正常,因为我更新到了Xcode 6.1/SDK 8.1,所以无法编译swift代码 我正试图从这样的字符串中获取CGSize let part1="my text" let font = UIFont(name: "Arial", size: 30) var dict = [NSFontAttributeName:font] let size: CGSize = part1.sizeWithAttributes(dict) 在最后一行,我得到了错误“NSStrin
let part1="my text"
let font = UIFont(name: "Arial", size: 30)
var dict = [NSFontAttributeName:font]
let size: CGSize = part1.sizeWithAttributes(dict)
在最后一行,我得到了错误“NSString与NSObject不相同”
有人能帮忙吗
事实上,我找到了解决方案,这里是要添加的行,以使其工作
let part1="my text"
let font = UIFont(name: "Arial", size: 30)
if let fontNotNil=font {
var dict = [NSFontAttributeName:fontNotNil]
let size: CGSize = part1.sizeWithAttributes(dict)
}
请尝试以下操作:
let part1: NSString = "my text"
所有选项都需要适当的展开“ 输出: 尺寸:(96.6796875,33.515625)
如何声明
part1
?更好的展开字体var dict=[NSFontAttributeName:font!]
@codester显式展开不应进行,除非在任何情况下都不可能为零。在这种情况下,API将其指定为可选。它应在if let…
语句中展开。OP答案中的语句2和3可以组合成一行:if let font=UIFont(名称:“Arial“,大小:30){
。展开字体对我有效!不,没有帮助。仍然存在相同的错误。”
let part1: NSString! = "my text" // For the test since we do not know the type of part1
if let font = UIFont(name: "Arial", size: 30) {
let dict = [NSFontAttributeName:font] as NSDictionary
let size: CGSize = part1.sizeWithAttributes(dict)
println("size: \(size)")
}