我无法在细胞重新排序上交换字符串数组
var scatola : [String] = []
override func tableView(tableView: UITableView, moveRowAtIndexPath fromIndexPath: NSIndexPath, toIndexPath: NSIndexPath) {
swap(&scatola[fromIndexPath.row], &scatola[toIndexPath.row])
}
Run Code Online (Sandbox Code Playgroud)
此代码抛出:inout回写计算属性'scatola'发生在多个要调用的参数中,引入无效别名
什么是正确的方法呢?
我保存了使用媒体选择器选择的歌曲的持久ID,现在我正在尝试创建队列以播放该列表,但此代码中存在错误:
myPlayer = [MPMusicPlayerController applicationMusicPlayer];
NSMutableArray *canzonilist = [[[NSMutableArray alloc] initWithCapacity:1] retain];
NSData *data = [[NSUserDefaults standardUserDefaults] objectForKey:@"listaCanzoni"];
NSArray *decodedData = [NSKeyedUnarchiver unarchiveObjectWithData:data];
[canzonilist addObjectsFromArray:decodedData];
MPMediaQuery *songQuery = [MPMediaQuery songsQuery];
for (int i = 0; i > [canzonilist count]; i++) {
[songQuery addFilterPredicate:[MPMediaPropertyPredicate predicateWithValue:[canzonilist objectAtIndex:i] forProperty:MPMediaItemPropertyPersistentID]];
}
NSArray *songs = [songQuery items];
MPMediaItemCollection *currentQueue = [[MPMediaItemCollection alloc] initWithItems:songs];
if (currentQueue != nil) {
[myPlayer setQueueWithItemCollection:currentQueue];
} else {
[myPlayer setQueueWithQuery: [MPMediaQuery songsQuery]];
}
[myPlayer play];
[canzonilist release];
[currentQueue release];
Run Code Online (Sandbox Code Playgroud)
谢谢
我正在为教室构建一个简单的计算器,这是显示结果的代码:
- (void)doTheMathForPlus:(float)val {
float conto = self.contBox + val;
self.myDisplay.text = [NSString stringWithFormat:@"%.02f", conto];
}
Run Code Online (Sandbox Code Playgroud)
我需要知道"conto"是否有小数(以改变if语句中字符串的格式)
怎么做?
谢谢
我有这个简单的课程
import UIKit
class SimpleModel: NSObject, NSCoding {
var name : String!
var done : Bool!
init(name:String) {
self.name = name
self.done = false
}
internal required init?(coder aDecoder: NSCoder) {
self.name = aDecoder.decodeObject(forKey: "name") as! String
self.done = aDecoder.decodeBool(forKey: "done") // BUG HERE
}
func encode(with encoder: NSCoder) {
encoder.encode(self.name, forKey: "name")
encoder.encode(self.done, forKey: "done")
}
}
Run Code Online (Sandbox Code Playgroud)
保存代码:
let data = NSKeyedArchiver.archivedData(withRootObject: storageArray)
UserDefaults.standard.set(data, forKey: "storage")
UserDefaults.standard.synchronize()
Run Code Online (Sandbox Code Playgroud)
读取代码:
if let data = UserDefaults.standard.data(forKey: "storage") {
storageArray = NSKeyedUnarchiver.unarchiveObject(with: data) …Run Code Online (Sandbox Code Playgroud) 在通用应用程序中,我无法找到始终显示(并且仅)主控制器的方法,即使在横向旋转的iPhone 6 Plus上也是如此.
我想要实现的是看到UISplitViewController仅在iPad上运行而不在iPhone上运行,不知道是否可能
委托方法没有帮助:
func splitViewController(svc: UISplitViewController, shouldHideViewController vc: UIViewController, inOrientation orientation: UIInterfaceOrientation) -> Bool {
return false
}
func splitViewController(splitViewController: UISplitViewController, collapseSecondaryViewController secondaryViewController: UIViewController, ontoPrimaryViewController primaryViewController: UIViewController) -> Bool {
return true
}
Run Code Online (Sandbox Code Playgroud) 该数组包含实体的实例(核心数据的图形库):
let timCook = Entity(type: "Employees")
timCook["name"] = "Tim Cook"
timCook["company"] = "Apple"
Run Code Online (Sandbox Code Playgroud)
上面的代码不起作用,我认为 && 不是按多个值排序的正确方法......
self.storage.sortInPlace ({ ($0["company"] as? String) < ($1["company"] as? String)
&& ($0["name"] as? String) < ($1["name"] as? String)
})
Run Code Online (Sandbox Code Playgroud)
谢谢
iphone ×3
swift ×3
arrays ×2
ios ×2
boolean ×1
cosmicmind ×1
ipad ×1
objective-c ×1
uitableview ×1
xcode ×1