我知道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