Я делаю запрос HTTP
, в котором я должен отправить значение bool
. Я попытался с ними обоими.@ (ДА) vs [Номер NSNumberWithBool: YES]
И оба работают одинаково. Я смущен, что лучше? и есть ли их разница между ними?
Я делаю запрос HTTP
, в котором я должен отправить значение bool
. Я попытался с ними обоими.@ (ДА) vs [Номер NSNumberWithBool: YES]
И оба работают одинаково. Я смущен, что лучше? и есть ли их разница между ними?
@(YES)
является литералом для того, чтобы делать то же, что и [NSNumber numberWithBool:YES]
. Я не знаю, будет ли производительность литералов немного медленнее, чем прямой вызов.
Первый - literal. Другой создается через инициализатор convienience.
В конечном итоге они становятся объектом одного и того же типа с одним и тем же содержимым, но я подозреваю, что первое вам легче (и другим людям, смотрящим ваш код), чтобы читать.
Нет никакой разницы между двумя методами, с тобой должно быть хорошо. Я предпочитаю, однако, [NSNumber numberWithBool:YES]
, так как это более читаемо, если вы вернетесь в свой код для отладки. @ (Да) буквальный синтаксис NSNumber, ковшики точно так же, когда вы используете @ «строка», которая создает NSString для вас
Nope.The компилятор преобразует @YES
в [NSNumber numberWithBool:YES]
.
@ (ДА) - характеристики компилятора. Фактически, @ (ДА), преобразованный в [NSNumber numberWithBool: YES], нет никакой разницы в производительности. Он предназначен для удобства и удобочитаемости (аналогично @ [], @ {}).
Чтобы отправить BOOL попробовать это: [NSNumber numberWithInt:1]
"лучше" для чего? –