Описание тега objective-c-nullability

Этот тег следует использовать для вопросов об аннотациях, допускающих значение NULL, добавленных в Objective-C с Xcode 6.3.
2 ответа

Clang обнуляемость предупреждения и как к ним подойти

Недавно я включил CLANG_WARN_NULLABLE_TO_NONNULL_CONVERSION в XCode, и я перегружен предупреждениями, связанными с обнуляемостью в моем коде Objective-C. Один тип предупреждения, который является наиболее распространенным, Implicit conversion from n…
29 мар '16 в 18:35
1 ответ

Как создать методы класса, которые соответствуют протоколу, совместно используемому Swift и Objective-C?

В последнее время я изучаю Swift. Я решил написать гибридное приложение Swift/Objective-C, которое выполняло задачи, требующие больших вычислительных ресурсов, используя один и тот же алгоритм, реализованный на обоих языках. Программа рассчитывает б…
1 ответ

Как очистить несоответствующие параметры: nullable и FooType не являются совместимыми предупреждениями в AppCode

Это может быть вопросом AppCode, поскольку XCode не отмечает этот конкретный сценарий. Я вижу эту ошибку в разных местах в AppCode: Parameter type mismatch: Types 'nullable' and 'FooType' are not compatible где FooType может быть любого типа. Вот зв…
2 ответа

Обнуляемость Objective C: квалифицирующие константы

У меня появилась довольно хорошая привычка объявлять и использовать постоянные строки для таких вещей, как NSNotification имена. Я объявляю их так: extern NSString * const ABCAwesomeThingHappenedNotification; С введением Xcode 6.3 и Swift 1.2 я возв…
14 апр '15 в 16:45
1 ответ

Странное CLANG_WARN_NULLABLE_TO_NONNULL_CONVERSION предупреждение

Я активировал новое предупреждение компилятора CLANG_WARN_NULLABLE_TO_NONNULL_CONVERSION, Я мог бы разрешить большинство предупреждений, но одно из них связано с макросом, и я не уверен, как решить проблему. Макрос выглядит так: #define MYAssertionF…
1 ответ

xcode 7.3.1 не видит предупреждений об обнуляемости

В последнее время я вернулся к одному из моих предыдущих проектов, чтобы сделать некоторые обновления, я думал, что мог бы использовать новую функцию обнуляемости XCode. Я добавил обнуляемость к некоторым своим свойствам, например так: @property (st…
7 ответов

В указателе отсутствует спецификатор типа обнуляемости

В Xcode 7 GM я начал получать это предупреждение: В указателе отсутствует спецификатор типа обнуляемости (_Nonnull, _Nullable или _Null_unspecified) В следующем объявлении функции (расширение NSUserDefaults) - (void)setObject:(nullable id)value forK…
12 сен '15 в 13:17
1 ответ

Точно, как использовать ненулевое в определенных случаях в Задаче C

Я прочитал много постов об обнуляемости, но я не могу из-за своей жизни убрать мои предупреждения. Вот пара примеров: playPause = @[[UIImage imageNamed:@"Play"], [UIImage imageNamed: @"Pause"]]; [imagePropertiesFileHandle writeData:[header dataUsing…
2 ответа

Обрабатывать _Nonnull или Nullable с многоуровневым типом указателя

Как связать обнуляемые ключевые слова с многоуровневыми типами указателей в следующем объявлении для (NSError **)error? - (void)loadSessionForUserId:(nonnull NSString *)userId error:(NSError **)error { ... } Я хочу сделать ошибку обнуляемой и избави…
13 окт '17 в 18:32
0 ответов

Соответствует типу указателя объекта Objective-C со спецификатором обнуляемости в LibTooling Clang

Допустим, у меня есть такой код: A* a = [[A alloc] init]; B* _Null_unspecified b = [[B alloc] init]; C* _Nullable c = [[C alloc] init]; D* _Nonnull d = [[D alloc] init]; Теперь я хочу создать средство сопоставления для объявления переменных. В насто…
1 ответ

Обработка плохо аннотированных методов Objective-C?

Прошло некоторое время с тех пор, как я работал с Objective-C (и я новичок в Swift), так что терпите меня. Тем не менее, я заметил несколько "аннотаций обнуляемости", которые либо вообще не имеют смысла, либо полностью противоречат документации Appl…
2 ответа

Правила обнуляемости для объектов C++ в Objective-C++

(Пожалуйста, отредактируйте этот пост, если я использую неправильные термины C++. Я абсолютный новичок в C++.) Как обнуляемость Objective-C работает с объектами C++ в классе Objective-C++? Например, учитывая следующий тип и функцию: typedef struct {…
30 ноя '16 в 15:48
0 ответов

Почему метод с выделением памяти может быть ненулевым в ObjC?

nonnull ключевое слово, которое помечает параметр или возвращаемое значение, может / не будет нулевым. Некоторые методы, такие как [NSString stringWithFormat:], [NSArray arrayByAddingObject:]Также отмечены, что они не будут возвращать ноль. Но как н…
2 ответа

Противоречивая документация для `[UIView initWithFrame:]`: обнуляемый или ненулевой?

С помощью CLANG_ANALYZER_NONNULL (т.е. -Xclang nullability), Я получил " Null возвращается из функции, которая должна возвращать ненулевое значение ": Используя документацию Xcode 7.3 и iOS 9.3, я проверил initWithFrame: и он может вернуться nil: Но…
1 ответ

Сложно понять структуру синтаксического анализа PF_NULLABLE, отправив сообщение в PFUser

С Xcode 6.3 Parse. Фреймворк выдавал мне ошибки, поэтому я скачал обновленный фреймворк Parse и все заработало. Теперь есть что-то новое, что я пытаюсь понять, что это за метод logInWithUsername является. Раньше это было довольно просто. Я вижу боль…
2 ответа

Использование Swift Implicitly Unwrapped Optional до доступности обнуляемости

В блоге Apple об обнуляемости они упоминают это: "... в Swift существует сильное различие между необязательными и необязательными ссылками, например, NSView и NSView?, тогда как Objective-C представляет оба этих двух типа как NSView *. Поскольку ком…
17 июн '15 в 01:41
1 ответ

Являются ли результаты функции Objective C ненулевыми по умолчанию?

В этой теме о реализации UITextInput Метод делегата, автор говорит, что когда они запускают статический анализ своего кода, они получают ошибку в этой функции: - (NSArray *)selectionRectsForRange:(UITextRange *)range { return nil; } Ошибка "nil возв…
4 ответа

Разница между Nullable, __nullable и _Nullable в Objective-C

В Xcode 6.3 появились новые аннотации для лучшего выражения намерений API в Objective-C (и, конечно, для обеспечения лучшей поддержки Swift). Эти аннотации были, конечно, nonnull, nullable а также null_unspecified, Но с Xcode 7 появляется много пред…
2 ответа

В чем причина предупреждения "В указателе отсутствует спецификатор типа обнуляемости"?

+ (UIColor*) getColorWithHexa(NSString*)hexString; : Это определение метода в моем классе. Это вызывает предупреждение. В чем причина подобных предупреждений и как их можно устранить? Я возвращаю объект UIColor, в то время как этот вопрос относится …
24 фев '16 в 11:22
1 ответ

Маркировка plain -init имеет тип возвращаемого значения без предупреждения без предупреждения

У меня есть класс ObjC, наследующий от NSObject это оборачивает некоторые макросы сторонних библиотек, чтобы я мог использовать их функциональность в Swift. У класса есть ivar, это тип контейнера из библиотеки. Создание контейнера может потерпеть не…