我的代码在Xcode6
中运行良好。但是,在更新到Xcode7
后,我收到了近20个错误和50个警告。这可能是Swift 2中的一些语法更改
解决了所有这些但是无法弄清楚这一点:来自UITabBarItem
的沮丧?至UITabBarItem
仅展开选项;你的意思是用'!'
以下是实际代码:
let tabItems = tabBar.items as! [UITabBarItem] // Error in this line
for (index, value) in enumerate(tabItems)
{
var imageName = imageNames[index]
value.image = UIImage(named: imageName)
value.imageInsets = UIEdgeInsetsMake(5.0, 0, -5.0, 0)
}
它显示我1错误
当我尝试这样做时:
if let tabItems = tabBar.items as [UITabBarItem]? {
for (index, value) in tabItems.enumerate()
{
var imageName = imageNames[index]
value.image = UIImage(named: imageName)
value.imageInsets = UIEdgeInsetsMake(5.0, 0, -5.0, 0)
}
}
它向我展示了5个错误::
- “_ UTTypeCopyPreferredTagWithClass”,引用自: - Parse(PFFile.o)中的[PFFile _mimeType] 2.“_UTTypeCreatePreferredIdentifierForTag”,引用自: - Parse(PFFile.o)中的[PFFile _mimeType] 3.“_kUTTagClassFilenameExtension”,引用来自: - Parse(PFFile.o)中的[PFFile _mimeType] 4.“_ kUTTagClassMIMEType”,引自: - Parse(PFFile.o)中的[PFFile _mimeType] ld:未找到架构x86_64的符号5.clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
醇>
请帮忙!提前致谢
答案 0 :(得分:0)
如果有一些TabBarItems,tabBar.items将返回一个UITabBarItem数组。如果没有,它将返回你的零(这是一个可选的)。 所以这将是"哑巴"把它再次强制转换为[UITabBarItem]。这就像是说:我有很多苹果,用它做一些苹果。但是你需要处理tabBar.items为零的情况。所以你只需要通过添加"来打开tabBar.items!"就像这样:
let tabItems = tabBar.items!
这应该有效:)