quickhac / qhac-ios

Native iOS app to allow checking of grades, based on the QuickHAC Chrome extension.
0 stars 0 forks source link

Elementary students cause crash #13

Closed tristanseifert closed 10 years ago

tristanseifert commented 10 years ago

When viewing grades for an elementary student, the app crashes in SQUGradeSpeedDriver's parseCourseWithDistrict:andTableRow:andSemesterParams: method, on this block of code:

        NSUInteger cellOffset = district.tableOffsets.grades + (i * (semParams.cyclesPerSemester + 2));

        for(NSUInteger j = 0; j < semParams.cyclesPerSemester + 2; j++) {
            semesterCells[j] = cells[cellOffset + j];
        }

Attached is a screenshot of the Xcode debugger when the crash occurs. screen shot 2014-01-05 at 23 28 10

xsznix commented 10 years ago

The lower grades use grade letters instead of numbers for grading, that’s probably why.

So instead of 100, 90, etc. they have A+, A, A-, etc. Yay.

On 5 Jan 2014, at 23:31, Tristan Seifert notifications@github.com wrote:

When viewing grades for an elementary student, the app crashes in SQUGradeSpeedDriver's parseCourseWithDistrict:andTableRow:andSemesterParams: method, on this block of code:

    NSUInteger cellOffset = district.tableOffsets.grades + (i * (semParams.cyclesPerSemester + 2));

    for(NSUInteger j = 0; j < semParams.cyclesPerSemester + 2; j++) {
        semesterCells[j] = cells[cellOffset + j];
    }

Attached is a screenshot of the Xcode debugger when the crash occurs.

— Reply to this email directly or view it on GitHub.

tristanseifert commented 10 years ago

Interesting — however, it seems to me as if my math is slightly off in regards to calculating the offset of cells and whatnot, because Objective C would simply parse character strings like that as 0.0 when converting to float.

Which brings me to my next point: What should be used as the internal representation for those grades? The letter, or a percentage? The latter seems more flexible, as that makes average calculation quite a bit easier, but I would need data for each district to convert a percentage back to a letter grade.