我知道C/C++和Objective-C之间存在差异,但涉及指针标记*
的情况如何呢?这不是用于Objective-C中的指针,还是用这种语言的所有对象指针? I.E,如果我尝试NSString string = @"Hello";
,则XCode告诉我使用NSString *string
代替。这是否仍然意味着它是一个指针?Objective-C中的所有对象基本都是指针吗?
比方说,我有这样的标准方法(如,这是方法的大多数方法看):
-(void)method:(NSString*)s;
然后我会送这样的事情:
NSString *string = @"Hello";
[self method:string];
请问我保存数据时间或分配或访问或任何做这样的事情:
-(void)method:(NSString**)s;
//and use it like this:
NSString *string = @"Hello";
[self method:&string];
或者这是浪费?如果他们已经是指针,我想他们会用这种方式指向指针。
?
是的。与C++不同,你不能静态地创建一个对象。尝试编译第一个字符串并查看错误消息。 – 2013-04-27 13:01:15