Массив булевской переменной Objective C

<div class="form-group">
    <label class="font-normal MyText">MyText to copy</label>&nbsp;
    <button type="button" class="btn btn-default btn-xs btnCopy" data="MyText">Copy</button>
</div>


$(".btnCopy").click(function () {
        var element = $(this).attr("data");
        copyToClipboard($('.' + element));
  });

function copyToClipboard(element) {
    var $temp = $("<input>");
    $("body").append($temp);
    $temp.val($(element).text()).select();
    document.execCommand("copy");
    $temp.remove();
}
38
задан Allyn 10 March 2009 в 08:52
поделиться

3 ответа

Да, это точно, каково это: NS* контейнеры может только хранить объективные-C объекты, не типы примитивов.

необходимо быть в состоянии выполнить то, что Вы хотите путем оборачивания его в NSNumber:

[updated_users replaceObjectAtIndex:index withObject:[NSNumber numberWithBool:YES]]

или при помощи @(YES), который переносится BOOL в NSNumber

[updated_users replaceObjectAtIndex:index withObject:@(YES)]]

, можно тогда вытащить boolValue:

BOOL mine = [[updated_users objectAtIndex:index] boolValue];

71
ответ дан Kevin 23 September 2019 в 18:49
поделиться

Можно или сохранить NSNumbers:

[updated_users replaceObjectAtIndex:index
                         withObject:[NSNumber numberWithBool:YES]];

или использование C-массив, в зависимости от Ваших потребностей:

BOOL array[100];
array[31] = YES;
11
ответ дан Georg Schölly 23 September 2019 в 18:49
поделиться

Принятие Вашего массива содержит доступные объекты (и не массив c-стиля):

#define kNSTrue         ((id) kCFBooleanTrue)
#define kNSFalse        ((id) kCFBooleanFalse)
#define NSBool(x)       ((x) ? kNSTrue : kNSFalse)

[updated_users replaceObjectAtIndex:index withObject:NSBool(YES)];
14
ответ дан Andrew Grant 23 September 2019 в 18:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: