首页 \ 问答 \ 如何在Objective-C中使用本地静态对象?(How to use local static object in Objective-C?)

如何在Objective-C中使用本地静态对象?(How to use local static object in Objective-C?)

如何在Objective-C中使用本地静态对象?

- (void)foo {
    static NSMutableArray *mutableArr = nil;
    // initialize mutableArr somehow somewhere 
    // using mutableArr several times
}

How to use local static objects in Objective-C?

- (void)foo {
    static NSMutableArray *mutableArr = nil;
    // initialize mutableArr somehow somewhere 
    // using mutableArr several times
}

原文:https://stackoverflow.com/questions/8412071
更新时间:2019-11-21 11:11

最满意答案

我希望我没有遗漏任何东西,但这就是我使用它的方式:

- (void)foo {
    static NSMutableArray *mutableArr = nil;
    if (mutableArr == nil) {
        mutableArr = [[NSMutableArray alloc] init...];
        // add more first time initialization as required
    }
    assert(mutableArr);
    // now, use mutableArr freely...
}

I hope I'm not missing anything, but this is how I'm using it:

- (void)foo {
    static NSMutableArray *mutableArr = nil;
    if (mutableArr == nil) {
        mutableArr = [[NSMutableArray alloc] init...];
        // add more first time initialization as required
    }
    assert(mutableArr);
    // now, use mutableArr freely...
}
2011-12-07

相关问答

更多

Google地图中的多个多边形(Multiple polygons in Google maps)

我刚刚定义了自己的id属性,并使用了 - 实际上非常简单 I just defined my own id property, and used that - pretty simple, actually

我应该在iPhone视图中“保存”更改为“创建新对象”?(Where should I “save” changes in my iPhone view to 'create new' of an object?)

听起来你的视图是一个完美的候选者,可以通过模态推送,而不是通过导航控制器堆栈。 按模式推送创建NSManagedObject的视图: [self presentModalViewController:yourViewController animated:YES] 然后继续使用右上角的EDIT / DONE按钮进行编辑/验证,当验证成功时,只需保存对象并从父视图控制器中关闭模态视图控制器: [[self parentViewController] dismissModalViewControl

Python使用了大量的RAM(Python uses a lot of RAM)

您正在使用range() ,它生成范围内所有整数的列表对象。 您生成了一个列表对象,其中包含10 ** 9个整数。 在64位机器上,大约需要30GB才能容纳所有这些对象,只要你的操作系统可以让你分配那么多。 请改用xrange()函数 ; 这会产生一个只在迭代时产生数字的对象: >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> xrange(10) xrange(10) >>> list(xrange(10)) [0, 1, 2, 3, 4, 5,

为什么我在此Cocoa代码中遇到isEqualToString错误?(Why am I getting an isEqualToString error in this Cocoa code?)

替换此行: cell.text = [jokes objectAtIndex:indexPath.row]; 用这些线: Joke *j = (Joke *)[jokes objectAtIndex:indexPath.row]; if( j ) cell.text = j.joke; Replace this line: cell.text = [jokes objectAtIndex:indexPath.row]; with these lines: Joke *j = (Joke

仅替换目标ID中的字符串(Replace strings in only targeted ID's)

您可以拆分文本-然后使用div重新加入: $('#fixthistitle').html( $('#fixthistitle').html().split(' - ').join('<div class="withthiscss">xx</div>') ); <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <p class="product-title" id=

我需要读取文件并保存以输入o(I need to read file and save to type o things)

根据你所说的尝试,以下会做你想要的吗? data = line.split(/: */) # => ["regular", "12/04/2013, 13/04/2013"] @customer = data[0] # => "regular" @dates_array = data[1].split(/, */) # => ["12/04/2013", "13/04/2013"] 我使用*匹配(并消除)多个空格。 我在这里假设您不希

无法获取构造函数方法在Java中打印到控制台(Cannot get constructor method to print to the console in Java)

这不会声明构造函数: public void Message() { 构造函数没有返回类型; 这是一种方法。 删除void : public Message() { This does not declare a constructor: public void Message() { Constructors have no return type; this is a method. Remove void: public Message() {

如果一个物体撞得太快,区域约束就会炸毁我的物理模拟(Area constraint blows up my physics simulation if a body slams into it too fast)

我看到你正在用恒定的时间步长T进行计算。当在每一步上建模碰撞时,你应该使用等于最小时间的时间步长,然后任何原子到达任何障碍物。 使时间步长变化,原子永远不会“隧道”障碍。 PS碰撞检测有很多优化,请阅读gamedev论文以获取相关信息。 PS一个bug? force = new Vector2(-(_min.X - atom.Position.X), 0); 为X和Y反射单独创建力。 当原子进入角落时会发生什么? 只会施加第二个力。 PPS:使用epsilon 另一个重要的注意事项:如果使用浮

相关文章

更多

最新问答

更多
  • 用于Json解析的Phonegap插件(Phonegap Plugin for Json parsing)
  • ActionScript 2加载另一个加载其他文件的SWF - 相对路径/网址问题(ActionScript 2 load another SWF that loads other files - relative path/url problem)
  • 使用sql将一些列值放入新列中(put some column values in a new column using sql)
  • 在iOS中为NivevehGL设置View的背景图像(Setting the background image of the View for NivevehGL in iOS)
  • 从普通的C#开发人员到普通的Java开发人员需要多长时间?(How long will take from an average C# developer to an average Java developer?)
  • 通过datetimefield SQL Server加入(Joining by datetimefield SQL Server)
  • Python中是否有任何智能打印方法?(Are there any smart print methods in Python?)
  • R中关闭另一个表[关闭](Removing one table from another in R [closed])
  • 枚举数字(Enumerating digits)
  • 我想从现有数组中获取新数组,其中key是旧数组的重复值,value是重复计数?(I want new array from existing array with key as repeated value from old array and value as repeated count?)
  • 如何在不创建实例的情况下调用类方法(How to call a class method without creating an instance)
  • wxHaskell中嵌入的图像(Embedded images in wxHaskell)
  • 蚂蚁战争任务如何运作?(How does the ant war task work?)
  • Windows Workflow 4中的人员活动支持(Human activity support in Windows Workflow 4)
  • 在Firebug的Net Panel中缺少'DomContentLoaded'和'加载'时间信息(Missing 'DomContentLoaded' and 'load' time information in Firebug's Net Panel)
  • 如何抓取页面以查看复选框/广播/文本输入并检测其原始值的更改?(How can I crawl the page for checkbox/radio/text inputs and detect changes to their original values?)
  • Document.ready不起作用(Document.ready won't work)
  • Java序列化问题(Java serialization problem)
  • Javascript:如何在页面刷新时处理令牌验证?(Javascript: How should I handle token verification on page refresh?)
  • 数据库安全:中间“to_be_deleted”列/表?(Database safety: Intermediary “to_be_deleted” column/table?)
  • 使用mayavi时如何删除scalar_cut_plane中的红框和白色箭头?(How to remove the red frame and white arrow in scalar_cut_plane when using mayavi?)
  • 如何延迟MainPage,所以它在加载数据后启动?(How to delay MainPage, so it starts after data is loaded?)
  • 按Enter键更改EditText(Press Enter to change EditText)
  • 使用libavcodec解码时可以裁剪帧大小吗?(Can the frame size be cropped during decoding using libavcodec?)
  • Performance_Python根据元组的3个元素中的2个获得2个元组列表的并集(Performance_Python get union of 2 lists of tuple according to 2 out of the 3 elements of the tuple)
  • 为什么法线会随相机旋转?(Why normals rotate with camera?)
  • 如何将Intent与ListView一起使用?(How do I use Intents with ListView?)
  • html_safe无法使用rails(html_safe not working with rails)
  • 录制没有单独的程序或库的opengl视频(record opengl video without separate program or library)
  • 滚动到特定视图(Scroll to particular view)