2017-09-01 40 views
0

的返回类型返回我有以下方法:如何没有从法ID

- (id) insertDictationResultPlaceholder 
{ 
    return nil; 
} 

Xcode的分析仪在我狂吠,并告诉我:

零从一个方法返回预计返回一个非空值

因此,对于返回参数为id的方法,如何不返回任何内容?空弦会好吗?这里最好的解决方案是什么?

+1

根据Apple的说法:https://developer.apple.com/documentation/uikit/uitextinput/1614466-insertdictationresultplaceholder?language=objc。 '返回值: 用于识别听写结果的占位符对象。这个值不能为零。' – Brandon

+1

[NSNull null]是否工作,而不是零? – ghostatron

+0

@conarch是的,谢谢,似乎工作,它是一个有意义的解决方案。 –

回答

2

您可以改为使用[NSNull null]。只是当你检查它持谨慎态度,因为,如果你尝试做一个比较,并不等同于零:

if ([NSNull null] == nil) 
{ 
    // This code will never run 
} 
0

我想知道你为什么要返回零作为回报,相反,你可以使用块回拨机制。

如果你想使用函数本身,那么根据函数中预期的返回类型发送空对象(可能是数组或字典或字符串)会更好。

+0

这个方法是在实现UITextInput时需要的,而且我没有在我的应用中使用听写,我没有用它。我甚至不确定期望的回报类型是什么。你为什么认为空的物体会更好? –