在Objective-C中,alloc如何知道要分配多少内存?

发布时间:2020-01-06 发布网站:大佬教程
大佬教程收集整理的这篇文章主要介绍了在Objective-C中,alloc如何知道要分配多少内存?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我有一个类被声明为:
@class SomeClass

@interface SomeClass: NSObject {
  NSString *myString;
  NSString *yourString;
}

@end

后来,在其他一些代码中我说:

SomeClass *myClass = [[SomeClass alloc] init];

SomeClass如何知道要分配多少内存,因为它没有覆盖alloc?大概需要ivars myString和yourString的存储,但是它使用从NSObject继承的alloc.是否有参考资料涵盖这些细节?

解决方法

alloc只是一个类方法,就像其他的一样. NSObject中的默认实现使用class_getInstanceSize()来获取应该分配的实例大小.实例大小基于每类(无继承)编译时结构大小和类的总大小以及所有超类的每次运行时计算的组合确定.这是64位和iPhone运行时非易失的iVAR的可能性.

一些类,特别是类集群,直到初始化程序被调用才真正实现真正的实例分配(这就是为什么在初始化程序方法中做self = [super init]很重要的原因).

大佬总结

以上是大佬教程为你收集整理的在Objective-C中,alloc如何知道要分配多少内存?全部内容,希望文章能够帮你解决在Objective-C中,alloc如何知道要分配多少内存?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ群:277859234,请注明来意。