假设我有2个班级'A'和'B'。和我在设置值的单例类。 我观察到以下内容:
我在类'A'中编写代码'1'并尝试在类'B'中访问,我没有得到类'A'设置的名称,但是我得到了设置的id,如果我访问该名称(在“B”类中),则会出现BAD_ACCESS:代码1错误。在指针变量的情况下,出现此问题而不是非指针变量。 不适用于该名称,但适用于ID 。
如果我在类'A'中使用代码'2',我从类'B'读取时会得到集合名称。 正常工作。
1
for(int k=0; k<n; k++) {
ReportDataRow* row = [reportData rowByIndex:k];
MeetingInputs *meeting = [[MeetingInputs alloc] init];
[meeting setMeetingName:row.name; // row.name is NSString
[meeting setMeetingId: row.id; // row.id is int
[[SingletonValues sharedValues] addMeeting:meeting];
}
2
ReportDataRow* row = [reportData rowByIndex:0];
MeetingInputs *meeting1 = [[MeetingInputs alloc] init];
[meeting1 setMeetingName:row.name];
[meeting1 setMeetingId:row.id];
ReportDataRow* row1 = [reportData rowByIndex:1];
MeetingInputs *meeting2 = [[MeetingInputs alloc] init];
[meeting2 setMeetingName:row1.name];
[meeting2 setMeetingId:row1.id];
[[SingletonValues sharedValues] addMeeting:meeting1];
[[SingletonValues sharedValues] addMeeting:meeting2];
我不明白为什么我们在循环中添加时会丢失指针类型变量,而不是在由单个变量添加时。单例类和数组也在使用之前正确启动。我该怎么做才能做到这一点!!!
任何输入都会有所帮助。 感谢。