Что не так с моим кодом? Это говорит о неразрешенном Идентификаторе - PullRequest
0 голосов
/ 02 мая 2018

В нем говорится «использование неразрешенного идентификатора» как для NSNumber, так и для NSNumber. Я не могу найти решение для этого.

Я должен быть в состоянии создать программу, которая будет преобразовывать каждое число из заданного целого числа в эквивалентное ему значение слова. Принимаемое значение должно быть UInt16 только

public extension Int {
    public var asWord: String {
        let numberValue = NSNumber(value: self)
        let formatter = NSNumberFormatter()
        formatter.numberStyle = .spellOut
        return formatter.string(from: numberValue)!
    }
}

var value = 2500

if value > UInt16.max || value < UInt16.min {
    print("The accepted value should be UInt16 only")
}
else {
    print("\(value.asWord)")
}

Ответы [ 2 ]

0 голосов
/ 02 мая 2018

Используете ли вы if block и value definition в классе? !! как это:

public extension Int {
    public var asWord: String {
        let numberValue = NSNumber(value: self)
        let formatter = NSNumberFormatter()
        formatter.numberStyle = .spellOut
        return formatter.string(from: numberValue)!
    }
}

class yourClassName {
    var value = 2500

    if value > UInt16.max || value < UInt16.min {
        print("The accepted value should be UInt16 only")
    }
    else {
        print("\(value.asWord)")
    }
}
0 голосов
/ 02 мая 2018

Вы забыли импортировать фундамент.

Попробуйте это (Swift 4):

import Foundation

public extension Int {
    public var asWord: String {
        let numberValue = NSNumber(value: self)
        let formatter = NumberFormatter()
        formatter.numberStyle = .spellOut
        return formatter.string(from: numberValue)!
    }
}

var value = 2500
if value > UInt16.max || value < UInt16.min{
    print("The accepted value should be UInt16 only")
} else {
    print("\(value.asWord)")
}
...