2013-07-10 2 views
-2

Я использую следующий код, чтобы создать ярлык из NSMutableArray:Mutable массив ObjectAtIndexs

CGRect punti = CGRectMake(270, 200, 50, 50); 
CGRect punti2 = CGRectMake(370, 200, 50, 50); 
CGRect punti3 = CGRectMake(470, 200, 50, 50); 

[_Cordinate3lettere insertObject:[NSMutableArray arrayWithObjects:[NSValue valueWithCGRect:punti],[NSValue valueWithCGRect:punti],[NSValue valueWithCGRect:punti], nil] atIndex:0]; 

UILabel *label = [[UILabel alloc] init]; 
NSIndexSet *indexSet = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, 2)]; 

// Error occurs on line below 
label.frame = [[_Cordinate3lettere objectAtIndexs:indexSet] CGRectValue]; 
label.text = @"a"; 
label.backgroundColor = [UIColor colorWithWhite:1 alpha:0]; 
//label.font = 
[self.view addSubview:label]; 

Однако, следующая строка генерирует ошибку.

label.frame = [[_Cordinate3lettere objectAtIndexs:indexSet] CGRectValue]; 

получил Ошибка No visible @interface for NSMutableArray declares the selector "objectAtIndexs"

Что вызывает эту ошибку и как я могу решить это?

+1

Что это должен делать? Установите 2 кадра на один UILabel? Это не сработает. Какова цель этого NSIndexSet? –

+0

Возможно, использование 'objectAtIndex: (nsinteger) index' лучше подходит вам, потому что я не могу представить причину использования индекса для установки фрейма. –

ответ

2

У вас есть опечатка в вашем звонке. Имя метода:

- (NSArray *)objectsAtIndexes:(NSIndexSet *)indexes 

Не objectAtIndexs

+2

Что приведет к ошибке «NSArray не распознает селектор CGRectValue». –

+0

вы получите массив с объектами. теперь вам нужно вынуть нужный объект и вызвать CGRectValue на этом объекте – Birdy

+0

, действительно не имеет смысла вызывать что-то 'objectsAtIndexes' и ожидать, что один объект будет возвращен. – mprivat

0

Заменить label.frame = [[_Cordinate3lettere objectAtIndexs:indexSet] CGRectValue];

с:

NSArray *frames = [_Cordinate3lettere objectAtIndexes:indexSet]; 
label.frame = [[frame objectAtIndex:0 /*or whatever index you want here*/] CGRectValue]; 
Смежные вопросы