相关疑难解决方法(0)

Objective-C:类别中的属性/实例变量

由于我无法在Objective-C中的类别中创建合成属性,因此我不知道如何优化以下代码:

@interface MyClass (Variant)
@property (nonatomic, strong) NSString *test;
@end

@implementation MyClass (Variant)

@dynamic test;

- (NSString *)test {
    NSString *res;
    //do a lot of stuff
    return res;
}

@end
Run Code Online (Sandbox Code Playgroud)

测试方法被调用运行时多次,我做了很多的东西来计算结果.通常使用合成属性我会在第一次调用方法时将值存储在IVar _test中,并且下次只返回此IVar.我该如何优化上面的代码?

objective-c categories

118
推荐指数
4
解决办法
7万
查看次数

何时使用类别

我最近发现了类别,并且想知道何时在用户定义的类/新类中使用它们是合适的.例如,我可以看到将类别添加到现有类(如NSString)的好处,但是在创建新类时,为此添加类别而不仅仅是实现常规方法的优势是什么?

希望这是有道理的.非常感谢

儒勒

objective-c

11
推荐指数
2
解决办法
3673
查看次数

Objective-c - 类别和协议的目的

我一直在阅读Objective-c Protocols and Categories,这对我来说似乎毫无意义.它们都用于以一些有趣的方式向程序添加内容,而不仅仅是手动添加它.

我可能会确信协议的目的是为了让你可以检查id的类型,但这确实是关于它的.我认为没有其他真正的用途.

至于类别,我真的不明白你为什么不把它们添加到代码中.为什么你需要手动指定一个类别中的方法,而不是只是正常地执行它?您是否想要制作一个"子类"但稍作修改?为什么不做一个子类?

我真的没有看到其中任何一个的目的,我希望有人可以告诉我他们真正的用途= /

提前谢谢,克里斯蒂安

iphone protocols objective-c categories ios

5
推荐指数
1
解决办法
6099
查看次数

继承和类别之间有什么区别

objective-c中继承和类别之间的区别是什么

两者都用于子类!那么它们之间有什么区别呢

objective-c

3
推荐指数
1
解决办法
3181
查看次数

子类和类别之间的区别?

可能重复:
Objective-c中继承和类别之间
的差异类别和继承的区别和用途是什么?

感谢您的回复,例如我们有nsstring类,如果我们想要为该类添加方法,不需要为此创建类别,只是我们可以将它子类化,但为什么我们使用类别?请帮助这个

objective-c

0
推荐指数
1
解决办法
8338
查看次数

标签 统计

objective-c ×5

categories ×2

ios ×1

iphone ×1

protocols ×1