那么我们总是需要变量来指向Objective C中的对象吗?

时间:2017-02-15 10:28:08

标签: ios objective-c

根据this回答,

NSString *string = [NSString new]; // A variable string referring a string object;
string = @"john"; // The object, string refers to is now "string"

理论上NSString是一个类,字符串是一个由[NSString new]代码给出内存的对象。除此之外,我在某处读过,在Objective-C中,我们总是有指针对象。

我试图在现实生活中了解它,假设我去丰田代理商(NSString Class)购买丰田普锐斯(String对象)。现在我有我的书包(约翰)左边是汽车,这是在我的地下室停车场。

  1. 所以string是指针对象或指针变量,这是我的普锐斯吗?
  2. 是指内存中的对象,内存是车库还是代理?
  3. 任何人都可以帮忙说清楚变量,指针和对象如何相互关联吗?

1 个答案:

答案 0 :(得分:1)

  1. 对象&变量是(在这种情况下)语法糖,两者都可以使用。
    是的,这是你的 Prius
  2. 指的是对象@"john"占用的内存的
  3. 书包& john 不是一回事。
    john 是存储在string指向的内存位置的值 根据您所说的,书包左边是车书包看起来像是string对象的属性。 所以,

     Toyota_Agency prius = [Toyota_Agency new];
     prius = @"john";
     prius.schoolBag = @"Some school bag";