2011-08-29 47 views
5

Tôi thấy rằng từ cuối cùng được hiển thị với dấu ngoặc kép. Nhưng tại sao?NSLog - Hành vi lạ

NSDictionary *guide2 = [NSDictionary dictionaryWithObjectsAndKeys:kArr, @"Kate", aArr, @"Ana-Lucia", kArr, @"John", nil]; 
NSArray *array = [guide2 allKeys]; 
NSLog(@"%@", [array description]); 

đầu ra:

(
John, 
Kate, 
"Ana-Lucia" 
) 
+0

** aArr ** là gì? – Nekto

+0

aArr - NSMutableArray – Voloda2

Trả lời

7

Có vẻ như là do ký tự đặc biệt - trong khóa Ana-Lucia, nó hiển thị nó trong dấu ngoặc kép. Có thể là vì để hiển thị rằng phím là một từ. Nếu khóa của bạn chỉ chứa alphabets như "AnaLucia", thì khóa sẽ hiển thị mà không có dấu ngoặc kép.

Khóa được hiển thị trong dấu ngoặc kép nếu nó chứa bất kỳ ký tự nào khác ngoài alphabets, ngay cả khi đó là underscore(_) hoặc space.

7

Bởi vì nó không đúng chữ và số và chỉ một từ. Hãy thử NSArray *array = [NSArray arrayWithObjects:@"abc", @"123", @"$abc", @"a-b-c", @"a b c", nil];, bạn sẽ chỉ thấy hai giá trị đầu tiên không được trích dẫn. Nó chỉ là một lựa chọn thực hiện từ những người đã viết mã mô tả.