ios - swift 函数返回对象或 nil

标签 ios swift function swift2

我在类里面有一个方法:

func myFunc() -> Any?
{
    let fetchRequest        = NSFetchRequest(entityName: "Product")
    fetchRequest.predicate  = NSPredicate(format: "shopitem == %@", self.objectID)
    fetchRequest.fetchLimit = 1;
    do
    {
       fetchResults = try self.managedObjectContext!.executeFetchRequest(fetchRequest) as! [Product]
    }
    catch
    {
       fatalError("Fetching from the store failed")
    }

    if fetchResults.count > 0
    {
       return fetchResults.first
    }
    return nil
}

然后我在另一个类中调用这个方法。但是如何检查从中返回了什么对象:

let product = MyClass.myFunc() as! Product
cell.productTitleLabel.text = product.product_title 

如果我的方法返回 nil,此代码将返回错误。

最佳答案

您可以使用条件类型转换来处理这种情况。 (引用 Type Casting ):

if let product = MyClass.myFunc() as? Product
{
   cell.productTitleLabel.text = product.product_title 
}

此外,如果您需要检查返回值的类型,您可以使用:

var product = MyClass.myFunc()
if product is Product
{
    // Do stuff
}

关于ios - swift 函数返回对象或 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32977105/

相关文章:

ios - 从 Facebook 或 gmail 或任何其他云 iOS 获取与 cncontactstore 的联系

objective-c - 强制洗牌 NSMutableArray

swift - 在 Swift 中为 CAShapeLayer 路径从旧值到新值设置动画

r - 以固定的列间隔在数据框中绘制多个数据,并在一个图中绘制相应的图例

python - 如何在Python中自动公开和修饰方法的函数版本?

objective-c - 找出iOS中货币的小数位数

ios - iPad iOS 6 如何防止顶角 UINavigationBar 与背景图像四舍五入

ios - 从字符串初始化一个单元

ios - Firebase 动态链接无效并被阻止

function - 已弃用:函数 create_function() 已弃用 PHP 7.2