2013-04-22 4 views
0

Я пытаюсь изучить Objective-C. Так что я просто реализовал ProfileViewController и вот мой файл заголовка:Проблема с «сильным» свойством

#import <UIKit/UIKit.h> 

@interface ProfileViewController : UIViewController 

@property (strong, nonatomic) UIScrollView *scrollView;//strong is not colored by XCode 

@end 

Но у меня есть следующее сообщение об ошибке с @property линии, и я полностью застрял с ним:

No 'assign', 'retain' or 'copy' attribute is specified - 'assign' is assumed 
Default property 'assign' not appropriate for non-gc object 

И в мой ProfileViewController.m я следующее предупреждение: Property 'scrollView' needs setScrollView need to be defined

Developer Information: 

    Version: 4.1 (4B110) 
    Location: /Developer 
    Applications: 
    Xcode: 4.1 (516) 
    Instruments: 4.1 (4138) 
    Dashcode: 3.0.2 (336) 
    SDKs: 
    Mac OS X: 
    10,6: (10J567) 
    10,7: (11A511a) 
    iPhone OS: 
    4,3: (8H7) 
    iPhone Simulator: 
    4,3: (8H7) 
+0

Возможно, у вас есть невидимый символ, который вставлен в файл, над которым вы работаете. Переопределите свойство. – CodaFi

+4

Обновите версию Xcode. Я не верю, что 4.1 поддерживает ARC, в котором введено сильное ключевое слово. –

ответ

7

Сильные свойства являются Fe ature of ARC (автоматический подсчет ссылок), который доступен с Xcode 4.2 (компилятор LLVM 3.0), сравните https://developer.apple.com/library/ios/releasenotes/ObjectiveC/ObjCAvailabilityIndex/index.html.

+0

Хорошо, спасибо! У меня теперь Xcode 4.6.2! Но я получаю следующую ошибку: «Ожидаемый атрибут свойства до сильного». Я видел, что это может быть компилятор, который может быть устаревшим. Но я очень новичок в XCode, и я немного смущен этим. Благодаря ! – Reveclair

+0

@Reveclaire: Возможно, вам нужно преобразовать проект в ARC: Edit -> Refactor -> Convert to Objective-C ARC ... –

+0

Хорошо, что работает! Благодаря ! – Reveclair

0

Вы действительно используете ARC? Вы отметили флажок «использовать автоматический подсчет ссылок» при создании проекта? Если вы используете более старую версию XCode, то вы не получите таких параметров, которые не поддерживают ARC. В этом случае либо обновите свой xcode, либо продолжите без ARC, используя ручное управление памятью и ключевые слова, такие как «назначить/не назначить» вместо «сильный/слабый» ...

Смежные вопросы