inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Hướng dẫn đầy đủ về swift5 để phát triển iOS

Chỉ số dưới

if랑 옵셔널 사용했는데 뭐가 잘못된걸까요? 똑같이 인덱스 범위 벗어난다고하네요

370

wooledsheep3239

1 câu hỏi đã được viết

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 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]

subscript if ios swift optional outOfRange

Câu trả lời 1

0

KxCoding

안녕하세요 :) 

두번째 인덱스 4는 범위를 벗어난 인덱스 입니다.

data에 저장된 배열에는 모두 세 개의 배열이 저장되어 있고, 각 배열마다 세 개의 숫자가 저장되어 있습니다.

그래서 두 배열 모두 유효한 인덱스 범위는 0 ~ 2입니다.

0

wooledsheep3239

ㅠ.ㅠ.. 2차원 배열 인덱스가 다 2까지인건 아는데욥..

해당 인강 마지막에 인덱스 유효값일때만 확인하는거 도전과제로

구현해보라해서 저렇게 해봤는데

if랑 옵셔널 사용한 조건식은 에러가 안나는데

코드 실행하면 out of range라고 떠서요ㅜ 

0

KxCoding

조건식에서 항상 첫 번째 배열에 접근하고 있네요. 이 부분을 수정해 보시기 바랍니다.

그리고 추가로 Matrix2 인스턴스에 접근해야 하는것 아닌가요?

0

wooledsheep3239

오오 됐어요.. 감사합니다.. ㅠㅠㅋㅋㅋㅋ

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