私はコンパイラである可能性があると思われるエラーがあります...私は専門家ではありませんが、専門家と全く同じ動作でいくつかのコードをチェックしました。それを理解する。プロパティが無効なアドレスで開始されています
Iセットアップなどのプロパティ: @interface aViewControllerは()
@property (nonatomic, strong) NSArray *listOfTitles;
@end
@implementation aViewController
@synthesize listOfTitles = _listOfTitles;
- (NSArray *)listOfTitles
{
if (!_listOfTitles)
_listOfTitles = [NSArray arrayWithObjects:@"first", @"second", @"third", @"fourth", nil];
return _listOfTitles;
}
しかし、アプリケーションがクラッシュし(配列はより複雑であるとのUITableViewCellに設定textLabel.textプロパティに役立つであろう)。
NSArrayには常に無効なアドレス(0x00000001)が付いています。私は何が欠けていますか?これは怠惰なインスタンス化を行う適切な方法ではありませんか?
他のプロジェクトでは、私が言及したように、他のクラスと全く同じこと(0x00000001でインスタンス化されたプロパティ)を経験しました。だからこそ私はコンパイラが問題であると思っています。しかし、実際には、私は解決のためのすべての耳です!...
ARCでコンパイルしていますか?そうでない場合は、あなたの記憶を正しく管理していません。もしあなたがそうであれば、どのように値を調べていますか?イルダーズを見るのに影響するlldbにバグがあります。 –
ヘッダに_listOfTitlesという名前のiVarがありますか? – lnafziger
@lnafziger:ivarは '@synthesize listOfTitles = _listOfTitles;'ディレクティブによって作成されます。 –