मैं उद्देश्य-सी के लिए काफी नया हूं और आईफोन के लिए एक छोटा ऐप बनाने की कोशिश करता हूं।
मैं यहां इस छोटी सी त्रुटि के बगल में लगभग किया गया हूं। असल में, मैंने Google के साथ उचित समाधान खोजने के लिए घंटों की खोज की है लेकिन दुर्भाग्य से मैं एक समाधान ढूंढने में सक्षम नहीं हूं जो काम करता है।
मैं यहाँ इस ट्यूटोरियल का उपयोग कर रहा एक UITableView का निर्माण करने के: UITableView Tutorial पूर्ण त्रुटि संदेश इस प्रकार है:उद्देश्य-सी "अपरिवर्तनीय वस्तु को भेजा गया उत्परिवर्तन विधि" त्रुटि
* समाप्त एप्लिकेशन न आया हुआ अपवाद 'NSInternalInconsistencyException' के कारण, कारण: '* - [ NSCFArray insertObject: atIndex:]: परिवर्तनशील विधि अपरिवर्तनीय ऑब्जेक्ट '
के लिए भेजा यह डाटा नियंत्रक हैडर है: MyLinksDataController.h
@interface MyLinksDataController : NSObject {
NSMutableArray *tableList; //<---important part
}
- (unsigned)countOfList;
- (id)objectInListAtIndex:(unsigned)theIndex;
- (void)addData:(NSString *)data; //<---important part
- (void)removeDataAtIndex:(unsigned)theIndex;
@property (nonatomic, copy, readwrite) NSMutableArray *tableList; //<---important part
.....
और डाटा नियंत्रक विधि: MyLinksDataController.m
#import "MyLinksDataController.h"
@implementation MyLinksDataController
@synthesize tableList;
- (id)init {
if (self = [super init]) {
NSLog(@"Initilizing DataController");
//Instantiate list
NSMutableArray *localList = [[NSMutableArray alloc] init];
self.tableList = [localList copy];
[localList release];
//Add initial Data
[self addData:@"AAAAAAAAAAAAAA"];
[self addData:@"BBBBBBBBBBBBBB"];
}
return self;
}
----------------------------- - स्रोत कोड में लोडर ---------------------------------
- (void)addData:(NSString*)data; {
[tableList addObject:data]; //<---- here the app crashes
}
मैं चाहता हूं किसी भी मदद की बहुत सराहना करते हैं।
अग्रिम में आपके समर्थन के लिए धन्यवाद।
डैनियल
एक प्रति संपत्ति वास्तव में, के लिए कहा जाता है तो प्रतिस्थापन एक बनाए रखने संपत्ति एक गरीब समाधान होने जा रहा है। चूंकि कोई mutablecopy कीवर्ड नहीं है, इसलिए संपत्ति को कॉपी के रूप में घोषित करें, लेकिन संश्लेषित एक्सेसर्स का उपयोग करने के बजाय अपना स्वयं का एक्सेसर लिखें। –
अच्छा बिंदु। मैं भी इसमें फेंक दूंगा कि मैं उन वस्तुओं को कभी नहीं देखता जो 'एनएसएमयूटेबलएरे' संपत्ति का विज्ञापन करते हैं। मेरे में शुद्धवादी एक कस्टम सेटर देखना चाहता है जो ऑब्जेक्ट की एक परिवर्तनीय प्रति और एक कस्टम गेटर को स्टोर करता है जो एक ऑटोरेलेज्ड अपरिवर्तनीय प्रतिलिपि देता है। –