gpt4 book ai didi

ios - 如何在 Objective-C 中返回类似于 std::pair 的对象?

转载 作者:可可西里 更新时间:2023-11-01 06:18:29 24 4
gpt4 key购买 nike

我来自 C++,我正在尝试为文本字段中的用户输入创建验证器类。我的函数需要返回一个 bool 和一条消息(如果 bool 是 YES,消息是 NULL)。 Objective-C 中是否有类似 std::pair 的东西?来自 C++(其中包含一对值)?

最佳答案

Cocoa 中没有std::pair;你可以创建自己的。然而,更惯用的解决问题的方法类似于其他返回错误的方法,即传递一个指向错误的指针,并返回 BOOL:

-(BOOL) validateInput:(id)input error:(NSError**)errPtr {
// Validate the input
// If the input is valid, do not assign `errPtr`, and return `YES`
// Otherwise, create a `NSError` object, and assign to errPtr
}

您可以按如下方式调用此方法:

NSError *err;
if (![validator validateInput:@"some input" error:&err]) {
// Show the error
}

有关如何在 Cocoa 中使用此习语的示例,请参阅 NSRegularExpression 类的 regularExpressionWithPattern:options:error: 方法。

关于ios - 如何在 Objective-C 中返回类似于 std::pair 的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14792454/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com