Tôi nhận được Bộ sưu tập bị đột biến trong khi được liệt kê ngoại lệ khi tôi sử dụng mã này bất kỳ ai có thể đề xuất cho tôi cách thoát khỏi điều này.Nhận ngoại lệ là "Bộ sưu tập bị đột biến trong khi được liệt kê"
PaymentTerms * currentElement;
for (currentElement in termsArray)
{
printf("\n currentElement Value........%s",[currentElement.days UTF8String]);
printf("\n Str value...%s",[Str UTF8String]);
NSRange range = [currentElement.days rangeOfString:Str options:NSCaseInsensitiveSearch];
if(!(range.location != NSNotFound))
{
PaymentTerms *pTerm1 = [[PaymentTerms alloc]init];
pTerm1.days = Str;
printf("\n pTerm1.days...%s",[ pTerm1.days UTF8String]);
[termsArray addObject:pTerm1];
}
}
Hy vọng tôi sẽ nhận được phản hồi nhanh từ phía bên. Cảm ơn trước, Monish.
Cảm ơn mã hữu ích của bạn.nhưng tôi có thêm một vấn đề nữa.Tôi cần kiểm tra chuỗi nếu không có. Tôi phải thêm chuỗi đó vào danh sách mảng. Vấn đề là Tôi đã có 3 mục trong danh sách của tôi mà không phải là bằng chuỗi tôi đang tìm kiếm vì vậy nó đã được thêm đối tượng 3 lần thay vì 1 thời gian. Có bất kỳ đề xuất khác cho việc này. –
Bạn không cần phải phát hành tempArray ở đây vì bạn không bao giờ sở hữu nó. Ngoài ra, '! (Range.location! = NSNotFound)' cũng giống như '(range.location == NSNotFound)'. – JeremyP
@vodkhang, không làm như vậy bạn sẽ chỉ thêm một phần tử mới nếu bất kỳ đối tượng nào trong termsArray có thuộc tính ngày khác với các biến op Str – Vladimir