2011-08-10 7 views
4

사용자 정의 셀을 생성 중입니다.[NSMutableArray insertObject : atIndex :] : 0에서 nil 객체 삽입 시도

나는 3 개의 텍스트 필드를 추가했습니다. 그래서 그 텍스트 필드 값을 nsmutablearray에 저장하고 싶습니다.

것은 정말 이유를 나에게 사전에 감사를 알려주십시오

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSMutableArray insertObject:atIndex:]: attempt to insert nil object at 0'

같은 코드를

UITextField *valueField = [[UITextField alloc] initWithFrame:CGRectMake(165,6, 135, 30)]; 
valueField.borderStyle = UITextBorderStyleRoundedRect; 
[cell addSubview:valueField]; 
[array1 addObject:valueField.text]; 
[valueField release]; 

내가 점점 오전 오류를하려 할 때.

+0

array1이란 무엇이며 어떻게 선언됩니까? – Maggie

+0

array1은 nsmutablearray의 개체입니다. NSMutableArray * array1과 같이 선언됩니다. – Thukaram

+1

새로 만든 텍스트 필드의 텍스트를 추가하려는 이유는 무엇입니까? – Robin

답변

2
UITextField *valueField = [[UITextField alloc] initWithFrame:CGRectMake(165,6, 135, 30)]; 
valueField.borderStyle = UITextBorderStyleRoundedRect; 
valueField.text = @""; 
[cell addSubview:valueField]; 
[array1 addObject:valueField.text]; 
[valueField release]; 

위의 코드는 정상적으로 작동합니다.

+0

안녕하세요 rajesh 이 코드는 잘 작동합니다. 제게 당신과 이야기 할 수있는 방법을 알려주세요. – Thukaram

+0

@Ram 당신의 메일 주소를 – Raj

+0

이 대답이 도움이된다고 받아들이면 받아 들일 것입니다. – Raj

0

[array1 addObject:valueField.text];을 입력하면 오류 메시지와 마찬가지로 배열에 nil 개체가 추가됩니다. valueField를 초기화하고 할당 할 때 valueField.text가 어떻게 같을 수 있습니까? 텍스트 필드가 비어있는 경우

2

그냥 (즉 때 TextField.text = 전무)를 확인하려면이 조건을 추가 :

if (valueField.text != nil) { 
    [array1 addObject:valueField.text]; 
} 
else { 
    [array1 addObject:@""]; 
} 

이 확인됩니다 텍스트 필드가 빈 문자열을 추가합니다 비어있는 경우. 당신이 그것을 원하지 않는다면, 그냥 else 부분을 건너 뛰십시오.

+1

다른 부분은 필요 없다고 생각합니다. – Robin

+0

oops는 빈 문자열이어야합니다 ... .docn 복사하여 붙여 넣기 ... 지금 변경했습니다. –

+0

변경된 코드를 추가하십시오. ... else 문을 편집했습니다 ... –

2

텍스트 기본적으로 UITextField 속성은 nil입니다. 이 배열을 배열에 추가하기 전에 빈 문자열로 설정하십시오. 그러나 이것이 여러분이 성취하려고 시도하지 않은 것으로 생각합니다.

1

나는 당신이 그렇게처럼 배열을 선언했다 발견 :

"있는 NSMutableArray * 배열 1 등 선언;"

개체를 추가하기 전에 배열을 할당 했습니까?

다른 말로하면이 작업을 수행 했습니까?

NSMutableArray *array1 = [[NSMutableArray alloc] init]; 

만 만있는 NSMutableArray 개체에 대한 포인터를 선언합니다

NSMutableArray *array1; 

을 한 경우. NSMutableArray 객체의 인스턴스를 가리 키지 않습니다.

관련 문제