Xcode hatası nasıl çözülür?

ArdaReis00

Picopat
Katılım
18 Ağustos 2023
Mesajlar
658
Çözümler
2
Yer
Mersin
Daha fazla  
Cinsiyet
Erkek
bu hata nasıl çözülür hatalı yerler
let rightNumber = rightNumber


let rightDouble = Double(rightNumber) else {
let answer = leftDouble / rightDouble


display = convertToString(answer)
let answer = leftDouble * rightDouble


display = convertToString(answer)
let answer = leftDouble - rightDouble


display = convertToString(answer)
let answer = leftDouble + rightDouble


display = convertToString(answer)
self.leftNumber = display bunlar hatalı
Swift:
//
//  ContentViewModel.swift
//  Calculator
//
//  Created by Arda Danahaliloglu on 15.09.2023.
//

import Foundation

public class ContentViewModel: ObservableObject {
    @Published var display: String = "0"
    @Published var action: Action?
    @Published var shouldClear: Bool = false
    @Published var newAction: Bool = false
   
    private var leftNumber: String? = nil
    private var rightNumber: String? = nil
   
    public func buttonPressed(_ button: CalcButton) {
        if button.buttonText == "AC" {
            clearAll()
        }else if let text = button.buttonText {
            guard display.count < 9 &&  (text == "." && display.contains(".")) else {
                return
            }
           
            if text == "%",
               let displayNum = Double(display) {
                let answer = displayNum / 100.0
                display = convertToString(answer)
            }else if shouldClear || (display == "0" && text != ".") {
                display = text
                shouldClear = false
            }else{
                display.append(text)
            }
           
        }else if let action = button.action {
            if leftNumber == nil {
                leftNumber = display
            }else if rightNumber == nil || newAction {
                rightNumber = display
                newAction = false
            }
           
            switch action {
            case .plusMinus:
                if display.contains("-") {
                    display.removeFirst()
                }else{
                    display.insert("-", at: display.startIndex)
                }
            case .divide:
                self.action = .divide
                newAction = true
            case .multiply:
                self.action = .multiply
                newAction = true
            case .subtract:
                self.action = .subtract
                newAction = true
            case .add:
                self.action = .add
                newAction = true
            case .equals:
                solve()
            }
           
            shouldClear = true
        }
    }
   
    private func clearAll() {
        display = "0"
        action = nil
        shouldClear = false
        newAction = false
        leftNumber = nil
        rightNumber = nil
    }
   
    private func convertToString(_ number: Double) -> String {
        return String(format: "%g", number)
    }
   
    private func solve() {
        guard let action = action,
              let leftNumber = leftNumber,
              let leftDouble = Double(leftNumber),
              let rightNumber = rightNumber
                let rightDouble = Double(rightNumber) else {
            return
        }
       
        switch action {
        case .divide:
            let answer = leftDouble / rightDouble
            display = convertToString(answer)
        case .multiply:
            let answer = leftDouble * rightDouble
            display = convertToString(answer)
        case .subtract:
            let answer = leftDouble - rightDouble
            display = convertToString(answer)
        case .add:
            let answer = leftDouble + rightDouble
            display = convertToString(answer)
        default:
            return
        }
       
    }
     self.leftNumber = display
   
   
   
}
 
Hocam bu konuda hiçbir fikrim yok ama GPT-4 destekli yapay zeka şu sorunlar var diyor:

Kod:
Satır 36: rightNumber’dan sonra bir virgül eksik. let rightNumber = rightNumber, olmalı.
Satır 67: rightNumber’dan sonra kapanış parantezi eksik. let rightDouble = Double(rightNumber)) olmalı.
Satır 92: self.leftNumber’ı display’e atıyorsunuz, ama bunun tersini yapmanız gerekiyor. display = self.leftNumber olmalı.
 
Hocam bu konuda hiçbir fikrim yok ama GPT-4 destekli yapay zeka şu sorunlar var diyor:

Kod:
Satır 36: rightNumber’dan sonra bir virgül eksik. let rightNumber = rightNumber, olmalı.
Satır 67: rightNumber’dan sonra kapanış parantezi eksik. let rightDouble = Double(rightNumber)) olmalı.
Satır 92: self.leftNumber’ı display’e atıyorsunuz, ama bunun tersini yapmanız gerekiyor. display = self.leftNumber olmalı.
teşekkürler hocam ben deniyim bi yazdığınızı.

Swift:
Cannot find 'self' in scope; did you mean to use it in a type or extension context? Hatası oldu hocam yazdığım kod: var display = self.leftNumber
bu.
 
Son düzenleme:
Hocam kod okumasını biliyorsanız size yapay zekanın yazdığı "self" kullanımı ile ilgili örneği atabilirim.
 

Yeni konular

Geri
Yukarı