if랑 옵셔널 사용했는데 뭐가 잘못된걸까요? 똑같이 인덱스 범위 벗어난다고하네요
370
1 asked
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

let m = Matrix()
m[0,0]
// m[0,10]
struct Matrix2 {
var data = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
subscript(row: Int, col: Int) -> Int? {
if row < data.count && col < data[0].count { // 행의개수, 열의개수 미만 3이면 0~2까지
return data[row][col]
} else { return nil }
} // 읽기전용 서브스크립트, get {}생략 됨
}
let test = Matrix()
m[0,4]
Answer 1
0
안녕하세요 :)
두번째 인덱스 4는 범위를 벗어난 인덱스 입니다.
data에 저장된 배열에는 모두 세 개의 배열이 저장되어 있고, 각 배열마다 세 개의 숫자가 저장되어 있습니다.
그래서 두 배열 모두 유효한 인덱스 범위는 0 ~ 2입니다.
0
ㅠ.ㅠ.. 2차원 배열 인덱스가 다 2까지인건 아는데욥..
해당 인강 마지막에 인덱스 유효값일때만 확인하는거 도전과제로
구현해보라해서 저렇게 해봤는데
if랑 옵셔널 사용한 조건식은 에러가 안나는데
코드 실행하면 out of range라고 떠서요ㅜ
0
오오 됐어요.. 감사합니다.. ㅠㅠㅋㅋㅋㅋ
Matrix2로 만들어놓고 그냥 Matrix()로 썼네요 ㅡㅡ;;
row번째로 하려면 조건식이
if row < data.count && col < data[row].count { // 행의개수, 열의개수 미만 3이면 0~2까지
return data[row][col]
} else { return nil }
왠지 이렇게하면 될거같은데 선생님 의견은 어떠신지염
Closures syntax Optimization 부분 contains 문제
0
397
1
2강, 3강
0
342
1
UI가 너무 다른것같아요;
1
339
1
강의 Optional Chaining에서 질문있습니다
0
306
1
질문
0
304
1
내장함수에 클로져 적용 이해가 잘 안됩니다.
0
310
1
선생님 질문드리겠습니다.
0
320
1
혹시 스위프트 최근 버전에서는 가변 파라미터 2개 사용할 수 있나요?
0
391
1
샘플 파일 형식이
0
357
1
이렇게 구현하는거 맞나요?
0
292
2
xcode12 에서 #1쪽에 입력한 g2에서 에러가 발생하지 않습니다
0
266
1
insert 와 replace
0
236
1
정규 표현식 오류
0
266
1
drop while 문제
0
278
1
insert 컴파일러 오류
0
293
2
capitalized 오류
0
327
2
Index(_rawBits) 출력 문제
0
369
2
컴파일러 오류
0
367
2
iOS 템플릿에 Single View App이 뜨지 않아요.
0
288
1
에러 메세지가 떳습니다 ㅠㅠ
0
177
1
Size관련 문장에서...
0
172
1
버전이 달라서 진행에 어려움이 있습니다.
0
261
2
안녕하세요 강의 잘 듣고있습니다
0
192
1
구구단 구현에 대해서
0
265
1

