我创建了一个结构体,其中我有一个属性'_photo',当调用计算属性'photo'时,它会被懒惰地分配.我一直在收到错误
不能在'self'中指定'_photo'
这是代码.我在Swift 1.1(photo1)和swift 1.2(photo2)语法中编写了计算方法.两者都给出了如上所述的相同编译时错误.
修复该错误需要进行哪些更改?
import UIKit
public struct PhotoStruct {
var _photo:UIImage?
var urlString:String?
init(image:UIImage?, url:String?){
self._photo = image
self.urlString = url
}
init(url:String?){
self.urlString = url
}
var photo1:UIImage? {
if let theURL = self._photo {
return self._photo
}else{
if let urlString = self.urlString{
if let url = NSURL(string: urlString as String){
if let imageData :NSData = NSData(contentsOfURL: url){
if let image:UIImage = UIImage(data:imageData){
self._photo = image //** Cannot assign error is here**
}
}
}
} …
Run Code Online (Sandbox Code Playgroud) 我试图在Swift的IF语句中使用元组作为可选绑定,但它不会编译,并且该错误消息不太有用.以下为什么不编译?
let user:String? = "billy"
let pass:String? = "password"
if let test = (user?,pass?){
print("this works")
}
Run Code Online (Sandbox Code Playgroud)
或这个
let user:String? = "billy"
let pass:String? = "password"
if let test = (user,pass){
print("this works")
}
Run Code Online (Sandbox Code Playgroud) 有谁知道为什么当我运行以下代码时会出现以下错误?
React Native Expo 在命令行中报告的错误:
Animated.event now requires a second argument for options
- node_modules/react-native/Libraries/LogBox/LogBox.js:117:10 in registerWarning
- node_modules/react-native/Libraries/LogBox/LogBox.js:63:8 in warnImpl
- node_modules/react-native/Libraries/LogBox/LogBox.js:36:4 in console.warn
- node_modules/expo/build/environment/react-native-logs.fx.js:18:4 in warn
- node_modules/react-native/Libraries/Animated/src/AnimatedEvent.js:141:6 in constructor
- node_modules/react-native/Libraries/Animated/src/AnimatedImplementation.js:520:24 in event
* src/screens/ImageScreen.js:21:24 in ImageScreen
Run Code Online (Sandbox Code Playgroud)
...许多行有更多相同的输出...如果人们认为需要,我可以发布完整的输出。
这是代码 - 它并不复杂:
import React, {useState, useRef} from 'react';
import { Animated, PanResponder, View, Image, StyleSheet } from 'react-native';
const style = StyleSheet.create({
mainView: {
flex: 1,
alignItems: "center",
justifyContent: "center",
backgroundColor: "red"
},
moviePoster_posterStyle: {
resizeMode: "cover" …
Run Code Online (Sandbox Code Playgroud) 我试图在XCode 6.3中使用AlamoFire和Swift 1.2.我已经解决了大部分问题(即改变为!)但我有一个我无法弄清楚的问题.
以下代码 - 以及类似的代码片段 - 在第5行("req.responseJSON(){")生成编译时错误,消息"不明确地使用'responseJSON'".我需要在AlamoFire库或我的代码中进行哪些更改才能修复它?注意:我按照文档中的描述导入了项目,它在Swift 1.1和XCode 6.1.1中运行得非常好
func theaters(delegate:GlobalNetworkingDelegate){
if let url = self.mainNetworkingUrl{
var urlToUse = url + "theaters"
var req:Request = Alamofire.request(.GET, urlToUse, parameters: [:], encoding: .URL)
req.responseJSON(){
(req, response, jsonOut, error) in
if(response.statusCode == 200 && error == nil){
var ajson = JSON(jsonOut!)
delegate.globalTheatersOutomce!(true, json: jsonOut, error: error)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)