我想跨不同類的幾個方法傳輸特定容器的數組/ NSArray。在C++中,我會使用類似於結構向量的東西。NS結構等效?
,容器可能在這樣的結構來表示:
struct test
{
NSString * a;
NSString * b;
NSNumber * c;
}
容器基本上需要持有一些字符串和數字。
在Objective C中使用結構有沒有其他選擇?有沒有其他的「容器」可以用來發送數據?
我想跨不同類的幾個方法傳輸特定容器的數組/ NSArray。在C++中,我會使用類似於結構向量的東西。NS結構等效?
,容器可能在這樣的結構來表示:
struct test
{
NSString * a;
NSString * b;
NSNumber * c;
}
容器基本上需要持有一些字符串和數字。
在Objective C中使用結構有沒有其他選擇?有沒有其他的「容器」可以用來發送數據?
我建議創建一個簡單的對象,這樣的事情(在我的瀏覽器編譯):
@interface Container : NSObject {
NSString* a;
NSString* b;
NSString* c;
}
@property (retain) NSString* a;
@property (retain) NSString* b;
@property (retain) NSString* c;
@end
@implementation Container
@synthesize a, b, c;
- (void) dealloc {
[a release];
[b release];
[c release];
[super release];
}
@end
這比結構更好 - Apple明確建議不要混合結構和對象,實際上,此代碼與ARC正向兼容,可以爲您節省大量頭痛。 –
我認爲這正是對象(@interface)的用途,實際上,objective-c類只是一天結束時的結構,蘋果開發人員文檔鼓勵您創建類而不是使用結構。
NS(Mutable)Dictionary
可以爲這樣的事情一般容器行動,但它通常最好創建一個類,而不是使用總是具有相同密鑰的字典。
您可以繼承NSObject並給出子類3屬性(a,b,c) –