【发布时间】:2014-09-12 02:31:41
【问题描述】:
我有一个 NSmutable 数组,我正在向它添加 C 数组中存在的一些字符串。通过使用这种方法
if (!self.arrayOfVariableNames) {
self.arrayOfVariableNames = [[NSMutableArray alloc] init];
for (int i = 0; i< cols; i++) {
[self.arrayOfVariableNames addObject:[NSString stringWithCString:cArrayOfVariableNames[i] encoding:NSUTF8StringEncoding ]];
}
}
else{
[self.arrayOfVariableNames removeAllObjects];
for (int i = 0; i< cols; i++) {
[self.arrayOfVariableNames addObject:[NSString stringWithCString:cArrayOfVariableNames[i] encoding:NSUTF8StringEncoding ]];
}
}
这个方法是否保证了当C数组被取出内存时,NSmutableArray中的对象不会被释放?
【问题讨论】:
-
YES ..你有什么问题吗?
-
其实问题很多。我是一名自学成才的程序员,我几乎要放弃,因为我无法弄清楚某些事情。我必须在表视图中使用这个数组,但是在实现表视图数据源方法时,这个数组变为空。
-
如果你的 NSArray 变为零,你就没有对它保持强烈的引用。使其成为控制器的属性。
-
所有数组都有强引用。在单独的 ViewController 中有一个 NSTableView,它使用这个 tableview 来获取数据,当我记录内容时,我收到一个错误
-
如何将数组传递给第二个视图控制器?
标签: objective-c macos cocoa nsarray