2012-11-15 40 views
5

Tôi là nhà phát triển Iphone mới, tôi cần sự giúp đỡ của bạn,cách tạo mảng và giá trị mảng trong xcode?

Bất kỳ ai cung cấp cho tôi tạo mảng có khóa và giá trị và cách tìm nạp bằng xcode.

+0

bạn chỉ muốn tạo mảng. – NSCool

+0

Bạn có nghĩa là các cặp khóa-giá trị hoặc bạn cần một mảng 2-D không? –

Trả lời

11

Đây là NSMutableDictionary. Bạn có thể tìm kiếm mã mẫu. Ví dụ: Create dict

NSMutableDictionary *dictionary = [NSMutableDictionary dictionary]; 
[dictionary setObject:@"object1" forKey:@"key1"]; 

In tất cả các khóa và giá trị của một Dict:

for (NSString* key in [dictionary allKeys]) { 
    NSLog(@"key: %@, value: %@", key, [dictionary objectForKey:key]); 
} 
+0

Bạn có thể cung cấp cho tôi ví dụ đơn giản không? – user1825965

+0

Đã thêm vào câu trả lời. – Dave

+0

Tôi muốn biết làm thế nào tôi có thể lấy bằng vòng? – user1825965

2

Đó là chính xác những gì một NSDictionary/NSMutableDictionary làm:

NSMutableDictionary *myDictionary = [[ NSMutableDictionary alloc] init]; 
[ myDictionary setObject:@"John" forKey:@"name"]; 
[ myDictionary setObject:@"Developer" forKey:@"position"]; 
[ myDictionary setObject:@"1/1/1984" forKey:@"born"]; 

Sự khác biệt là, trong cái có thể thay đổi, bạn có thể thêm/sửa đổi các mục sau khi tạo nó, nhưng không phải trong mục khác.

4

Bạn có thể sử dụng NSDictionary hoặc NSmutabledictionary để đạt được điều này bạn không cần phải sử dụng và NSArray. Đây là một ví dụ về cách nó hoạt động.

NSMutableDictionary *dict = [[NSMutableDictionary alloc] init]; // Don't always need this 
    // Note you can't use setObject: forKey: if you are using NSDictionary 
    [dict setObject:@"Value1" forKey:@"Key1"]; 
    [dict setObject:@"Value2" forKey:@"Key2"]; 
    [dict setObject:@"Value3" forKey:@"Key3"]; 

thì bạn có thể lấy giá trị cho khóa bằng cách thực hiện.

NSString *valueStr = [dict objectForKey:@"Key2"]; 

điều này sẽ cung cấp giá trị của Value2 trong chuỗi valueStr.

để thêm đối tượng vào một không điển Biên Đổi NSDictionary chỉ làm

NSDictionary *dict2 = [[NSDictionary alloc] initWithObjectsAndKeys:@"Value1", @"Key1", @"Value2", @"Key2", nil]; 

sau đó chỉ cần lấy nó theo cách tương tự như một NSMutableDictionary. Sự khác biệt giữa hai là một từ điển Mutable có thể được sửa đổi sau khi tạo để có thể thêm đối tượng vào nó với setObject:forKey và xóa các đối tượng bằng removeObjectFroKey: trong khi không thể sửa đổi từ điển không thể sửa đổi được. nó đã được phát hành, do đó không thêm hoặc xóa các đối tượng.

Hy vọng điều này sẽ hữu ích.

+0

Cách lấy mảng này theo vòng lặp, hiển thị khóa và giá trị theo vòng lặp. tìm nạp cách NSString * valueStr = [dict objectForKey: @ "Key2"]; Tôi cần tìm nạp bằng cách lặp tất cả khóa và giá trị, tôi cần tìm kiếm giá trị trong mảng. – user1825965

+0

@ user1825965 Vì vậy, bạn những gì để có thể nhận được các giá trị và các phím trong vòng lặp for? – Popeye

0

Nếu bạn không cần phải thêm đối tượng nữa, bạn có thể tạo ra một từ điển có thể thay đổi không:

NSDictionary* dict= @{ @"key1" : @"value1" , @"key2" : @"value2" }; 

Nếu bạn không cần cặp giá trị quan trọng mà là một mảng:

NSArray* array= @[ @"value1" , @"value2", @"value3" ]; 
Các vấn đề liên quan