Описание тега unsafe-unretained

0 ответов

Управление памятью статических констант в Objective-C

Я смотрел видео F8-2016 Building iOS Tooling на Facebook Scale, когда заметил интересную часть кода в 7:01. Facebook определил статическую константу в Objective-C следующим образом: static __unsafe_unretained NSString * const kAuthorKey = @"AUTHOR";…
2 ответа

Это действительно хороший вариант использовать ARC для IOS 4.0, где нет слабого свойства

Я работаю над проектом на базе ARC. Мой проект ориентирован на IOS 4.3. Поскольку для версии unsafe_unretained что может вызвать висячие указатели. Теперь я думаю, действительно ли хороший вариант использовать ARC с unsafe_unretained? Или я должен в…
3 ответа

Новое поведение для создания IBOutlet в Xcode 6

Я помню, что в Xcode 5, если бы вы перетаскивали представление из раскадровки в код, было бы создано свойство с weak приписывать. Теперь в Xcode 6 он использует unsafe_unretained по умолчанию. Что может быть причиной этого изменения?
2 ответа

Как управлять unsafe_unretained ivars/properties?

Я запустил target-c и iOS пару недель назад (стоит иметь в виду), и я заранее прошу прощения за ужасную диаграмму!! Диаграмма выше показывает структуру моих звонков в веб-сервис. Тонкие стрелки обозначают объект, создающий другой объект, в то время …
1 ответ

ObjC автоматический подсчет ссылок (ARC): слабый против присвоения против unsafe_unretained для делегата?

У меня есть класс: @interface MyClass : NSObject @property (weak) id delegate; @end и реализация: @implementation MyClass @synthesize delegate; @end Когда я реорганизую код для ARC, он говорит мне, что синтезировать "слабое" свойство разрешено тольк…
0 ответов

Работа с автоматически выпущенными объектами в dispatch_sync

Как лучше всего избежать плохого доступа в подобных ситуациях? __block NSString* string; dispatch_sync(dispatch_get_main_queue(), ^{ string = [NSString stringWithString:@"I'm autoreleased!"]; }); NSLog(@"My string is: %@", string); Я изменил свой ко…
1 ответ

Проблемы с указателем делегата после обновления до ARC

Я только что обновил свое приложение до ARC, но у меня возникли проблемы с обработкой классов с делегатами. Поскольку я нацеливаюсь на iOS 4.0 и выше, я использую __unsafe_unretained а также @property (unsafe_unretained) хранить указатели делегатов.…
3 ответа

Свойство для ivar, которое указывает на двумерный массив указателей на строки NSStrings

Я хочу создать класс, который содержит динамический двумерный c-массив указателей на строки NSStrings. Я знаю, что могу смоделировать двумерный массив, используя NSArray, содержащий несколько NSArrays, но если возможно, я бы хотел сделать это, испол…
3 ответа

Должен ли я использовать __unsafe_unretained для временных переменных?

Допустим, я хочу создать временную переменную, например: Чтобы указать на другую долгоживущую переменную: __unsafe_unretained UIView *tableHeaderView = self.tableView.tableHeaderView; Чтобы указать на объект, который я только что создал. __unsafe_un…
1 ответ

В чем разница между takeUnretainedValue и takeRetainedValue?

В чем разница между takeUnretainedValue а также takeRetainedValue? На основании документации Apple: Оба эти метода возвращают исходный, развернутый тип объекта. Вы выбираете, какой метод использовать, в зависимости от того, возвращает ли вызываемый …
2 ответа

Почему делегаты должны быть unsafe_unretained и не слабыми?

Я добавил ARC в приложение, над которым я работаю. К сожалению, это вылетает. Я обнаружил, что автоматический скрипт, который обновляет все приложения до ARC, дает спецификатор __unsafe_unretained для всех идентификаторов типа. Почему это не слабый …
2 ответа

Время жизни объекта malloc с типом __unsafe_unretained

Я новичок в Objective-C и ARC, и искал и читал часами, не находя ответа. Код делает то, что я хочу, но я хочу знать, что он не зависит от благоприятных условий. Вот упрощенная версия моего кода: +(void)foo { Class *classes = (__unsafe_unretained Cla…
1 ответ

Преобразование проекта в ARC с двойным назначением указателя косвенного

Я пытаюсь преобразовать проект в ARC. Проект имеет направленный ациклический словесный граф, который в основном означает множество указателей на двойную косвенность повсюду. Это довольно сложная задача для перехода на ARC, и одна проблема, в частнос…
1 ответ

Есть ли способ проверить, что ссылка "unowned" (на самом деле "unowned(safe)`) "была деиницирована?

Есть ли способ проверить unowned(safe) Быстрая ссылка на "доступность"? Итак, я ищу гипотетическую функцию, такую ​​как isReferenceAccessible в этом примере: func someMethod() { someAsyncOperation(parameters) { [unowned(safe) self] in guard isRefere…
2 ответа

Для поддержки iOS 4.3 используйте "назначить" вместо слабого, но Interface Builder использует unsafe_unretained?

Для поддержки iOS 4.3 с ARC, я думаю, что правильный путь заключается в использовании assign: @property (assign, nonatomic) UIView *view; @property (assign, nonatomic) MYNode *node; Это верно? Я также вижу следующее в документе Apple по переходу на …
1 ответ

Возвращение указателя __unsafe_unretained на освобожденный объект в Objective C вызывает сбой

Проблема: у меня есть __unsafe_unretained id указатель, который указывает на уже освобожденный объект. Пока все хорошо, пока я вообще не "использую" указатель (в частности, я не вызываю какой-либо метод через указатель). Однако, когда я пытаюсь верн…
1 ответ

Данные сUnsafeBytes устарели

Я получил этот код из приложения, над которым работаю. Я унаследовал этот код, когда парень из BLE покинул команду. Я плохо разбираюсь в вещах низкого уровня и данных. Я пользователь пользовательского интерфейса / пользовательского интерфейса, и теп…