從我所經歷的情況看,好像對象不能在目標c中共享數據成員。我知道你可以初始化一個指針,並在每個方法中分配對象,但我似乎無法弄清楚如何可以說定義一個NSMutableString作爲數據成員,並允許所有的方法使用和修改其數據在c + +中。這是真的還是我錯過了什麼?作爲目標C中的數據成員的對象目標C中的數據成員
0
A
回答
1
這聽起來像你想合成(創建getter/setter方法)成員變量的屬性。我剛剛發現this cheat sheet,請進入名爲「屬性」的部分,以便快速查看。
除此之外Apple's documentation應該會給你更多的信息。
+0
感謝這正是我正在尋找的這兩條線,讓我從極度的悲傷中解脫出來: [totalAmount autorelease]; totalAmount = [輸入保留]; 我沒有意識到iPhone沒有自動垃圾收集。 – jcb344 2010-06-29 16:53:52
3
要定義一個實例變量(成員),編輯您的.h
文件:
@interface MyClass : NSObject {
// ivars go here
NSObject *member;
}
// methods go here
@end
然後,在你的.m
文件,從任何實例方法(其中一個與-
開始),你可以訪問此變量。
- (void)doThingWithIvar {
[member doThing];
}
如果你想從訪問外對象本身的變量,你需要存取。你可以用的OBJ-C性能很容易做到這一點:
@interface MyClass : NSObject {
// ivars go here
NSObject *member;
}
// methods go here
@property (nonatomic, retain) NSObject *member;
@end
而在.m
:
@implementation MyClass
@synthesize member;
// ...
@end
的@synthesize
行創建伊娃getter/setter方法。然後你可以使用屬性語法:
MyClass *thing = ...;
NSLog(@"%@", thing.member); // getting
thing.member = obj; // setting
(請注意,我指定(retain)
爲@property
;如果你的成員不是一個Objective-C的對象,你不想說如果你的財產的類有一個可變的。相反,您需要改爲(copy)
。)
相關問題
- 1. C++分配成員的目標函數,類成員函數
- 2. 目標C++成員類
- 3. 的iOS /目標C訪問另一個類的數據成員
- 4. 常量數據成員作爲類成員的對象
- 5. 爲什麼目標C中的某些對象成員超出範圍C
- 6. 結構作爲目標C中的類成員
- 7. 初始化對象數據成員C++
- 8. 訪問成員變量的目標C
- 9. C++:在基類的成員函數中複製對象數據
- 10. 用C++中的成員整數ID標識類對象
- 11. C++中沒有數據成員的類
- 12. 無法讀取目標C中的類成員值C
- 13. 目標C + +中的C++成員變量在ARC
- 14. C#結構與對象作爲數據成員
- 15. C/C++數據成員/對象的前綴
- 16. 操縱數據成員(C++)
- 17. C++結構數據成員
- 18. 目標C使用類成員函數對NSArray進行排序
- 19. C++對象爲類成員
- 20. 如何從C++中的對象數組中獲取數據成員的數組?
- 21. C++根據兩個數據成員對對象進行排序
- 22. C++調用成員函數中的對象的對象
- 23. Visual Basic中成員的目標模塊
- 24. 在C++ 14中,constexpr成員可以更改數據成員嗎?
- 25. 是否可以將對象或數據成員添加到目標C中的類別?
- 26. 如何用C++中的其他成員替換成員對象
- 27. 堆棧成員VS C++對象中的堆成員
- 28. C++ dllimport的靜態數據成員
- 29. C++防止複製的成員數據
- 30. 從目標c中的基類訪問子類成員
您是否爲您的NSMutableString提供了存取方法,或者將其聲明爲屬性? – dreamlax 2010-06-29 03:05:13
嘿,這是每個人學習新語言時遇到的盲點之一。你被困在你自己的語言形式中,你看不到一些簡單而明顯的東西。你會踢自己。 ;-) – TechZen 2010-06-29 03:42:59