Apple的Objective-C文档,引用和生成的代码似乎与它们的编码风格完全不一致.我无法确定Objective-C和Cocoa源代码的"首选"样式(如果存在).
这是我到目前为止遇到的情况.
Xcode的默认设置设置为选项卡.但是,无论选项卡设置如何,生成的项目始终都会创建4个空格.更糟糕的是,一些生成的代码有闲置的标签.下载的代码示例似乎也因项目而异.
在Apple的示例代码中,不同样式的方法定义甚至在单个文件中也有所不同.但是间距最常见的风格似乎包括之间的空间-或+只有另外的参数之间的空格.这种风格也用在Xcode参考库中,这使我相信它是首选的风格.
- (IBAction)reloadData:(id)sender;
- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
Run Code Online (Sandbox Code Playgroud)
变异不一致:
- (IBAction) reloadData:(id)sender;
- (IBAction)reloadData:(id) sender;
-(IBAction)reloadData:(id)sender;
- (IBAction) reloadData: (id)sender;
- (id)tableView: (NSTableView *)aTableView objectValueForTableColumn: (NSTableColumn *)aTableColumn row: (NSInteger)rowIndex
Run Code Online (Sandbox Code Playgroud)
另一个广泛不一致的是支撑式.有两种流行的风格:
打开支撑线:
@interface Foo : NSObject
{
}
- (id)init
{
}
Run Code Online (Sandbox Code Playgroud)
在与方法声明相同的行上打开大括号:
@interface Foo : NSObject {
}
- (id)init {
}
Run Code Online (Sandbox Code Playgroud)
是否有Apple推荐的Objective-C编码风格?如果没有,你喜欢什么样的风格,为什么?
这可能是一个简单的问题,但我似乎无法弄清楚如何做到这一点.基本上我想做的就是在关闭它之前淡出一个窗口:
[[window animator] setAlphaValue:0.0];
[window close];
Run Code Online (Sandbox Code Playgroud)
这样可以在没有[窗口关闭]的情况下正常工作,但是当包含它时,窗口似乎在动画结束之前关闭它(这显然不是我想要的); orderOut:,performClose:等似乎也发生了同样的事情.有什么方法可以避免这种情况吗?
我的目标是,如果用户提交此表单,其"产品名称"值为"YYY".在提交页面上应重新加载,但这次"产品名称"应显示以前的valye默认为本例"YYY".
这是我的代码......
function addnewproduct_page () {
return drupal_get_form('addnewproduct_form',&$form_state);
}
function addnewproduct_form(&$form_state) {
$form = array();
$formproductname['productname'] = array (
'#type' => 'textfield',
'#title' => t('Product Name'),
'#required' => TRUE,
'#size' => '20',
);
if (isset($form_state['values']['productname']))
{
$form['productname']['#default_value'] = $form_state['values']['productname'];
}
//a "submit" button
$form['submit'] = array (
'#type' => 'submit',
'#value' => t('Add new Product'),
);
return $form;
}
Run Code Online (Sandbox Code Playgroud) 所以我有一个NSTabView,我正在动态调整和填充NSView子类.我想在IB中设计页面然后实例化它们并将它们添加到NSTabView.我得到了程序化添加NSView子类,但我不知道如何在IB中设计它们然后实例化它们.
您知道删除Core Data中存储的所有条目的方法吗?我的架构应该保持不变; 我只是想把它重置为空白.
编辑
我希望以编程方式执行此操作,以便用户可以实际按下reset按钮.
我从以下属性收到编译错误.
错误是:
"修饰符'public'对此项无效"
public System.Collections.Specialized.StringDictionary IWorkItemControl.Properties
{
get { return properties; }
set { properties = value; }
}
Run Code Online (Sandbox Code Playgroud)
但如果我删除IWorkItemControl它编译好.
为什么我收到此错误,签名中是否有/没有接口名称有什么区别?
我一直在阅读,试图弄清楚浏览器中的内存泄漏,尤其是.IE浏览器.我知道泄漏是由Javascript引擎和DOM对象树之间的垃圾收集算法不匹配引起的,并且会持续存在.我不明白的是为什么(根据我正在阅读的文章中的一些陈述)在浏览器卸载页面后不回收内存.导航离开网页应该将所有DOM和javascript对象放在范围之外,不应该吗?
我在整个网络上看到了这一点,但是想知道是否有人使用EASIEST方式的JavaScript代码来显示模糊的输入值,但隐藏在焦点上.
SAX 中有一个定位器,它跟踪当前位置。但是,当我在 startElement() 中调用它时,它总是返回 xml 标记的结束位置。
如何获取标签的起始位置?有什么办法可以优雅地解决这个问题吗?
这是一个很简单的问题,但我无法在任何地方找到答案......
我有一个python脚本,返回一堆数字,表示给定地理区域的项目总数.我有一堆.kml文件代表每个地区的地理范围.我想获取脚本创建的数字并将它们粘贴到匹配的.kml叠加层上方.我无法弄清楚如何做到这一点.我知道如何添加.kml文件,但我无法弄清楚如何处理文本.Google网站上有很多关于如何在地图上添加标记图标,折线,甚至图像的信息,但我找不到如何添加一些简单的文字.
cocoa ×3
objective-c ×3
forms ×2
javascript ×2
c# ×1
cocoa-touch ×1
coding-style ×1
core-data ×1
dom ×1
drupal ×1
google-maps ×1
hide ×1
input ×1
interface ×1
ios ×1
java ×1
memory ×1
memory-leaks ×1
sax ×1
show ×1
whitespace ×1