小编gar*_*uan的帖子

Cocoa:在标题中导入和在主文件中导入之间有什么区别?

我不知道为什么,但有时我设法修复了一些编译错误,最值得注意的是

error expected specifier-qualifier-list before 'someClass'
Run Code Online (Sandbox Code Playgroud)

#import "someClass.h"从.h文件移动到.m文件.这也解决了我遇到的其他一些与标题有关的问题(从我的观点来看神秘).

一些粗略的谷歌搜索已经出现了答案"从不在头文件中导入标题",这就是建议停止的地方.

要么我完全做到了,要么我已经从某个地方养成了习惯,但我认为标题是要导入标题的地方.显然不是,但任何人都可以向我解释为什么会这样,以及导入标题的首选方式是什么?

import cocoa header objective-c

7
推荐指数
2
解决办法
979
查看次数

将SQLite SQL文件导入WEB SQL数据库的最简单方法是什么

也许我错过了一些东西,但我需要一个预先填充了大量数据的客户端数据库.

为了测试客户端数据库是否适合任务,我使用该transaction.executeSql()方法创建了一些带有虚拟数据的虚拟表.但是从我可以收集的内容来看,它需要对每个CREATE TABLE和INSERT INTO查询执行executeSQL调用.我很懒,这对我来说似乎太过分了.

我想知道......:我可以使用SQLite GUI快速创建一个SQLite表.我已经尝试导出一个SQL文件并在一个executeSQL语句中运行它,但是只处理第一个'CREATE TABLE'位没有插入.

是否有一些特殊的事务对象方法,我不知道一次运行多个查询?

这是针对Mobile Safari购买的方式,据Apple称,它使用SQLite数据库为其客户端数据库提供支持.

sql sqlite safari local-storage

7
推荐指数
2
解决办法
8553
查看次数

为什么这样:元素受到换行影响?

我有一个像这样编码的简单菜单

<ul id="main-menu" class="container">
    <li><a href="#">About Us</a></li>
    <li><a href="#">Home</a></li>
    <li><a href="#">Villas & Yachts</a></li>
    <li><a href="#">Islands</a></li>
    <li><a href="#">Gallery</a></li>
    <li><a href="#">Blog</a></li>
    <li><a href="#">Get In Touch</a></li>       
 </ul>
Run Code Online (Sandbox Code Playgroud)

看起来像这样 在此输入图像描述

每个菜单项之间的小点是使用:after伪元素创建的.Eveything工作正常,但我还需要子菜单,这将是嵌套列表.

问题是,当我向这样的菜单添加换行符时

<ul id="main-menu" class="container">
    <li><a href="#">About Us</a></li>
    <li><a href="#">Home</a></li>
    <li><a href="#">Villas & Yachts</a>
    <!-- LINE BREAK -->
    </li>
    <li><a href="#">Islands</a>
    <!-- LINE BREAK -->
    </li>
    <li><a href="#">Gallery</a></li>
    <li><a href="#">Blog</a></li>
    <li><a href="#">Get In Touch</a></li>       
 </ul>
Run Code Online (Sandbox Code Playgroud)

我在Safari和Chrome中得到了这个结果(但不是Firefox)...... 在此输入图像描述

在我看来,好像webkit将空白视为'pre'.:after元素的CSS看起来像这样

ul#main-menu li:after
{
    content: "\00b7";
    width: 61px;
    float: right;
    text-align: center;
    border: rgba(225,225,225,0.25) 1px solid;
}
Run Code Online (Sandbox Code Playgroud)

我也尝试过设置white-space: …

css webkit pseudo-element

7
推荐指数
1
解决办法
1196
查看次数

混合Objective-C和C有哪些陷阱和陷阱?

有可能过于简单化我担心的事情可能会非常复杂,在混合使用C和Objective-C时我应该注意什么?

编辑:只是为了澄清,我以前从未使用过C,我正在通过Cocoa学习Objective-C.我也在使用Chipmunk Dynamics引擎,它是C.

c objective-c

6
推荐指数
2
解决办法
1463
查看次数

Cocoa:使用NSNotification和NSDictionary传递CGPoint的问题

我试图在一个类中调用一个名为setPosition的方法中的Notification,它在另一个类中触发setViewPointCenter.但是,我正在尝试发送一个CGPoint.但是Xcode并不喜欢它.

-(void)setPosition:(CGPoint)point
{   

    NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys:@"sp", point, nil];

    [[NSNotificationCenter defaultCenter] 
    postNotificationName:@"SpriteDidSetPosition" 
    object:self 
    userInfo:dict];

    [super setPosition:point];
}
Run Code Online (Sandbox Code Playgroud)

在另一个类中触发此方法,但会抛出指示的错误

-(id) init{

    // Usual stuff, blah blah blah...

    [[NSNotificationCenter defaultCenter]
     addObserver:self 
     selector:@selector(setViewPointCenter:) 
     name:@"BownceSpriteDidSetPosition" 
     object:nil];

}

-(void) setViewPointCenter:(NSNotification *)notification 
{

    // ERROR: Invalid Initializer
    CGPoint point = [[notification userInfo] valueForKey:@"sp"];


    // more code here....


}
Run Code Online (Sandbox Code Playgroud)

我一直在挖掘,并找到了这个解决方案,但我仍然得到一个错误.

-(void)setPosition:(CGPoint)point
{   
    // ERROR: Incompatile type for argument 1 of "Value With Point"
    NSValue *pointAsObject = [NSValue valueWithPoint:point];
    NSDictionary *dict = [[NSDictionary alloc] 
                         initWithObjectsAndKeys:@"sp", 
                         pointAsObject, …
Run Code Online (Sandbox Code Playgroud)

iphone cocoa cocos2d-iphone

6
推荐指数
2
解决办法
5501
查看次数

有没有办法检测Flash阻止程序?

我想知道是否有一种Javascript方式来检测用户是否安装了任何类型的闪存阻塞插件,这样我就可以正确地容纳这些用户.

例如,我使用'click to flash',但是使用SiFR渲染文本的网站上散布着"点击闪存"按钮,这非常烦人.因此我不在设计中使用SiFR.但是,如果我能够发现安装了闪存阻塞插件,我就不会调用SiFR功能.

有任何想法吗?

javascript flash plugins

6
推荐指数
1
解决办法
2054
查看次数

需要有关创建新"标准"/"语言"的建议

更新:在评论中建议我为此创建一个wiki.我已经完成了,你可以在这里找到它(如果你想密切关注和/或贡献).

http://vrs.tomelders.com

我之前从未做过这样的事情,所以我完全放弃它.


我以前从来没有做过这样的事,所以请

我想要开放的"标准"或"语言",或者......好吧,我真的不知道该怎么称呼它......使表单验证更容易.我称之为VRS(验证规则表),但在这个阶段,一切都可以协商.

我们的想法是创建一张规则,类似于CSS,定义如何验证表单.这将需要

  1. 语法/规范
  2. 一个VRS解析器将VRS转换为可用的东西
  3. 一个VRS处理器,用于将表单数据与规则进行比较并返回响应.
  4. 响应格式.

像这样的系统的好处是

  1. 用于定义表单验证的平台/语言无关的方法.
  2. 一种跨平台,高度可移植的方式来定义表单验证.
  3. 易于阅读,易于设置,易于修改.
  4. 客户端和后端集成.

首先是第一件事.语法/规范应该是什么样的.

我在网上看到这种方式的方式是可以将VRS文件指定为隐藏字段,并且应用程序在处理之前将提供的表单数据通过VRS处理器进行路由.

举个例子,你可以验证"name"字段的内容类型是这样的

name {
    content-type: alpha;
}
Run Code Online (Sandbox Code Playgroud)

content-type可以是以下三个值之一:alpha,numeric或alpha-numeric.

希望这是有道理的.我之前从未做过这样的事情所以我渴望得到别人的意见.就这一点而言,我已经到了

------------------------------------------------------------

content-type: (string) alphanumeric | alpha | numeric

Restricts content to either numeric, text or alphanumeric.

------------------------------------------------------------

is-fatal: BOOL

If the rule fails, is it fatal? This could be really useful
for AJAX responses.

------------------------------------------------------------

allow-null: BOOL

wether a field can be empty or not. Good for required fields
and checkboxes 

------------------------------------------------------------

pattern-match: (string) email …
Run Code Online (Sandbox Code Playgroud)

validation syntax specifications

6
推荐指数
1
解决办法
166
查看次数

这个子菜单定位是否可以单独使用CSS?

对于模糊问题的道歉,我想不出一个简洁,具有描述性的问题.

我正在从无序列表中制作一个下拉菜单,看起来有点像这样....

<ul id="menu">
    <li>Menu Item</li>
    <li>Menu Item
        <ul class="sub-menu">
            <li>Sub Menu Item</li>        
            <li>Sub Menu Item</li>
        </ul>
    </li>
    <li>Menu Item</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

但是,我想知道这种定位行为是否可行(图像解释得更好,我认为)

情况1

子菜单以包含列表项为中心,但比包含列表项更宽. 子菜单以包含列表项为中心

案例2

子菜单应居中,但根列表中没有足够的左空间,因此它与根列表左边缘保持齐平. 子菜单不会超出左边缘根列表

案例3

与案例2一样,但这一次是正确的优势. 子菜单不会超出根列表的右边缘

我认为它可以分解为两个棘手的CSS问题.

  1. 如何将子菜单集中到它的容器中,尽管它比容器宽.
  2. 如何防止子菜单超出根列表元素的范围.

我将在Javascript中实现此行为,因为我在截止日期.但是为了将来参考,我们很高兴知道这是否可以单独使用CSS来实现.

如果你有任何理论,这里有一个JSFiddle.

css menu drop-down-menu

6
推荐指数
1
解决办法
526
查看次数

为什么我的SCNAction序列会间歇性地停止工作?

我试图SCNNode围绕一个场景移动,约束到一个GKGridGraph.按照PacMan的思路,但在3D中.

我有一个ControlComponent处理我的SCNNode的运动.逻辑应该像这样......

  1. 设置queuedDirection属性.
  2. 如果该isMoving标志为false,则调用move()方法
  3. 使用GKGridGraph评估下一步行动

    3.1如果实体可以使用direction属性移动到GKGridGraphNode ,nextNode = nodeInDirection(direction)

    3.2如果实体可以使用该queuedDirection属性移动到GKGridGraphNodenextNode = nodeInDirection(queuedDirection)

    3.3如果实体无法移动到具有任一方向的节点,请将该isMoving标志设置为false并返回.

  4. 创建moveTo动作
  5. 创建一个runBlock调用该move()方法的方法
  6. moveTorunBlock操作作为序列应用于SCNNode

我已经粘贴在下面的全班中.但我会解释我先遇到的问题.上述逻辑有效,但只是间歇性的.有时动画停止工作几乎immediatley,有时它运行长达一分钟.但在某些时候,由于某种原因,它只是停止工作 - setDirection()将触发,move()将触发,SCNNode将在指定方向上移动一次空间然后该move()方法停止被调用.

我并不是100%确信我当前的方法是正确的,所以我很高兴听到是否有更惯用的SceneKit/GameplayKit方法来做到这一点.

这是全班,但我认为重要的是setDirection()move()方法.

import GameplayKit
import SceneKit

enum BRDirection {
    case Up, Down, Left, Right, None
}

class ControlComponent: GKComponent {

    var level: BRLevel!
    var …
Run Code Online (Sandbox Code Playgroud)

scenekit swift gameplay-kit

6
推荐指数
1
解决办法
483
查看次数

我应该使用HTTP还是FTP从北极上传图像?

这是一个有趣的请求.客户需要从北极博客.他们在卫星电话上的连接速度非常差,所以一切都需要尽可能精益.

过去,他们通过HTTP通过HTML表单提交文本,并对图像进行FTP.

有趣的是,从舒适的办公桌和高速宽带连接来看,与FTP相比,感觉HTTP上传文件的速度要快得多.但我只是一个程序员,我对将数据从网络的一部分传递到另一部分的基础技术一无所知所以我认为最好与那些对这些事情有更多了解的人进行双重检查.

我认为问题是:带宽和可靠性.

所以,鉴于这些非常严格的条件

  1. 低于拨号带宽
  2. 任意数量的小图像(300x300px 72ppi)
  3. 文本数据(最多1500个字符)

他们应该使用FTP还是HTTP从北极上传图像?

ftp http

5
推荐指数
1
解决办法
544
查看次数