gpt4 book ai didi

Objective-C:有什么技巧可以避免转换 NSArray 对象吗?

转载 作者:太空狗 更新时间:2023-10-30 03:59:26 24 4
gpt4 key购买 nike

我经常发现自己将 NSArray 中的对象转换为我的类型,当我想使用点符号(而不是 getter)访问它们的特定属性而不创建额外的变量时。

是否有什么很酷的功能或技巧可以告诉 Objective-C 我要将哪一类对象存储到 NSArray,以便编译器假定数组中的对象是我的类型,而不是 id?

最佳答案

如果你的意思是你正在做这样的事情:

x = ((MyClass *)[myArray objectAtIndex:2]).property1;

为了便于阅读,您可以将其分成两行:

MyClass *myObject = [myArray objectAtIndex:2]
x = myObject.property1;

如果你真的对第一种情况有所了解,你可以在 NSArray 上创建一个类别,它有一个适合你的类型的访问器:

@implementation NSArray (MyCategory)

- (MyClass *)myClassObjectAtIndex:(NSUInteger)index
{
return [self objectAtIndex:index];
}

@end

然后你就可以随心所欲地使用它了:

x = [myArray myClassObjectAtIndex:2].property1;

关于Objective-C:有什么技巧可以避免转换 NSArray 对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18554198/

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