对于Xcode 8 beta 6,Swift 3已经发生了变化,现在我无法像以前那样申报操作员的电源:
infix operator ^^ { }
public func ^^ (radix: Double, power: Double) -> Double {
return pow((radix), (power))
}
Run Code Online (Sandbox Code Playgroud)
我已经读过一些关于它的内容,并且在Xcode 8 beta 6中引入了一个新的变化
从这里我猜我必须声明一个优先级组并将其用于我的运算符,如下所示:
precedencegroup ExponentiativePrecedence {}
infix operator ^^: ExponentiativePrecedence
public func ^^ (radix: Double, power: Double) -> Double {
return pow((radix), (power))
}
Run Code Online (Sandbox Code Playgroud)
我是否朝着正确的方向努力使这项工作成功?我应该把什么放在优先组的{}里面?
我的最终目标是能够使用简单的操作员快速进行动力操作,例如:
10 ^^ -12
10 ^^ -24
Run Code Online (Sandbox Code Playgroud) 嗨我已经看过这个问题已经问了几次但是没有明确的答案,所以我为xcode 7和swift2创建了它(这可能会改变一些事情).
我使用Xcode 7和Cocoa OSX Story board + swift2创建了一个项目,所以我的项目开始于一个连接到NSViewController 的NSWindowController(正如预期的那样!).我在我的窗口控制器中添加了一个NSToolbar,并在工具栏中添加了一个NSButton.我将我的NSViewController更改为新的NSSplitViewController之一,它链接到三个NSViewController并水平显示它们的视图 - 使用垂直分隔符 - (类似于您在照片应用程序中看到的布局或Yosemite +中的页面).我的最终目标是"我的工具栏"中的按钮显示并隐藏第一个拆分.
这是我的理解,并且我希望实现这一点我应该在NSSplitViewController中创建一个动作,它或多或少地改变了它们在这里工作的方式约束:如何在mac中折叠和展开视图应用?.
然后以某种方式将此操作链接到工具栏中的NSButton ...它恰好位于NSWindowController中(远远超出层次结构中)...
我已经解决了有关NSToolbar和故事板的其他问题,但未能实现我的目标:
Apple确实(再次)在WWDC15中提到他们为osx和拥有视图控制器的拆分视图控制器创建了故事板,以便您可以将逻辑和工作移动到特定的视图控制器,因此我期望从在我的拆分视图控制器内部,因为这是需要更改的目标.
有谁知道如何从视图控制器本身实现这一点?我真的无法找到一种方法将ToolBarItem连接到它.
假设我正在使用此示例中的图形数据库(SQL Server 2017):
https://docs.microsoft.com/zh-cn/sql/relational-databases/graphs/sql-graph-sample
我有以下SQL查询:
-- Find Restaurants that John likes
SELECT Restaurant.name
FROM Person, likes, Restaurant
WHERE MATCH (Person-(likes)->Restaurant)
AND Person.name = 'John';
Run Code Online (Sandbox Code Playgroud)
我使用EF 6.1.3在C#中创建了一个模型,它会自动生成数据库中的所有类和所有内容(数据库中的EF Designer)。这一切都很好。我什至可以使用以下简单方法查询所有人:
public ICollection<People> ListPeople() => Entities.Peoples.ToList();
Run Code Online (Sandbox Code Playgroud)
现在,如果我们回到原始查询,我想在哪里找到John喜欢的餐厅...我将如何在Entity Framework中做到这一点?我需要使用LINQ查询还是可以仅调用实体?(大概我不能,因为表之间似乎没有任何物理关系,只能在边缘找到它们)
我在想类似的东西
public ICollection<Restaurant> ListRestaurantsLikedByPerson(string personName)
{
var result = from restaurant in Entities.Restaurants, person in Entities.Peoples, likes in Entities.likess
where match (person - likes -> restaurant)
and person.name = personName;
return result;
}
Run Code Online (Sandbox Code Playgroud)
但是此语法不正确...我该如何查询?
我正在使用Microsoft.Office.Interop.Outlook,VB.net和Office 2013生成MailItem,然后将项目发送到Outlook,显示电子邮件窗口并让用户编辑它/从Outlook 2013发送它.我正在做的事情是:
我创建了Microsoft.Office.Interop.Outlook.MailItem对象并用相关信息填充它,我生成一个像这样的正文的HTML常量
Private Const mstrHTML_FORMAT As String = "<html><p style='font-size:10pt;font-family:Arial;'>{0}</p></html>"
Run Code Online (Sandbox Code Playgroud)
然后我将我想要的文本添加到字符串变量strBody并使用String.Format将文本插入到我的对象的HTMLBody中:
objMailItem.HTMLBody = String.Format(mstrHTML_FORMAT, strBody)
Run Code Online (Sandbox Code Playgroud)
我还将正文的格式更改为HTML:
objMailItem.BodyFormat = Microsoft.Office.Interop.Outlook.OlBodyFormat.olFormatHTML
Run Code Online (Sandbox Code Playgroud)
经过几个其他步骤后,我将其发送到视图
objMailItem.Display(True)
Run Code Online (Sandbox Code Playgroud)
我的问题是,当用户发送电子邮件时,接收者将看到该电子邮件的主题为文本的消息
为什么会发生这种情况的任何线索?
我正在快速创建 XPC 服务,并且创建了我的协议:
protocol MyProtocol {
func myFunc()
}
Run Code Online (Sandbox Code Playgroud)
当我尝试通过使用协议初始化 NSXPCInterface 的新对象来设置导出对象实现的接口(在我的 main.swift 中)时,出现错误:
/// This method is where the NSXPCListener configures, accepts, and resumes a new incoming NSXPCConnection.
func listener(listener: NSXPCListener, shouldAcceptNewConnection newConnection: NSXPCConnection) -> Bool {
// Configure the connection.
// First, set the interface that the exported object implements.
newConnection.exportedInterface = NSXPCInterface(MyProtocol)
Run Code Online (Sandbox Code Playgroud)
错误是:无法将类型“(MyProtocol).Protocol”(又名“MyProtocol.Protocol”)的值转换为预期参数类型“Protocol”
谁能帮助我解决这个错误?