Giả sử tôi có phương pháp này:Gửi nil để CGPoint loại tham số
- (void)placeView:(UIView*)theView withCenterIn:(CGPoint)centerPoint;
Vì vậy, tôi vượt qua quan điểm và một điểm để te trung tâm của quan điểm.
Nhưng điều đó xảy ra là tôi không cần chỉ định trung tâm, chỉ là chế độ xem.
Việc chuyển "số không" dẫn đến lỗi.
Vui lòng đề xuất cách bỏ qua điểm trung tâm.
Hãy ghi nhớ rằng tôi cần phải sử dụng phương pháp đó như thế này:
- (void)placeView:(UIView*)theView withCenterIn:(CGPoint)centerPoint{
if(centerPoint == nil){//and I understand that it's a wrong comparison, as I cannot pass "nil" to CGPoint
//set a random center point
}
else{
//set that view to the specified point
}
}
Cảm ơn trước
Vì vậy, bạn đề nghị để tạo ra 2 phương pháp khác nhau, đúng không? –
@ SavaMazăre Quyền, cách tiếp cận này là sạch hơn cả về triển khai của bạn (không cần thiết 'if') và trên người gọi của bạn (không cần thiết' withCenterIn: nil'). – dasblinkenlight
Tôi hiểu, điều đó có ý nghĩa. Nhưng nếu tôi cần phải chỉ định 2 điểm khác nhau, ví dụ: placeView: witCenterIn: orOriginAt: và tôi đang kiểm tra xem tôi có trung tâm không, tôi làm việc với trung tâm, nếu không tôi làm việc với nguồn gốc. Tôi đã nghĩ đến việc truyền một mảng CGPoints, và kiểm tra nếu đối tượng ở chỉ mục: 0 là không, vì vậy tôi đã không lấy trung tâm -> Tôi sẽ sử dụng nguồn gốc (giả sử thực sự là một mảng với 2 đối tượng, một trong số đó là nil). –